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

2025/1/28 bug修复

parent e9164749
Pipeline #32822 passed with stages
in 10 minutes and 55 seconds
......@@ -224,6 +224,19 @@ function RushDuel.AddFusionProcedureSP(card, matfilter, matcheck, min, max, sub,
return RushDuel.CreateFusionProcedure(card, insf, sub, funcs, matfilter, max - #funcs, matcheck)
end
-- 添加融合手续: 指定条件, 不固定数量
function RushDuel.AddFusionProcedureRep(card, insf, sub, func, min, max, ...)
if card:IsStatus(STATUS_COPYING_EFFECT) then
return
end
local vals = {...}
table.insert(vals, func)
-- 融合素材
local codes, funcs, unspecified = RushDuel.MakeFusionMaterial(card, table.unpack(vals))
RushDuel.SetFusionMaterialData(card, codes, #funcs + min - 1, #funcs + max - 1, unspecified)
return RushDuel.CreateFusionProcedure(card, insf, sub, funcs, func, max - 1, nil)
end
-- 手动添加融合素材列表
function RushDuel.SetFusionMaterial(card, codes, min, max)
if card:IsStatus(STATUS_COPYING_EFFECT) then
......
......@@ -5,8 +5,9 @@ cm.name="嵌合超载龙"
function cm.initial_effect(c)
RD.AddCodeList(c,list)
--Fusion Material
RD.SetFusionMaterial(c,{list[1]},2,64)
RD.AddFusionProcedureSP(c,cm.matfilter,cm.check,2,64)
RD.AddFusionProcedureRep(c,true,true,cm.matfilter,1,63,list[1])
-- Fusion Flag
RD.CreateFusionSummonFlag(c,20278001)
--Base Atk & Def
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
......@@ -24,22 +25,29 @@ function cm.initial_effect(c)
e3:SetCode(EFFECT_EXTRA_ATTACK_MONSTER)
e3:SetValue(cm.atkval)
c:RegisterEffect(e3)
--Material Check
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetCode(EFFECT_MATERIAL_CHECK)
e4:SetLabelObject(e3)
e4:SetValue(cm.check)
c:RegisterEffect(e4)
--Continuous Effect
RD.AddContinuousEffect(c,e3)
end
--Fusion Material
cm.unspecified_funsion=true
function cm.matfilter(c,fc,sub)
return cm.matfilter1(c,fc,sub) or cm.matfilter2(c,fc,sub)
end
function cm.matfilter1(c,fc,sub)
return c:IsFusionCode(list[1]) or (sub and c:CheckFusionSubstitute(fc))
end
function cm.matfilter2(c,fc,sub)
return c:IsRace(RACE_MACHINE)
end
function cm.check(g,tp,fc,chkf)
return g:FilterCount(cm.matfilter1,nil,fc,true)==1
--Material Check
function cm.check(e,c)
local ct=c:GetMaterialCount()
if ct>1 then
e:GetLabelObject():SetLabel(ct-1)
else
e:GetLabelObject():SetLabel(0)
end
end
--Base Atk & Def
function cm.adval(e)
......@@ -50,7 +58,5 @@ end
--Multiple Attack
function cm.atkval(e)
local c=e:GetHandler()
local ct=c:GetMaterialCount()
if not c:IsSummonType(SUMMON_TYPE_FUSION) or ct==0 then return 0
else return ct-1 end
if c:GetFlagEffect(20278001)~=0 then return e:GetLabel() else return 0 end
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