Commit e1dd4032 authored by 未闻皂名's avatar 未闻皂名

2025/5/23 已知卡组顶的卡片的场合,抽卡阶段抽卡后自动洗切手卡

parent 60c907cd
Pipeline #36713 passed with stages
in 14 minutes and 12 seconds
......@@ -407,6 +407,7 @@ end
function RushDuel.SendToDeckTopOrBottom(target, effect, player, reason, top_desc, bottom_desc)
local sequence = Duel.SelectOption(player, top_desc, bottom_desc)
if sequence == 0 then
RD.NeedShuffleHand[player + 1] = true
return RushDuel.SendToDeckTop(target, effect, player, reason)
else
return RushDuel.SendToDeckBottom(target, effect, player, reason)
......
-- Rush Duel 规则
RushDuel = RushDuel or {}
-- 需要洗切手卡
RushDuel.NeedShuffleHand = {false, false}
-- 初始化
function RushDuel.Init()
RushDuel.InitRule()
......@@ -20,13 +23,29 @@ end
-- 初始化规则
function RushDuel.InitRule()
-- 禁用最左与最右列
RushDuel.CreateFieldGlobalEffect(false, EFFECT_DISABLE_FIELD, function(e, tp)
RushDuel.CreateFieldGlobalEffect(false, EFFECT_DISABLE_FIELD, function()
return 0x11711171
end)
-- 抽卡阶段, 抽卡至5张, 超过5张时改为抽1张
RushDuel.CreatePlayerTargetGlobalEffect(EFFECT_DRAW_COUNT, function(e)
RushDuel.CreatePlayerTargetGlobalEffect(EFFECT_DRAW_COUNT, function()
return math.max(1, 5 - Duel.GetFieldGroupCount(Duel.GetTurnPlayer(), LOCATION_HAND, 0))
end)
-- 抽卡阶段抽卡后, 洗切手卡
local e1 = Effect.GlobalEffect()
e1:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_DRAW)
e1:SetCondition(function ()
return Duel.GetCurrentPhase() == PHASE_DRAW
end)
e1:SetOperation(function()
local tp = Duel.GetTurnPlayer()
if RushDuel.NeedShuffleHand[tp + 1] then
Duel.ShuffleHand(tp)
end
RushDuel.NeedShuffleHand[1] = false
RushDuel.NeedShuffleHand[2] = false
end)
Duel.RegisterEffect(e1, 0)
-- 跳过准备阶段
RushDuel.CreatePlayerTargetGlobalEffect(EFFECT_SKIP_SP)
-- 召唤次数无限制
......
......@@ -29,8 +29,5 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
RD.AttachAtkDef(e,c,atk,0,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
end
Duel.SortDecktop(1-tp,1-tp,5)
for i=1,5 do
local tc=Duel.GetDecktopGroup(1-tp,1):GetFirst()
Duel.MoveSequence(tc,1)
end
RD.SendDeckTopToBottom(1-tp,5)
end
\ No newline at end of file
......@@ -25,4 +25,5 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
if tc:IsLevelAbove(5) then
RD.CanSelectAndSpecialSummon(aux.Stringid(m,1),cm.spfilter,tp,LOCATION_HAND,0,1,1,nil,e,POS_FACEUP)
end
RD.NeedShuffleHand[2-tp]=true
end
\ No newline at end of file
......@@ -26,4 +26,5 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
if lv>0 then
Duel.Damage(1-tp,lv*100,REASON_EFFECT)
end
RD.NeedShuffleHand[2-tp]=true
end
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment