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

2024/12/17 调整更新

parent fd9417d4
Pipeline #31845 passed with stages
in 8 minutes and 50 seconds
......@@ -200,9 +200,9 @@ function RushDuel.CreateOnlySoleAttackEffect(e, code, player, s_range, o_range,
e2:SetTarget(function(e, c)
return c:GetFieldID() ~= e:GetLabel()
end)
e1:SetLabelObject(e2)
e2:SetReset(reset)
Duel.RegisterEffect(e2, player)
e1:SetLabelObject(e2)
end
-- 创建限制: 只能用1只怪兽进行直接攻击
function RushDuel.CreateOnlySoleDirectAttackEffect(e, code, player, s_range, o_range, reset)
......@@ -219,23 +219,35 @@ function RushDuel.CreateOnlySoleDirectAttackEffect(e, code, player, s_range, o_r
e1:SetReset(reset)
Duel.RegisterEffect(e1, player)
local e2 = Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_CANNOT_DIRECT_ATTACK)
e2:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e2:SetTargetRange(s_range, o_range)
e2:SetCondition(function(e)
e2:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_ATTACK_DISABLED)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetOperation(function(e, tp, eg, ep, ev, re, r, rp)
if Duel.GetAttackTarget() == nil and Duel.GetFlagEffect(tp, code) ~= 0 then
Duel.ResetFlagEffect(tp, code)
end
end)
e2:SetReset(reset)
Duel.RegisterEffect(e2, player)
local e3 = Effect.CreateEffect(e:GetHandler())
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_CANNOT_DIRECT_ATTACK)
e3:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e3:SetTargetRange(s_range, o_range)
e3:SetCondition(function(e)
return Duel.GetFlagEffect(e:GetHandlerPlayer(), code) ~= 0
end)
e2:SetTarget(function(e, c)
e3:SetTarget(function(e, c)
return c:GetFieldID() ~= e:GetLabel()
end)
e1:SetLabelObject(e2)
e2:SetReset(reset)
Duel.RegisterEffect(e2, player)
e3:SetReset(reset)
Duel.RegisterEffect(e3, player)
e1:SetLabelObject(e3)
end
-- 创建限制: 只能用这张卡进行攻击
function RushDuel.CreateOnlyThisAttackEffect(e, code, player, s_range, o_range, reset)
local c = e:GetHandler()
local flag = c:GetFieldID()
local e1 = Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_ATTACK_ANNOUNCE)
......@@ -243,11 +255,12 @@ function RushDuel.CreateOnlyThisAttackEffect(e, code, player, s_range, o_range,
e1:SetLabelObject(c)
e1:SetTargetRange(s_range, o_range)
e1:SetTarget(function(e, c)
return not (c == e:GetLabelObject() and c:GetFlagEffect(code) ~= 0)
return not (c == e:GetLabelObject() and c:GetFlagEffect(code) ~= 0 and c:GetFlagEffect(flag) ~= 0)
end)
e1:SetReset(reset)
Duel.RegisterEffect(e1, player)
c:RegisterFlagEffect(code, RESET_EVENT + RESETS_STANDARD - RESET_TURN_SET + reset, 0, 1)
c:RegisterFlagEffect(flag, RESET_EVENT + RESETS_STANDARD - RESET_TURN_SET + reset, 0, 1)
end
-- 创建限制: 不能发动卡的效果
function RushDuel.CreateCannotActivateMix(e, desc, player, s_range, o_range, reset, value)
......
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