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

2023/10/17 新增:KP15新卡,标记所有的【永续效果】

parent fbbc4c6d
Pipeline #23766 failed with stages
in 7 minutes and 27 seconds
No preview for this file type
......@@ -38,6 +38,10 @@ end
function RushDuel.AttachDoubleTribute(e, card, value, desc, reset, forced)
return RushDuel.CreateSingleEffect(e, desc, card, EFFECT_DOUBLE_TRIBUTE, value, reset, forced)
end
-- 赋予: 三重解放
function RushDuel.AttachTripleTribute(e, card, value, desc, reset, forced)
return RushDuel.CreateSingleEffect(e, desc, card, EFFECT_TRIPLE_TRIBUTE, value, reset, forced)
end
-- 赋予: 使用对方的怪兽解放
function RushDuel.AttachOpponentTribute(e, card, flag, desc, reset, reset_player)
local tp = e:GetHandlerPlayer()
......@@ -140,6 +144,10 @@ end
function RushDuel.AttachCannotTrigger(e, card, desc, reset, forced)
return RushDuel.CreateSingleEffect(e, desc, card, EFFECT_CANNOT_TRIGGER, nil, reset, forced)
end
-- 赋予: 永续效果无效化
function RushDuel.AttachDisableContinuous(e, card, desc, reset, forced)
return RushDuel.CreateSingleEffect(e, desc, card, EFFECT_DISABLE, nil, reset, forced)
end
-- 赋予: 变更原本攻守
function RushDuel.SetBaseAtkDef(e, card, atk, def, reset, forced)
if atk ~= nil then
......
......@@ -435,6 +435,20 @@ function RushDuel.AddCodeList(card, ...)
end
end
end
-- 添加永续效果列表
function RushDuel.AddContinuousEffect(c, ...)
if c:IsStatus(STATUS_COPYING_EFFECT) then
return
end
if c.continuous_effect == nil then
local mt = getmetatable(c)
mt.continuous_effect = {...}
else
for _, e in ipairs {...} do
table.insert(c.continuous_effect, e)
end
end
end
-- 获取效果值列表
function RushDuel.GetEffectValues(card, code)
......
......@@ -120,6 +120,17 @@ function RushDuel.IsCanAttachDoubleTribute(card, value)
local values = RushDuel.GetEffectValues(card, EFFECT_DOUBLE_TRIBUTE)
return RushDuel.CheckValueDoubleTribute(values, value)
end
-- 条件: 可否赋予效果 - 三重解放
function RushDuel.IsCanAttachTripleTribute(card, value)
if Duel.IsPlayerAffectedByEffect(card:GetControler(), EFFECT_CANNOT_DOUBLE_TRIBUTE) then
return false
end
if card:IsHasEffect(EFFECT_UNRELEASABLE_SUM) then
return false
end
local values = RushDuel.GetEffectValues(card, EFFECT_TRIPLE_TRIBUTE)
return RushDuel.CheckValueDoubleTribute(values, value)
end
-- 条件: 可否赋予效果 - 使用对方的怪兽解放
function RushDuel.IsCanAttachOpponentTribute(card, flag)
return card:GetFlagEffect(flag) == 0
......@@ -140,6 +151,16 @@ function RushDuel.IsCanAttachEffectIndes(card, player, value)
local values = RushDuel.GetEffectValues(card, EFFECT_INDESTRUCTABLE_EFFECT)
return RushDuel.CheckValueEffectIndesType(swap, values, value)
end
-- 条件: 可否赋予效果 - 永续效果无效化
function RushDuel.IsCanAttachDisableContinuous(card)
local has_effect = card.continuous_effect
if RushDuel.IsMaximumMode(card) then
card:GetOverlayGroup():ForEach(function(tc)
has_effect = has_effect or tc.continuous_effect
end)
end
return has_effect and not card:IsHasEffect(EFFECT_DISABLE)
end
-- 条件: 玩家是否能够使用特定种族进行攻击
function RushDuel.IsPlayerCanUseRaceAttack(player, race)
......
This diff is collapsed.
......@@ -33,7 +33,8 @@ function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local p=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER)
local ct=RD.Draw()
local d=Duel.GetFieldGroupCount(tp,0,LOCATION_MZONE)
local ct=Duel.Draw(p,d,REASON_EFFECT)
if ct==0 then return end
RD.SelectAndDoAction(HINTMSG_TODECK,Card.IsAbleToDeck,p,LOCATION_HAND,0,ct,ct,nil,function(g)
Duel.BreakEffect()
......
......@@ -15,6 +15,8 @@ function cm.initial_effect(c)
e1:SetCondition(RD.MaximumMode)
e1:SetValue(cm.indval)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
end
--Indes
cm.indval=RD.ValueEffectIndesType(0,TYPE_TRAP)
\ No newline at end of file
......@@ -15,6 +15,8 @@ function cm.initial_effect(c)
e1:SetCondition(RD.MaximumMode)
e1:SetValue(cm.indval)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
end
--Indes
cm.indval=RD.ValueEffectIndesType(0,TYPE_TRAP)
\ No newline at end of file
......@@ -9,6 +9,8 @@ function cm.initial_effect(c)
e1:SetCondition(RD.MaximumMode)
e1:SetValue(cm.indes)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
end
--Indes
function cm.indes(e,c)
......
......@@ -11,6 +11,8 @@ function cm.initial_effect(c)
e1:SetCondition(RD.MaximumMode)
e1:SetValue(cm.indval)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
end
--Indes
cm.indval=RD.ValueEffectIndesType(0,TYPE_TRAP)
\ No newline at end of file
......@@ -34,6 +34,8 @@ function cm.initial_effect(c)
e4:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE)
e4:SetTarget(cm.distg)
c:RegisterEffect(e4)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1,e2,e3,e4)
end
--Disable
function cm.distg(e,c)
......
......@@ -9,6 +9,8 @@ function cm.initial_effect(c)
e1:SetCondition(RD.MaximumMode)
e1:SetValue(cm.atkval)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
end
--Atk Up
function cm.atkval(e,c)
......
......@@ -15,6 +15,8 @@ function cm.initial_effect(c)
e1:SetCondition(RD.MaximumMode)
e1:SetValue(cm.indval)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
end
--Indes
cm.indval=RD.ValueEffectIndesType(0,TYPE_TRAP)
\ No newline at end of file
......@@ -10,6 +10,8 @@ function cm.initial_effect(c)
e1:SetRange(LOCATION_MZONE)
e1:SetValue(cm.atkval)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
end
--Atk Up
function cm.filter(c)
......
......@@ -15,6 +15,8 @@ function cm.initial_effect(c)
e1:SetCondition(RD.MaximumMode)
e1:SetValue(cm.indval)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
end
--Indes
cm.indval=RD.ValueEffectIndesType(0,TYPE_TRAP)
\ No newline at end of file
......@@ -12,6 +12,8 @@ function cm.initial_effect(c)
e1:SetRange(LOCATION_MZONE)
e1:SetValue(cm.atkval)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
end
--Atk Up
function cm.filter(c)
......
......@@ -10,6 +10,8 @@ function cm.initial_effect(c)
e1:SetRange(LOCATION_MZONE)
e1:SetValue(cm.atkval)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
end
--Atk Up
function cm.atkval(e,c)
......
......@@ -22,6 +22,8 @@ function cm.initial_effect(c)
e2:SetProperty(EFFECT_FLAG_CLIENT_HINT)
e2:SetCondition(cm.prccon)
c:RegisterEffect(e2)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1,e2)
end
--Atk Up
function cm.filter(c)
......
......@@ -15,6 +15,8 @@ function cm.initial_effect(c)
e1:SetCondition(RD.MaximumMode)
e1:SetValue(cm.indval)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
end
--Indes
cm.indval=RD.ValueEffectIndesType(0,TYPE_TRAP)
\ No newline at end of file
......@@ -12,6 +12,8 @@ function cm.initial_effect(c)
e1:SetCondition(cm.condition)
e1:SetValue(cm.aclimit)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
end
function cm.condition(e)
local ph=Duel.GetCurrentPhase()
......
......@@ -17,6 +17,8 @@ function cm.initial_effect(c)
e2:SetProperty(EFFECT_FLAG_CLIENT_HINT)
e2:SetCondition(cm.prccon)
c:RegisterEffect(e2)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1,e2)
end
--Atk Up
function cm.atkval(e,c)
......
......@@ -15,6 +15,8 @@ function cm.initial_effect(c)
e1:SetCondition(RD.MaximumMode)
e1:SetValue(cm.indval)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
end
--Indes
cm.indval=RD.ValueEffectIndesType(0,TYPE_TRAP)
\ No newline at end of file
......@@ -13,7 +13,8 @@ function cm.initial_effect(c)
e1:SetCondition(cm.actcon)
e1:SetValue(cm.actlimit)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
--Special Summon Check
if not cm.global_check then
cm.global_check=true
......
......@@ -23,6 +23,8 @@ function cm.initial_effect(c)
e2:SetTarget(cm.target)
e2:SetValue(1)
c:RegisterEffect(e2)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1,e2)
end
--Atk Up
function cm.filter(c)
......
......@@ -10,6 +10,8 @@ function cm.initial_effect(c)
e1:SetRange(LOCATION_MZONE)
e1:SetValue(cm.atkval)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
end
--Atk Up
function cm.filter(c)
......
......@@ -10,6 +10,8 @@ function cm.initial_effect(c)
e1:SetRange(LOCATION_MZONE)
e1:SetValue(cm.atkval)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
end
--Atk Up
function cm.filter(c)
......
......@@ -11,6 +11,8 @@ function cm.initial_effect(c)
e1:SetTargetRange(1,1)
e1:SetTarget(cm.sumlimit)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
end
--Cannot Special Summon
function cm.sumlimit(e,c,sump,sumtype,sumpos,targetp,se)
......
......@@ -12,6 +12,8 @@ function cm.initial_effect(c)
e1:SetCondition(cm.condition)
e1:SetValue(cm.aclimit)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
end
function cm.condition(e)
local ph=Duel.GetCurrentPhase()
......
......@@ -8,6 +8,8 @@ function cm.initial_effect(c)
e1:SetCode(EFFECT_DOUBLE_TRIBUTE)
e1:SetValue(cm.trival)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
end
--Double Tribute
cm.trival=RD.ValueDoubleTributeAttrRace(ATTRIBUTE_FIRE,nil)
\ No newline at end of file
......@@ -11,6 +11,8 @@ function cm.initial_effect(c)
e1:SetTargetRange(1,1)
e1:SetTarget(cm.sumlimit)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
end
--Cannot Special Summon
function cm.sumlimit(e,c,sump,sumtype,sumpos,targetp)
......
......@@ -11,6 +11,8 @@ function cm.initial_effect(c)
e1:SetCondition(cm.condition)
e1:SetValue(700)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
end
--Atk Up
function cm.filter(c)
......
......@@ -20,6 +20,8 @@ function cm.initial_effect(c)
e2:SetCondition(cm.condition)
e2:SetValue(cm.indval)
c:RegisterEffect(e2)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1,e2)
end
--Indes
function cm.filter(c)
......
......@@ -10,6 +10,8 @@ function cm.initial_effect(c)
e1:SetTargetRange(0,LOCATION_MZONE)
e1:SetValue(cm.target)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
end
--Cannot Be Battle Target
function cm.target(e,c)
......
......@@ -15,6 +15,8 @@ function cm.initial_effect(c)
e1:SetCondition(RD.MaximumMode)
e1:SetValue(cm.indval)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
end
--Indes
cm.indval=RD.ValueEffectIndesType(0,TYPE_TRAP)
\ No newline at end of file
......@@ -16,6 +16,8 @@ function cm.initial_effect(c)
e2:SetCondition(RD.MaximumMode)
e2:SetValue(cm.indval2)
c:RegisterEffect(e2)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1,e2)
end
--Indes
cm.indval1=RD.ValueEffectIndesType(0,TYPE_TRAP)
......
......@@ -25,6 +25,8 @@ function cm.initial_effect(c)
e3:SetCondition(RD.MaximumMode)
e3:SetTarget(cm.setlimit)
c:RegisterEffect(e3)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1,e2,e3)
end
--Cannot Special Summon
function cm.sumlimit(e,c,sump,sumtype,sumpos,targetp)
......
......@@ -9,6 +9,8 @@ function cm.initial_effect(c)
e1:SetCondition(RD.MaximumMode)
e1:SetValue(cm.indes)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
end
--Indes
function cm.indes(e,c)
......
......@@ -24,6 +24,8 @@ function cm.initial_effect(c)
e2:SetCondition(RD.MaximumMode)
e2:SetValue(cm.indval)
c:RegisterEffect(e2)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1,e2)
end
--Indes
cm.indval=RD.ValueEffectIndesType(0,TYPE_TRAP)
\ No newline at end of file
......@@ -11,4 +11,6 @@ function cm.initial_effect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_PIERCE)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
end
\ No newline at end of file
......@@ -12,4 +12,6 @@ function cm.initial_effect(c)
e1:SetCode(EFFECT_EXTRA_ATTACK)
e1:SetValue(1)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
end
\ No newline at end of file
......@@ -24,6 +24,8 @@ function cm.initial_effect(c)
e2:SetCondition(cm.condition)
e2:SetValue(cm.indval)
c:RegisterEffect(e2)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1,e2)
end
--Summon Procedure
function cm.matfilter(c,tp)
......
......@@ -4,5 +4,5 @@ local cm=_G["c"..m]
cm.name="原始电子龙"
function cm.initial_effect(c)
--Change Code
RD.EnableChangeCode(c,list[1])
RushDuel.AddContinuousEffect(c,RD.EnableChangeCode(c,list[1]))
end
......@@ -16,6 +16,8 @@ function cm.initial_effect(c)
local e2=e1:Clone()
e2:SetCode(EFFECT_UPDATE_DEFENSE)
c:RegisterEffect(e2)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1,e2)
end
--Special Summon Procedure
function cm.spconfilter(c)
......
......@@ -12,6 +12,8 @@ function cm.initial_effect(c)
e1:SetTargetRange(LOCATION_MZONE,0)
e1:SetTarget(cm.target)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
end
--Special Summon Procedure
function cm.spconfilter(c)
......
......@@ -11,6 +11,8 @@ function cm.initial_effect(c)
e1:SetTargetRange(1,0)
e1:SetValue(cm.drawval)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
end
--Draw Count
function cm.drawval(e)
......
......@@ -11,6 +11,8 @@ function cm.initial_effect(c)
e1:SetTarget(cm.target)
e1:SetValue(cm.indval)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
end
--Indes
cm.indval=RD.ValueEffectIndesType(0,TYPE_TRAP)
......
......@@ -4,7 +4,7 @@ cm.name="兽机界王 滑翔机狐"
function cm.initial_effect(c)
--Destroy
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,1))
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_DESTROY)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE)
......
......@@ -8,6 +8,8 @@ function cm.initial_effect(c)
e1:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
e1:SetValue(cm.indes)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
end
--Indes
function cm.indes(e,c)
......
......@@ -12,6 +12,8 @@ function cm.initial_effect(c)
e1:SetRange(LOCATION_MZONE)
e1:SetValue(cm.atkval)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
end
--Atk Up
function cm.filter(c)
......
......@@ -7,7 +7,7 @@ function cm.initial_effect(c)
local mat=RD.CreateAdvanceCount(c,3)
--Destroy
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetDescription(aux.Stringid(m,1))
e1:SetCategory(CATEGORY_DESTROY)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE)
......
......@@ -10,6 +10,8 @@ function cm.initial_effect(c)
e1:SetRange(LOCATION_MZONE)
e1:SetValue(cm.atkval)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
end
--Atk Up
function cm.filter(c)
......
......@@ -15,6 +15,8 @@ function cm.initial_effect(c)
e1:SetTargetRange(0,1)
e1:SetValue(cm.limit)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
end
--Cannot Activate
function cm.limit(e,re,tp)
......
......@@ -15,6 +15,8 @@ function cm.initial_effect(c)
e1:SetTarget(cm.target)
e1:SetValue(cm.indval)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
end
--Indes
cm.indval=RD.ValueEffectIndesType(0,TYPE_MONSTER+TYPE_SPELL+TYPE_TRAP)
......
......@@ -17,6 +17,8 @@ function cm.initial_effect(c)
e1:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
e1:SetValue(cm.indes)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
end
--Fusion Material
function cm.material(c)
......
......@@ -5,18 +5,33 @@ function cm.initial_effect(c)
--Atk Up
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_MATERIAL_CHECK)
e1:SetValue(cm.check)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE)
e1:SetValue(cm.atkval)
c:RegisterEffect(e1)
--Summon Only
--Material Check
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_SUMMON_COST)
e2:SetOperation(cm.facechk)
e2:SetCode(EFFECT_MATERIAL_CHECK)
e2:SetLabelObject(e1)
e2:SetValue(cm.check)
c:RegisterEffect(e2)
--Summon Only
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_SUMMON_COST)
e3:SetOperation(cm.facechk)
e3:SetLabelObject(e2)
c:RegisterEffect(e3)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
end
--Atk Up
--Summon Only
function cm.facechk(e,tp,eg,ep,ev,re,r,rp)
e:GetLabelObject():SetLabel(1)
end
--Material Check
function cm.check(e,c)
local atk=0
local g=c:GetMaterial()
......@@ -27,10 +42,12 @@ function cm.check(e,c)
end
if atk>0 and e:GetLabel()==1 then
e:SetLabel(0)
RD.AttachAtkDef(e,c,atk,0,RESET_EVENT+0xff0000)
e:GetLabelObject():SetLabel(atk)
else
e:GetLabelObject():SetLabel(0)
end
end
--Summon Only
function cm.facechk(e,tp,eg,ep,ev,re,r,rp)
e:GetLabelObject():SetLabel(1)
--Atk Up
function cm.atkval(e,c)
if c:IsSummonType(SUMMON_TYPE_ADVANCE) then return e:GetLabel() else return 0 end
end
\ No newline at end of file
......@@ -18,6 +18,8 @@ function cm.initial_effect(c)
e2:SetRange(LOCATION_MZONE)
e2:SetValue(cm.atkval)
c:RegisterEffect(e2)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1,e2)
end
--Atk Up
function cm.filter(c)
......
......@@ -16,4 +16,6 @@ function cm.initial_effect(c)
e1:SetRange(LOCATION_MZONE)
e1:SetTargetRange(1,1)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
end
\ No newline at end of file
......@@ -5,28 +5,45 @@ function cm.initial_effect(c)
--Atk Up
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_MATERIAL_CHECK)
e1:SetValue(cm.check)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE)
e1:SetValue(cm.atkval)
c:RegisterEffect(e1)
--Summon Only
--Material Check
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_SUMMON_COST)
e2:SetOperation(cm.facechk)
e2:SetCode(EFFECT_MATERIAL_CHECK)
e2:SetLabelObject(e1)
e2:SetValue(cm.check)
c:RegisterEffect(e2)
--Summon Only
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_SUMMON_COST)
e3:SetOperation(cm.facechk)
e3:SetLabelObject(e2)
c:RegisterEffect(e3)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
end
--Atk Up
--Summon Only
function cm.facechk(e,tp,eg,ep,ev,re,r,rp)
e:GetLabelObject():SetLabel(1)
end
--Material Check
function cm.check(e,c)
local tc=c:GetMaterial():GetFirst()
local atk=0
if tc then atk=RD.GetBaseAttackOnTribute(tc)*2 end
if atk>0 and e:GetLabel()==1 then
e:SetLabel(0)
RD.AttachAtkDef(e,c,atk,0,RESET_EVENT+0xff0000)
e:GetLabelObject():SetLabel(atk)
else
e:GetLabelObject():SetLabel(0)
end
end
--Summon Only
function cm.facechk(e,tp,eg,ep,ev,re,r,rp)
e:GetLabelObject():SetLabel(1)
--Atk Up
function cm.atkval(e,c)
if c:IsSummonType(SUMMON_TYPE_ADVANCE) then return e:GetLabel() else return 0 end
end
\ No newline at end of file
......@@ -17,7 +17,7 @@ function cm.initial_effect(c)
end
--Discard Deck
function cm.spfilter(c,e,tp)
return c:IsCode(list[1]) and RD.IsCanBeSpecialSummoned(c,e,tp,POS_FACEUP)
return c:IsCode(list[1]) and c:IsLocation(LOCATION_GRAVE) and RD.IsCanBeSpecialSummoned(c,e,tp,POS_FACEUP)
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return RD.IsSummonTurn(e:GetHandler()) and Duel.GetFieldGroupCount(tp,0,LOCATION_MZONE)>0
......
......@@ -16,6 +16,8 @@ function cm.initial_effect(c)
e2:SetCode(EFFECT_PIERCE)
e2:SetCondition(cm.prccon)
c:RegisterEffect(e2)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1,e2)
end
--Atk Up
function cm.atkval(e,c)
......
......@@ -15,6 +15,8 @@ function cm.initial_effect(c)
e1:SetCondition(RD.MaximumMode)
e1:SetValue(cm.indval)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
end
--Indes
cm.indval=RD.ValueEffectIndesType(0,TYPE_TRAP)
\ No newline at end of file
......@@ -13,7 +13,8 @@ function cm.initial_effect(c)
e1:SetCondition(cm.actcon)
e1:SetValue(cm.actlimit)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
--Special Summon Check
if not cm.global_check then
cm.global_check=true
......
......@@ -22,6 +22,8 @@ function cm.initial_effect(c)
e2:SetCondition(cm.indcon)
e2:SetValue(cm.indval)
c:RegisterEffect(e2)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1,e2)
end
--Cannot Activate
function cm.confilter(c)
......
......@@ -25,6 +25,8 @@ function cm.initial_effect(c)
e3:SetCondition(cm.setcon2)
e3:SetTarget(cm.setlimit)
c:RegisterEffect(e3)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1,e2,e3)
end
--Cannot Set Monster
function cm.confilter1(c)
......
......@@ -22,6 +22,8 @@ function cm.initial_effect(c)
e2:SetCondition(cm.actcon)
e2:SetOperation(cm.actlimit)
c:RegisterEffect(e2)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1,e2)
end
--Indes
cm.indval=RD.ValueEffectIndesType(0,TYPE_SPELL+TYPE_TRAP+TYPE_MONSTER)
......
......@@ -20,6 +20,8 @@ function cm.initial_effect(c)
e2:SetCondition(cm.indcon)
e2:SetValue(1)
c:RegisterEffect(e2)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1,e2)
end
--Atk Up
function cm.filter(c)
......
......@@ -15,6 +15,8 @@ function cm.initial_effect(c)
local e2=e1:Clone()
e2:SetCode(EFFECT_NO_EFFECT_DAMAGE)
c:RegisterEffect(e2)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1,e2)
end
--Damage Reduce
function cm.damcon(e)
......
......@@ -36,7 +36,7 @@ function cm.activate(e,tp,eg,ep,ev,re,r,rp)
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
RD.AttachOpponentTribute(e,tc,20244046,aux.Stringid(m,1),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
\ No newline at end of file
......@@ -13,6 +13,8 @@ function cm.initial_effect(c)
e1:SetCondition(cm.indcon)
e1:SetValue(cm.indval)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
end
--Special Summon Procedure
function cm.spfilter(c)
......
......@@ -10,6 +10,8 @@ function cm.initial_effect(c)
e1:SetRange(LOCATION_MZONE)
e1:SetValue(cm.atkval)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
end
--Atk Up
function cm.filter(c)
......
......@@ -4,7 +4,7 @@ local cm=_G["c"..m]
cm.name="鹰身三姐妹[L]"
function cm.initial_effect(c)
--Change Code
RD.EnableChangeCode(c,list[1],LOCATION_MZONE+LOCATION_GRAVE)
RD.EnableChangeCode(c,list[1],LOCATION_GRAVE)
--Indes (Normal)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
......@@ -28,6 +28,8 @@ function cm.initial_effect(c)
e3:SetCondition(RD.MaximumMode)
e3:SetValue(5)
c:RegisterEffect(e3)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1,e2,e3,RD.EnableChangeCode(c,list[1],LOCATION_MZONE))
end
--Indes
cm.indval=RD.ValueEffectIndesType(0,TYPE_TRAP)
\ No newline at end of file
......@@ -4,7 +4,7 @@ local cm=_G["c"..m]
cm.name="鹰身三姐妹[R]"
function cm.initial_effect(c)
--Change Code
RD.EnableChangeCode(c,list[1],LOCATION_MZONE+LOCATION_GRAVE)
RD.EnableChangeCode(c,list[1],LOCATION_GRAVE)
--Indes (Normal)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
......@@ -26,6 +26,8 @@ function cm.initial_effect(c)
e3:SetCondition(RD.MaximumMode)
e3:SetValue(2)
c:RegisterEffect(e3)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1,e2,e3,RD.EnableChangeCode(c,list[1],LOCATION_MZONE))
end
--Indes
cm.indval=RD.ValueEffectIndesType(0,TYPE_MONSTER)
\ No newline at end of file
......@@ -4,7 +4,7 @@ local cm=_G["c"..m]
cm.name="鹰身女郎1"
function cm.initial_effect(c)
--Change Code
RD.EnableChangeCode(c,list[1],LOCATION_MZONE+LOCATION_GRAVE)
RD.EnableChangeCode(c,list[1],LOCATION_GRAVE)
--Atk Up
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
......@@ -14,6 +14,8 @@ function cm.initial_effect(c)
e1:SetTarget(cm.uptg)
e1:SetValue(300)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1,RD.EnableChangeCode(c,list[1],LOCATION_MZONE))
end
--Atk Up
function cm.uptg(e,c)
......
......@@ -12,6 +12,8 @@ function cm.initial_effect(c)
e1:SetRange(LOCATION_MZONE)
e1:SetValue(cm.atkval)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
end
--Atk Up
function cm.filter(c,code)
......
......@@ -24,6 +24,8 @@ function cm.initial_effect(c)
e2:SetCondition(cm.indcon)
e2:SetValue(cm.indval)
c:RegisterEffect(e2)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1,e2)
end
--Indes
function cm.filter(c)
......
......@@ -19,6 +19,8 @@ function cm.initial_effect(c)
e2:SetCondition(cm.indcon)
e2:SetValue(cm.indval)
c:RegisterEffect(e2)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1,e2)
end
--Atk Up
function cm.filter(c)
......
......@@ -8,6 +8,8 @@ function cm.initial_effect(c)
e1:SetCode(EFFECT_DOUBLE_TRIBUTE)
e1:SetValue(cm.trival)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
end
--Double Tribute
cm.trival=RD.ValueDoubleTributeAttrType(ATTRIBUTE_LIGHT,TYPE_NORMAL)
\ No newline at end of file
local m=120253003
local cm=_G["c"..m]
cm.name="暗冥矮人"
function cm.initial_effect(c)
--Fusion Summon
local e1=RD.CreateFusionEffect(c,cm.matfilter,cm.spfilter,nil,0,0,nil,nil,nil,nil,true)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_FUSION_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE)
e1:SetCost(cm.cost)
c:RegisterEffect(e1)
end
--Fusion Summon
function cm.matfilter(c)
return c:IsFaceup() and c:IsOnField()
end
function cm.spfilter(c)
return c:IsAttribute(ATTRIBUTE_DARK)
end
function cm.costfilter(c,e,tp)
return c:IsFaceup() and c:IsRace(RACE_GALAXY) and c:IsAbleToGraveAsCost()
and RD.IsCanFusionSummon(e,tp,cm.matfilter,cm.spfilter,nil,0,0,nil,true,c)
end
cm.cost=RD.CostSendMZoneToGrave(cm.costfilter,1,1,true)
\ No newline at end of file
local m=120253004
local cm=_G["c"..m]
cm.name="暗冥穿越侍·危机"
function cm.initial_effect(c)
--Summon Procedure
cm.sumproc(c,aux.Stringid(m,2),ATTRIBUTE_LIGHT)
cm.sumproc(c,aux.Stringid(m,3),ATTRIBUTE_DARK)
cm.sumproc(c,aux.Stringid(m,4),ATTRIBUTE_FIRE)
cm.sumproc(c,aux.Stringid(m,5),ATTRIBUTE_WATER)
cm.sumproc(c,aux.Stringid(m,6),ATTRIBUTE_EARTH)
cm.sumproc(c,aux.Stringid(m,7),ATTRIBUTE_WIND)
cm.sumproc(c,aux.Stringid(m,8),ATTRIBUTE_DIVINE)
local mat=RD.CreateAdvanceCount(c,3)
--Destroy
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_DESTROY+CATEGORY_ATKCHANGE)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE)
e1:SetLabelObject(mat)
e1:SetCondition(cm.condition)
e1:SetTarget(cm.target)
e1:SetOperation(cm.operation)
c:RegisterEffect(e1)
end
--Summon Procedure
function cm.sumproc(c,desc,attr)
RD.AddSummonProcedure(c,desc,cm.sumcon(attr),cm.sumop(attr),SUMMON_TYPE_ADVANCE+SUMMON_VALUE_SELF)
end
function cm.sumcon(attr)
return function(e,c,minc)
if c==nil then return true end
local mg=Duel.GetTributeGroup(c):Filter(Card.IsAttribute,nil,attr)
return minc<=3 and Duel.CheckTribute(c,3,3,mg)
end
end
function cm.sumop(attr)
return function(e,tp,eg,ep,ev,re,r,rp,c)
local mg=Duel.GetTributeGroup(c):Filter(Card.IsAttribute,nil,attr)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local g=Duel.SelectTribute(tp,c,3,3,mg)
c:SetMaterial(g)
Duel.Release(g,REASON_SUMMON+REASON_MATERIAL)
end
end
--Destroy
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return RD.IsSummonTurn(c) and e:GetLabelObject():GetLabel()==3
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(nil,tp,0,LOCATION_ONFIELD,1,nil) end
local g=Duel.GetMatchingGroup(nil,tp,0,LOCATION_ONFIELD,nil)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
RD.SelectAndDoAction(HINTMSG_DESTROY,nil,tp,0,LOCATION_ONFIELD,1,1,nil,function(g)
local c=e:GetHandler()
local tc=g:GetFirst()
if Duel.Destroy(tc,REASON_EFFECT)~=0 and tc:IsLevelAbove(1)
and c:IsFaceup() and c:IsRelateToEffect(e) and Duel.SelectYesNo(tp,aux.Stringid(m,1)) then
Duel.BreakEffect()
local atk=tc:GetOriginalLevel()*200
RD.AttachAtkDef(e,c,atk,0,RESET_EVENT+RESETS_STANDARD+RESET_DISABLE+RESET_PHASE+PHASE_END)
end
end)
end
\ No newline at end of file
local m=120253008
local list={120244012,120244011,120196050}
local cm=_G["c"..m]
cm.name="名蔷薇女巫"
function cm.initial_effect(c)
RD.AddCodeList(c,list)
--Discard Deck
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_DECKDES+CATEGORY_TOHAND+CATEGORY_GRAVE_ACTION)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE)
e1:SetCondition(cm.condition)
e1:SetCost(cm.cost)
e1:SetTarget(cm.target)
e1:SetOperation(cm.operation)
c:RegisterEffect(e1)
end
--Discard Deck
function cm.costfilter(c,e,tp)
return not c:IsPublic() and ((c:IsAttribute(ATTRIBUTE_LIGHT) and c:IsRace(RACE_SPELLCASTER)) or c:IsType(TYPE_EQUIP))
end
function cm.thfilter(c)
return c:IsCode(list[1],list[2],list[3]) and c:IsLocation(LOCATION_GRAVE) and c:IsAbleToHand()
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return RD.IsSummonTurn(e:GetHandler())
end
cm.cost=RD.CostShowHand(cm.costfilter,1,1)
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsPlayerCanDiscardDeck(tp,4) end
Duel.SetOperationInfo(0,CATEGORY_DECKDES,nil,0,tp,4)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
if RD.SendDeckTopToGraveAndExists(tp,4) then
local og=Duel.GetOperatedGroup()
if og:IsExists(cm.thfilter,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(m,1)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local sg=og:FilterSelect(tp,cm.thfilter,1,1,nil)
Duel.BreakEffect()
RD.SendToHandAndExists(sg,1-tp)
end
end
end
\ No newline at end of file
local m=120253009
local cm=_G["c"..m]
cm.name="暗黑狗仔摄影师"
function cm.initial_effect(c)
--Draw
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,1))
e1:SetCategory(CATEGORY_DRAW)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetRange(LOCATION_MZONE)
e1:SetCondition(cm.condition)
e1:SetTarget(cm.target)
e1:SetOperation(cm.operation)
c:RegisterEffect(e1)
end
--Draw
function cm.confilter(c)
return c:IsFaceup() and c:IsLevelAbove(5) and c:IsRace(RACE_SPELLCASTER)
end
function cm.costfilter(c)
return c:IsType(TYPE_MONSTER) and c:IsAbleToDeckOrExtraAsCost()
end
function cm.filter(c)
return c:IsFaceup() and c:IsLevelAbove(7)
end
function cm.costcheck(g)
return g:GetClassCount(Card.GetAttribute)==1
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)>9
and Duel.IsExistingMatchingCard(cm.confilter,tp,LOCATION_ONFIELD,0,1,nil)
end
cm.cost=RD.CostSendGraveSubToDeck(cm.costfilter,cm.costcheck,3,3)
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
local ct=Duel.GetMatchingGroupCount(cm.filter,tp,0,LOCATION_MZONE,nil)
if chk==0 then return ct>0 and Duel.IsPlayerCanDraw(tp,ct) end
RD.TargetDraw(tp,ct)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local p=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER)
local d=Duel.GetMatchingGroupCount(cm.filter,tp,0,LOCATION_MZONE,nil)
Duel.Draw(p,d,REASON_EFFECT)
end
\ No newline at end of file
......@@ -8,6 +8,8 @@ function cm.initial_effect(c)
e1:SetCode(EFFECT_DOUBLE_TRIBUTE)
e1:SetValue(cm.trival)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
end
--Double Tribute
cm.trival=RD.ValueDoubleTributeAttrType(ATTRIBUTE_DARK,TYPE_NORMAL)
\ No newline at end of file
local m=120253035
local list={120253003,120196050}
local cm=_G["c"..m]
cm.name="暗冥厄运巨人"
function cm.initial_effect(c)
RD.AddCodeList(c,list)
--Fusion Material
aux.AddFusionProcCodeFun(c,list[1],cm.material,1,true,true)
--To Hand
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_GRAVE_ACTION)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE)
e1:SetTarget(cm.target)
e1:SetOperation(cm.operation)
c:RegisterEffect(e1)
end
--Fusion Material
function cm.material(c)
return c:IsFusionAttribute(ATTRIBUTE_LIGHT+ATTRIBUTE_DARK) and c:IsRace(RACE_GALAXY)
end
--To Hand
cm.trival=RD.ValueDoubleTributeLvAttrRace(8,nil,RACE_GALAXY)
function cm.thfilter(c)
return ((c:IsLevel(7,8) and c:IsRace(RACE_GALAXY)) or c:IsCode(list[2])) and c:IsAbleToHand()
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.thfilter,tp,LOCATION_GRAVE,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_GRAVE)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
RD.SelectAndDoAction(HINTMSG_ATOHAND,aux.NecroValleyFilter(cm.thfilter),tp,LOCATION_GRAVE,0,1,1,nil,function(g)
local c=e:GetHandler()
if RD.SendToHandAndExists(g,1-tp) and c:IsFaceup() and c:IsRelateToEffect(e) then
RD.AttachDoubleTribute(e,c,cm.trival,aux.Stringid(m,1),RESET_EVENT+RESETS_STANDARD+RESET_DISABLE+RESET_PHASE+PHASE_END)
RD.AttachTripleTribute(e,c,cm.trival,aux.Stringid(m,2),RESET_EVENT+RESETS_STANDARD+RESET_DISABLE+RESET_PHASE+PHASE_END)
end
end)
end
\ No newline at end of file
local m=120253036
local list={120208002,120253003}
local cm=_G["c"..m]
cm.name="暗冥银河舰忘却龙"
function cm.initial_effect(c)
RD.AddCodeList(c,list)
--Fusion Material
RD.AddFusionProcedure(c,list[1],list[2])
--Atk Down
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_ATKCHANGE)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE)
e1:SetCost(cm.cost)
e1:SetTarget(cm.target)
e1:SetOperation(cm.operation)
c:RegisterEffect(e1)
end
--Atk Down
function cm.filter(c)
return c:IsFaceup() and c:GetBaseAttack()>=100 and c:IsType(TYPE_EFFECT)
end
cm.cost=RD.CostSendDeckTopToGrave(1)
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.filter,tp,0,LOCATION_MZONE,1,nil) end
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
RD.SelectAndDoAction(aux.Stringid(m,1),cm.filter,tp,0,LOCATION_MZONE,1,1,nil,function(g)
local tc=g:GetFirst()
local atk=tc:GetBaseAttack()
RD.AttachAtkDef(e,tc,-atk,0,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
if RD.IsCanAttachDisableContinuous(tc) and Duel.SelectYesNo(tp,aux.Stringid(m,2)) then
RD.AttachDisableContinuous(e,tc,aux.Stringid(m,3),RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
end
end)
end
\ No newline at end of file
local m=120253038
local list={120244011,120253009}
local cm=_G["c"..m]
cm.name="名蔷薇绯闻魔女"
function cm.initial_effect(c)
RD.AddCodeList(c,list)
--Fusion Material
RD.AddFusionProcedure(c,list[1],list[2])
--Destroy
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_DESTROY+CATEGORY_DRAW)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE)
e1:SetTarget(cm.target)
e1:SetOperation(cm.operation)
c:RegisterEffect(e1)
end
--Destroy
function cm.desfilter(c)
return c:IsType(TYPE_SPELL+TYPE_TRAP)
end
function cm.exfilter(c)
return c:IsFaceup() and c:IsType(TYPE_SPELL)
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
local ex=Duel.IsExistingMatchingCard(cm.exfilter,tp,LOCATION_ONFIELD,0,1,nil)
if chk==0 then return Duel.IsExistingMatchingCard(cm.desfilter,tp,0,LOCATION_ONFIELD,1,nil)
and (not ex or Duel.IsPlayerCanDraw(tp,1)) end
local g=Duel.GetMatchingGroup(cm.desfilter,tp,0,LOCATION_ONFIELD,nil)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0)
if ex then
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
end
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
RD.SelectAndDoAction(HINTMSG_DESTROY,cm.desfilter,tp,0,LOCATION_ONFIELD,1,1,nil,function(g)
if Duel.Destroy(g,REASON_EFFECT)~=0 and Duel.IsExistingMatchingCard(cm.exfilter,tp,LOCATION_ONFIELD,0,1,nil) then
Duel.Draw(tp,1,REASON_EFFECT)
end
end)
end
\ No newline at end of file
local m=120253039
local list={120244012,120253009}
local cm=_G["c"..m]
cm.name="名蔷薇绯闻魔术师"
function cm.initial_effect(c)
RD.AddCodeList(c,list)
--Fusion Material
RD.AddFusionProcedure(c,list[1],list[2])
--Atk Up
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE)
e1:SetValue(cm.atkval)
c:RegisterEffect(e1)
--Indes
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetRange(LOCATION_MZONE)
e2:SetCondition(cm.indcon)
e2:SetValue(1)
c:RegisterEffect(e2)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1,e2)
end
--Atk Up
function cm.atkfilter(c)
return c:IsType(TYPE_EQUIP)
end
function cm.atkval(e,c)
return Duel.GetMatchingGroupCount(cm.atkfilter,c:GetControler(),LOCATION_GRAVE,0,nil)*400
end
--Indes
function cm.indfilter(c)
return c:IsFaceup() and c:IsType(TYPE_SPELL)
end
function cm.indcon(e)
return Duel.IsExistingMatchingCard(cm.indfilter,e:GetHandlerPlayer(),LOCATION_ONFIELD,0,1,nil)
end
\ No newline at end of file
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