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

2023/10/20 上级冲击调整

parent 6762f483
Pipeline #23798 passed with stages
in 7 minutes and 29 seconds
......@@ -47,30 +47,25 @@ function RushDuel.AttachTripleTribute(e, card, value, desc1, desc2, reset, force
end
-- 赋予: 使用对方的怪兽解放
function RushDuel.AttachOpponentTribute(e, card, flag, desc, reset, reset_player)
local tp = e:GetHandlerPlayer()
if Duel.IsPlayerAffectedByEffect(tp, EFFECT_CANNOT_SINGLE_TRIBUTE) and Duel.IsPlayerAffectedByEffect(tp, EFFECT_CANNOT_DOUBLE_TRIBUTE) then
return nil
else
card:RegisterFlagEffect(flag, reset, EFFECT_FLAG_CLIENT_HINT, 1, 0, desc)
local e1 = Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_ADD_EXTRA_TRIBUTE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE + EFFECT_FLAG_UNCOPYABLE)
e1:SetTargetRange(0, LOCATION_MZONE)
e1:SetLabelObject(card)
e1:SetTarget(function(e, c)
return c == e:GetLabelObject() and card:GetFlagEffect(flag) ~= 0
end)
e1:SetValue(POS_FACEUP_ATTACK + POS_FACEDOWN_DEFENSE)
local e2 = Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_GRANT)
e2:SetTarget(aux.TargetBoolFunction(Card.IsType, TYPE_MONSTER))
e2:SetTargetRange(LOCATION_HAND, 0)
e2:SetLabelObject(e1)
e2:SetReset(reset_player or reset)
Duel.RegisterEffect(e2, e:GetHandlerPlayer())
return e1, e2
end
card:RegisterFlagEffect(flag, reset, EFFECT_FLAG_CLIENT_HINT, 1, 0, desc)
local e1 = Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_ADD_EXTRA_TRIBUTE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE + EFFECT_FLAG_UNCOPYABLE)
e1:SetTargetRange(0, LOCATION_MZONE)
e1:SetLabelObject(card)
e1:SetTarget(function(e, c)
return c == e:GetLabelObject() and card:GetFlagEffect(flag) ~= 0
end)
e1:SetValue(POS_FACEUP_ATTACK + POS_FACEDOWN_DEFENSE)
local e2 = Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_GRANT)
e2:SetTarget(aux.TargetBoolFunction(Card.IsType, TYPE_MONSTER))
e2:SetTargetRange(LOCATION_HAND, 0)
e2:SetLabelObject(e1)
e2:SetReset(reset_player or reset)
Duel.RegisterEffect(e2, e:GetHandlerPlayer())
return e1, e2
end
-- 赋予: 效果战斗抗性
function RushDuel.AttachBattleIndes(e, card, value, desc, reset, forced)
......
......@@ -132,7 +132,10 @@ function RushDuel.IsCanAttachTripleTribute(card, value)
return RushDuel.CheckValueDoubleTribute(values, value)
end
-- 条件: 可否赋予效果 - 使用对方的怪兽解放
function RushDuel.IsCanAttachOpponentTribute(card, flag)
function RushDuel.IsCanAttachOpponentTribute(card, player, flag)
if Duel.IsPlayerAffectedByEffect(player, EFFECT_CANNOT_SINGLE_TRIBUTE) and Duel.IsPlayerAffectedByEffect(player, EFFECT_CANNOT_DOUBLE_TRIBUTE) then
return false
end
return not card:IsHasEffect(EFFECT_UNRELEASABLE_SUM) and card:GetFlagEffect(flag) == 0
end
-- 条件: 可否赋予效果 - 战斗破坏抗性
......
......@@ -17,7 +17,7 @@ function cm.filter1(c)
return c:IsLevelAbove(1) and c:IsAbleToGrave()
end
function cm.filter2(c,g)
return c:IsFaceup() and c:IsLevelAbove(1) and RD.IsCanAttachOpponentTribute(c,20244046)
return c:IsFaceup() and c:IsLevelAbove(1)
and g:CheckWithSumEqual(Card.GetLevel,c:GetLevel(),1,g:GetCount())
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
......@@ -35,7 +35,7 @@ function cm.activate(e,tp,eg,ep,ev,re,r,rp)
local tc=sg:GetFirst()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local mg=g:SelectWithSumEqual(tp,Card.GetLevel,tc:GetLevel(),1,g:GetCount())
if Duel.SendtoGrave(mg,REASON_EFFECT)~=0 then
if Duel.SendtoGrave(mg,REASON_EFFECT)~=0 and RD.IsCanAttachOpponentTribute(tc,tp,20244046) then
RD.AttachOpponentTribute(e,tc,20244046,aux.Stringid(m,2),RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,RESET_PHASE+PHASE_END)
end
end)
......
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