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

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

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