Index: script/c0.lua ================================================================== --- script/c0.lua +++ script/c0.lua @@ -96,52 +96,55 @@ k1:SetCode(EFFECT_USE_EXTRA_MZONE) k1:SetValue(k1) Duel.RegisterEffect(k1, 0) end do - local h1, h2, h3, h4 - --~ 印卡过多之示 - h1 = "印卡过多" - --~ 现之印卡数 - h2 = 1 - --~ 印手卡之上限 - h3 = 0 - --~ 总印卡之上限 - h4 = 0 - --~ 「调该效果」的效果 - --~ 「调该效果」的玩家 - s["_印卡"] = function(u1, u2) - local h5, h6 - --~ 印卡之卡编 - h5 = Duel.AnnounceCard(u2) + local k1, k2, k3, k4 + --~ 印卡过多时的提示 + k1 = "印卡过多" + --~ 现在的印卡数量 + k2 = 1 + --~ 手卡印卡数量的上限 + k3 = 0 + --~ 印卡总数量的上限 + k4 = 0 + --~ 「调用这个效果」的效果 + --~ 「调用这个效果」的玩家 + f["_印卡"] = function(o1, o2) + local k5, k6 + --~ 要印的卡的卡编 + k5 = Duel.AnnounceCard(o2) --~ 卡 - h6 = Duel.CreateToken(u2, h5) - if h2 <= h3 then - h2 = h2 + 1 - Duel.SendtoHand(h6, nil, REASON_RULE) - else - if h2 <= h4 then - h2 = h2 + 1 - Duel.SendtoDeck(h6, u2, 0, REASON_RULE) - else - Debug.ShowHint(h1) - u1:Reset() + k6 = Duel.CreateToken(o2, k5) + if k2 <= k3 then + k2 = k2 + 1 + Duel.SendtoHand(k6, nil, REASON_RULE) + else + if k2 <= k4 then + k2 = k2 + 1 + Duel.SendtoDeck(k6, o2, 0, REASON_RULE) + else + Debug.ShowHint(k1) + o1:Reset() end end end - s["印卡"] = function(u1, u2, u3) - local h5, h6 - h3 = u2 - h4 = u3 or u2 - Debug.ShowHint("点对方额外卡组,可印卡\n只能印手卡" .. h3 .. "张\n最多可印" .. h4 .. "张") - h5 = Effect.CreateEffect(u1) - h5:SetType(EFFECT_TYPE_IGNITION) - h5:SetProperty(EFFECT_FLAG_BOTH_SIDE + EFFECT_FLAG_UNCOPYABLE + EFFECT_FLAG_CANNOT_NEGATE + EFFECT_FLAG_CANNOT_DISABLE) - h5:SetTarget(s["不被连锁"]) - h5:SetRange(LOCATION_EXTRA) - h5:SetOperation(s["_印卡"]) - u1:RegisterEffect(h5) + --~ 印卡的启动源 + --~ 手卡印卡数量的上限 + --~ 印卡总数量的上限 + f["印卡"] = function(o1, o2, o3) + local k5 + k3 = o2 + k4 = o3 or o2 + Debug.ShowHint("点对方额外卡组,可印卡\n只能印手卡 " .. k3 .. " 张\n最多可印 " .. k4 .. " 张") + k5 = Effect.CreateEffect(o1) + k5:SetType(EFFECT_TYPE_IGNITION) + 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 s["开局示"] = function() local h1, h2, h3 --~ 此局效卡之数