Commit 6c25559e authored by 未闻皂名's avatar 未闻皂名

2025/10/11 融合术召唤修改

parent 3064f601
Pipeline #41011 passed with stages
in 12 minutes and 40 seconds
This diff is collapsed.
......@@ -5,7 +5,9 @@ function cm.initial_effect(c)
local e1=RD.CreateFusionEffect(c,cm.matfilter,nil,nil,0,0,cm.matcheck)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_FUSION_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetProperty(EFFECT_FLAG_SPSUM_PARAM)
e1:SetRange(LOCATION_MZONE)
e1:SetLabel(2,2)
e1:SetCost(cm.cost)
c:RegisterEffect(e1)
end
......
......@@ -37,9 +37,8 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsFaceup() and c:IsRelateToEffect(e) then
RD.ChangeCode(e,c,list[1],RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
local matcheck=function(tp,sg,fc)
return sg:IsContains(e:GetHandler()) and sg:GetCount()==2
end
RD.CanFusionSummon(aux.Stringid(m,2),cm.matfilter,nil,cm.exfilter,LOCATION_GRAVE,0,matcheck,RD.FusionToDeck,e,tp,true)
RD.SetFusionSummonMaterialCount(e,2,2)
RD.CanFusionSummon(aux.Stringid(m,2),cm.matfilter,nil,cm.exfilter,LOCATION_GRAVE,0,nil,RD.FusionToDeck,e,tp,true,true)
RD.ResetFusionSummonMaterialCount(e)
end
end
\ No newline at end of file
......@@ -34,9 +34,8 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsFaceup() and c:IsRelateToEffect(e) then
RD.ChangeCode(e,c,list[1],RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
local matcheck=function(tp,sg,fc)
return sg:IsContains(e:GetHandler()) and sg:GetCount()==2
end
RD.CanFusionSummon(aux.Stringid(m,2),cm.matfilter,nil,cm.exfilter,LOCATION_GRAVE,0,matcheck,RD.FusionToDeck,e,tp,true)
RD.SetFusionSummonMaterialCount(e,2,2)
RD.CanFusionSummon(aux.Stringid(m,2),cm.matfilter,nil,cm.exfilter,LOCATION_GRAVE,0,nil,RD.FusionToDeck,e,tp,true,true)
RD.ResetFusionSummonMaterialCount(e)
end
end
\ No newline at end of file
......@@ -4,7 +4,7 @@ cm.name="青眼究极龙"
function cm.initial_effect(c)
RD.AddCodeList(c,list)
--Fusion Material
RD.AddFusionProcedureSP(c,cm.matfilter,cm.check,2,3)
RD.AddFusionProcedureSP(c,true,true,cm.matfilter,cm.check,2,3)
RD.SetFusionMaterial(c,{list[1]},3,3)
end
--Fusion Material
......
......@@ -6,6 +6,8 @@ function cm.initial_effect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_FUSION_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_SPSUM_PARAM)
e1:SetLabel(2,3)
c:RegisterEffect(e1)
end
--Activate
......
......@@ -8,6 +8,8 @@ function cm.initial_effect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_FUSION_SUMMON+CATEGORY_DESTROY)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_SPSUM_PARAM)
e1:SetLabel(2,2)
c:RegisterEffect(e1)
end
--Activate
......@@ -15,7 +17,7 @@ function cm.matfilter(c)
return c:IsFusionCode(list[1],list[2],list[3])
end
function cm.matcheck(tp,sg,fc)
return sg:IsExists(cm.matfilter,1,nil) and sg:GetCount()==2
return sg:IsExists(cm.matfilter,1,nil)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp,mat,fc)
if not fc:IsType(TYPE_EFFECT) then
......
......@@ -4,7 +4,7 @@ cm.name="深空宇宙世界树龙"
function cm.initial_effect(c)
RD.AddCodeList(c,list)
--Fusion Material
RD.AddFusionProcedureSP(c,cm.matfilter,cm.check,2,3)
RD.AddFusionProcedureSP(c,true,true,cm.matfilter,cm.check,2,3)
RD.SetFusionMaterial(c,{list[1]},3,3)
--Indes
local e1=Effect.CreateEffect(c)
......
......@@ -32,7 +32,9 @@ function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
end
function cm.activate(e,tp,eg,ep,ev,re,r,rp)
if RD.SelectAndSpecialSummon(cm.filter,1-tp,LOCATION_GRAVE,0,1,1,nil,e,POS_FACEDOWN_DEFENSE)~=0 then
RD.SetFusionSummonMaterialCount(e,2,2)
RD.CanFusionSummon(aux.Stringid(m,1),aux.FALSE,nil,cm.exfilter,LOCATION_GRAVE,0,cm.matcheck,RD.FusionToDeck,e,tp,true)
RD.ResetFusionSummonMaterialCount(e)
end
if Duel.GetFlagEffect(tp,m)~=0 then return end
RD.CreateHintEffect(e,aux.Stringid(m,2),tp,1,0,RESET_PHASE+PHASE_END)
......
......@@ -35,6 +35,8 @@ end
function cm.activate(e,tp,eg,ep,ev,re,r,rp)
RD.SelectAndDoAction(aux.Stringid(m,1),cm.filter,tp,LOCATION_MZONE,0,1,1,nil,function(g)
RD.AttachEffectIndes(e,g:GetFirst(),cm.indval,aux.Stringid(m,2),RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
RD.SetFusionSummonMaterialCount(e,2,2)
RD.CanFusionSummon(aux.Stringid(m,3),aux.FALSE,cm.spfilter,cm.exfilter,LOCATION_GRAVE,0,cm.matcheck,RD.FusionToDeck,e,tp)
RD.ResetFusionSummonMaterialCount(e)
end)
end
\ No newline at end of file
......@@ -6,6 +6,8 @@ function cm.initial_effect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_FUSION_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_SPSUM_PARAM)
e1:SetLabel(2,2)
c:RegisterEffect(e1)
end
--Activate
......
......@@ -6,7 +6,8 @@ function cm.initial_effect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_FUSION_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_DRAW)
e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_SPSUM_PARAM)
e1:SetLabel(2,2)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EVENT_SUMMON_SUCCESS)
......
......@@ -5,7 +5,9 @@ function cm.initial_effect(c)
local e1=RD.CreateFusionEffect(c,cm.matfilter,cm.spfilter,nil,0,0,cm.matcheck)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_FUSION_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetProperty(EFFECT_FLAG_SPSUM_PARAM)
e1:SetRange(LOCATION_MZONE)
e1:SetLabel(2,2)
e1:SetCondition(cm.condition)
c:RegisterEffect(e1)
end
......
......@@ -6,6 +6,8 @@ function cm.initial_effect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_FUSION_SUMMON+CATEGORY_DESTROY)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_SPSUM_PARAM)
e1:SetLabel(2,2)
c:RegisterEffect(e1)
end
--Activate
......
......@@ -6,6 +6,8 @@ function cm.initial_effect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_FUSION_SUMMON+CATEGORY_DESTROY)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_SPSUM_PARAM)
e1:SetLabel(2,2)
e1:SetCost(cm.cost)
c:RegisterEffect(e1)
end
......
......@@ -4,7 +4,7 @@ cm.name="蛋球机器人国王巨人"
function cm.initial_effect(c)
RD.AddCodeList(c,list)
--Fusion Material
RD.AddFusionProcedureSP(c,cm.matfilter,cm.check,2,3)
RD.AddFusionProcedureSP(c,true,true,cm.matfilter,cm.check,2,3)
RD.SetFusionMaterial(c,{list[1]},3,3)
--Indes
local e1=Effect.CreateEffect(c)
......
......@@ -25,9 +25,6 @@ end
function cm.matfilter(c)
return not RD.IsMaximumMode(c) and c:GetBaseDefense()==1200 and c:IsFusionAttribute(ATTRIBUTE_WIND)
end
function cm.matcheck(tp,sg,fc)
return sg:GetCount()==2
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return (RD.IsSummonTurn(c) or RD.IsSpecialSummonTurn(c))
......@@ -41,7 +38,9 @@ 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)
RD.SendToHandAndExists(g,e,tp,REASON_EFFECT)
if not Duel.IsExistingMatchingCard(cm.exfilter,tp,LOCATION_MZONE,0,1,nil) then
RD.CanFusionSummon(aux.Stringid(m,1),cm.matfilter,nil,nil,0,0,cm.matcheck,RD.FusionToGrave,e,tp)
RD.SetFusionSummonMaterialCount(e,2,2)
RD.CanFusionSummon(aux.Stringid(m,1),cm.matfilter,nil,nil,0,0,nil,RD.FusionToGrave,e,tp)
RD.ResetFusionSummonMaterialCount(e)
end
end)
end
\ No newline at end of file
......@@ -8,6 +8,8 @@ function cm.initial_effect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_FUSION_SUMMON+CATEGORY_GRAVE_ACTION)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_SPSUM_PARAM)
e1:SetLabel(2,2)
e1:SetCondition(cm.condition)
c:RegisterEffect(e1)
end
......
......@@ -21,9 +21,6 @@ end
function cm.exfilter(c)
return c:IsRace(RACE_GALAXY) and c:IsCanBeFusionMaterial() and c:IsAbleToDeck()
end
function cm.matcheck(tp,sg,fc)
return sg:GetCount()<=9
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return RD.IsSummonTurn(c) or RD.IsSpecialSummonTurn(c)
......@@ -36,7 +33,9 @@ end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
RD.SelectAndDoAction(HINTMSG_DESTROY,nil,tp,LOCATION_MZONE,0,1,3,nil,function(g)
if Duel.Destroy(g,REASON_EFFECT)~=0 then
RD.CanFusionSummon(aux.Stringid(m,1),aux.FALSE,cm.spfilter,cm.exfilter,LOCATION_GRAVE,0,cm.matcheck,RD.FusionToDeck,e,tp,true)
RD.SetFusionSummonMaterialCount(e,2,9)
RD.CanFusionSummon(aux.Stringid(m,1),aux.FALSE,cm.spfilter,cm.exfilter,LOCATION_GRAVE,0,nil,RD.FusionToDeck,e,tp,true)
RD.ResetFusionSummonMaterialCount(e)
end
end)
if Duel.GetFlagEffect(tp,m)~=0 then return 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