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