Commit 937b8467 authored by 未闻皂名's avatar 未闻皂名

2022/5/5 根据调整修改赋予效果的条件

parent ee79fcfd
Pipeline #12475 passed with stages
in 4 minutes and 14 seconds
......@@ -117,10 +117,22 @@ function RushDuel.IsCanAttachPierce(card)
end
-- 条件: 可否赋予效果 - 多次攻击
function RushDuel.IsCanAttachExtraAttack(card, value)
local values = RushDuel.GetEffectValues(card, EFFECT_EXTRA_ATTACK)
for _, val in ipairs(values) do
if val >= value then
return false
end
end
return true
end
-- 条件: 可否赋予效果 - 多次攻击 (怪兽限定)
function RushDuel.IsCanAttachExtraAttackMonster(card, value)
local values = RushDuel.GetEffectValues(card, EFFECT_EXTRA_ATTACK_MONSTER)
for _, val in ipairs(values) do
if val >= value then
return false
end
end
return true
end
-- 条件: 可否赋予效果 - 全体攻击
......@@ -135,7 +147,7 @@ function RushDuel.IsCanAttachDoubleTribute(card, value)
local values = RushDuel.GetEffectValues(card, EFFECT_DOUBLE_TRIBUTE)
return RushDuel._private_check_effect_values(value, values, function(val)
if val == 1 then
return {false, RACE_ALL, ATTRIBUTE_ALL}
return {true, RACE_ALL, ATTRIBUTE_ALL}
else
return val(nil)
end
......@@ -143,6 +155,12 @@ function RushDuel.IsCanAttachDoubleTribute(card, value)
end
-- 条件: 可否赋予效果 - 战斗破坏抗性
function RushDuel.IsCanAttachBattleIndes(card, value)
local values = RushDuel.GetEffectValues(card, EFFECT_INDESTRUCTABLE_BATTLE)
for _, val in ipairs(values) do
if val == 1 then
return false
end
end
return true
end
-- 条件: 可否赋予效果 - 效果破坏抗性
......@@ -150,7 +168,7 @@ function RushDuel.IsCanAttachEffectIndes(card, value)
local values = RushDuel.GetEffectValues(card, EFFECT_INDESTRUCTABLE_EFFECT)
return RushDuel._private_check_effect_values(value, values, function(val)
if val == 1 then
return {false, TYPE_MONSTER + TYPE_SPELL + TYPE_TRAP, TYPE_MONSTER + TYPE_SPELL + TYPE_TRAP}
return {true, TYPE_MONSTER + TYPE_SPELL + TYPE_TRAP, TYPE_MONSTER + TYPE_SPELL + TYPE_TRAP}
else
return val(nil)
end
......
......@@ -26,4 +26,4 @@ end
function cm.target(e,c)
return c:IsFaceup() and c:IsAttribute(ATTRIBUTE_LIGHT) and c:IsRace(RACE_FIEND)
end
cm.indval=RD.ValueEffectIndesType(TYPE_TRAP,TYPE_TRAP)
\ No newline at end of file
cm.indval=RD.ValueEffectIndesType(TYPE_TRAP,TYPE_TRAP,true)
\ No newline at end of file
......@@ -42,4 +42,4 @@ end
function cm.target(e,c)
return c:IsFaceup() and c:IsLevel(9) and c:IsAttribute(ATTRIBUTE_LIGHT)
end
cm.indval=RD.ValueEffectIndesType(TYPE_TRAP,TYPE_TRAP)
\ No newline at end of file
cm.indval=RD.ValueEffectIndesType(TYPE_TRAP,TYPE_TRAP,true)
\ No newline at end of file
......@@ -39,4 +39,4 @@ end
function cm.target(e,c)
return c:IsFaceup() and c:IsLevel(10) and c:IsRace(RACE_MACHINE)
end
cm.indval=RD.ValueEffectIndesType(TYPE_SPELL+TYPE_TRAP,TYPE_SPELL+TYPE_TRAP)
\ No newline at end of file
cm.indval=RD.ValueEffectIndesType(TYPE_SPELL+TYPE_TRAP,TYPE_SPELL+TYPE_TRAP,true)
\ No newline at end of file
......@@ -31,4 +31,4 @@ cm.cost=RD.CostSendDeckTopToGrave(2)
function cm.target(e,c)
return c:IsFaceup() and c:IsRace(RACE_DINOSAUR)
end
cm.indval=RD.ValueEffectIndesType(TYPE_MONSTER,TYPE_MONSTER)
\ No newline at end of file
cm.indval=RD.ValueEffectIndesType(TYPE_MONSTER,TYPE_MONSTER,true)
\ No newline at end of file
local m=120217021
local list={120105001}
local cm=_G["c"..m]
cm.name="七星道保护"
function cm.initial_effect(c)
......@@ -22,6 +23,9 @@ function cm.filter(c)
return c:IsFaceup() and c:IsAttribute(ATTRIBUTE_DARK) and c:IsRace(RACE_SPELLCASTER)
and RD.IsCanAttachEffectIndes(c,cm.indval)
end
function cm.exfilter(c)
return c:IsCode(list[1])
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(cm.confilter,1,nil,1-tp)
end
......@@ -35,7 +39,8 @@ function cm.activate(e,tp,eg,ep,ev,re,r,rp)
RD.AttachEffectIndes(e,tc,cm.indval,aux.Stringid(m,1),RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
end)
local tc=eg:GetFirst()
if tc:IsRelateToEffect(e)
if Duel.IsExistingMatchingCard(cm.exfilter,tp,LOCATION_GRAVE,0,1,nil)
and tc:IsRelateToEffect(e)
and not tc:IsPosition(POS_FACEUP_DEFENSE)
and RD.IsCanChangePosition(tc)
and Duel.SelectYesNo(tp,aux.Stringid(m,2)) then
......
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