Commit fc41fec8 authored by nekrozar's avatar nekrozar Committed by mercury233

update Link Summon (#884)

parent c2d59575
--デコード・トーカー --デコード・トーカー
function c1861629.initial_effect(c) function c1861629.initial_effect(c)
--link summon --link summon
aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsType,TYPE_EFFECT),2) aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkType,TYPE_EFFECT),2)
c:EnableReviveLimit() c:EnableReviveLimit()
--atk --atk
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
function c30194529.initial_effect(c) function c30194529.initial_effect(c)
--link summon --link summon
c:EnableReviveLimit() c:EnableReviveLimit()
aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsType,TYPE_LINK),2) aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkType,TYPE_LINK),2)
--draw --draw
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(30194529,0)) e1:SetDescription(aux.Stringid(30194529,0))
......
...@@ -33,7 +33,7 @@ function c31226177.initial_effect(c) ...@@ -33,7 +33,7 @@ function c31226177.initial_effect(c)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c31226177.matfilter(c) function c31226177.matfilter(c)
return c:IsType(TYPE_NORMAL) and not c:IsType(TYPE_TOKEN) return c:IsLinkType(TYPE_NORMAL) and not c:IsLinkType(TYPE_TOKEN)
end end
function c31226177.destg(e,tp,eg,ep,ev,re,r,rp,chk) function c31226177.destg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
......
--トポロジック・ボマー・ドラゴン --トポロジック・ボマー・ドラゴン
function c5821478.initial_effect(c) function c5821478.initial_effect(c)
--link summon --link summon
aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsType,TYPE_EFFECT),2) aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkType,TYPE_EFFECT),2)
c:EnableReviveLimit() c:EnableReviveLimit()
--damage --damage
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
...@@ -49,11 +49,11 @@ function c77610772.initial_effect(c) ...@@ -49,11 +49,11 @@ function c77610772.initial_effect(c)
c:RegisterEffect(e5) c:RegisterEffect(e5)
end end
function c77610772.linkfilter1(c,lc,tp) function c77610772.linkfilter1(c,lc,tp)
return c:IsFaceup() and Duel.IsExistingMatchingCard(c77610772.linkfilter2,tp,LOCATION_MZONE,0,1,c,lc,c,tp) return c:IsFaceup() and c:IsCanBeLinkMaterial(lc) and Duel.IsExistingMatchingCard(c77610772.linkfilter2,tp,LOCATION_MZONE,0,1,c,lc,c,tp)
end end
function c77610772.linkfilter2(c,lc,mc,tp) function c77610772.linkfilter2(c,lc,mc,tp)
local mg=Group.FromCards(c,mc) local mg=Group.FromCards(c,mc)
return c:IsFaceup() and not c:IsRace(mc:GetRace()) and not c:IsAttribute(mc:GetAttribute()) and Duel.GetLocationCountFromEx(tp,tp,mg,lc)>0 return c:IsFaceup() and c:IsCanBeLinkMaterial(lc) and not c:IsRace(mc:GetRace()) and not c:IsAttribute(mc:GetAttribute()) and Duel.GetLocationCountFromEx(tp,tp,mg,lc)>0
end end
function c77610772.linkcon(e,c) function c77610772.linkcon(e,c)
if c==nil then return true end if c==nil then return true end
......
--リンク・スパイダー --リンク・スパイダー
function c98978921.initial_effect(c) function c98978921.initial_effect(c)
--link summon --link summon
aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsType,TYPE_NORMAL),1,1) aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkType,TYPE_NORMAL),1,1)
c:EnableReviveLimit() c:EnableReviveLimit()
--special summon --special summon
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
...@@ -458,6 +458,7 @@ EFFECT_CANNOT_BE_FUSION_MATERIAL =235--不能做融合素材 ...@@ -458,6 +458,7 @@ EFFECT_CANNOT_BE_FUSION_MATERIAL =235--不能做融合素材
EFFECT_CANNOT_BE_SYNCHRO_MATERIAL =236--不能做同调素材 EFFECT_CANNOT_BE_SYNCHRO_MATERIAL =236--不能做同调素材
EFFECT_SYNCHRO_MATERIAL_CUSTOM =237--同调素材限制 EFFECT_SYNCHRO_MATERIAL_CUSTOM =237--同调素材限制
EFFECT_CANNOT_BE_XYZ_MATERIAL =238--不能做超量素材 EFFECT_CANNOT_BE_XYZ_MATERIAL =238--不能做超量素材
EFFECT_CANNOT_BE_LINK_MATERIAL =239--
EFFECT_SYNCHRO_LEVEL =240--做同调素材时的等级 EFFECT_SYNCHRO_LEVEL =240--做同调素材时的等级
EFFECT_RITUAL_LEVEL =241--做仪式祭品时的等级 EFFECT_RITUAL_LEVEL =241--做仪式祭品时的等级
EFFECT_XYZ_LEVEL =242--做超量素材时的等级 EFFECT_XYZ_LEVEL =242--做超量素材时的等级
......
...@@ -1169,8 +1169,8 @@ function Auxiliary.AddLinkProcedure(c,f,min,max) ...@@ -1169,8 +1169,8 @@ function Auxiliary.AddLinkProcedure(c,f,min,max)
e1:SetValue(SUMMON_TYPE_LINK) e1:SetValue(SUMMON_TYPE_LINK)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function Auxiliary.LConditionFilter(c,f) function Auxiliary.LConditionFilter(c,f,lc)
return c:IsFaceup() and (not f or f(c)) return c:IsFaceup() and c:IsCanBeLinkMaterial(lc) and (not f or f(c))
end end
function Auxiliary.GetLinkCount(c) function Auxiliary.GetLinkCount(c)
if c:IsType(TYPE_LINK) and c:GetLink()>1 then if c:IsType(TYPE_LINK) and c:GetLink()>1 then
...@@ -1194,14 +1194,14 @@ function Auxiliary.LinkCondition(f,minc,maxc) ...@@ -1194,14 +1194,14 @@ function Auxiliary.LinkCondition(f,minc,maxc)
if c==nil then return true end if c==nil then return true end
if c:IsType(TYPE_PENDULUM) and c:IsFaceup() then return false end if c:IsType(TYPE_PENDULUM) and c:IsFaceup() then return false end
local tp=c:GetControler() local tp=c:GetControler()
local mg=Duel.GetMatchingGroup(Auxiliary.LConditionFilter,tp,LOCATION_MZONE,0,nil,f) local mg=Duel.GetMatchingGroup(Auxiliary.LConditionFilter,tp,LOCATION_MZONE,0,nil,f,c)
local sg=Group.CreateGroup() local sg=Group.CreateGroup()
return mg:IsExists(Auxiliary.LCheckRecursive,1,nil,tp,sg,mg,c,0,minc,maxc) return mg:IsExists(Auxiliary.LCheckRecursive,1,nil,tp,sg,mg,c,0,minc,maxc)
end end
end end
function Auxiliary.LinkOperation(f,minc,maxc) function Auxiliary.LinkOperation(f,minc,maxc)
return function(e,tp,eg,ep,ev,re,r,rp,c) return function(e,tp,eg,ep,ev,re,r,rp,c)
local mg=Duel.GetMatchingGroup(Auxiliary.LConditionFilter,tp,LOCATION_MZONE,0,nil,f) local mg=Duel.GetMatchingGroup(Auxiliary.LConditionFilter,tp,LOCATION_MZONE,0,nil,f,c)
local sg=Group.CreateGroup() local sg=Group.CreateGroup()
for i=0,maxc-1 do for i=0,maxc-1 do
local cg=mg:Filter(Auxiliary.LCheckRecursive,sg,tp,sg,mg,c,i,minc,maxc) local cg=mg:Filter(Auxiliary.LCheckRecursive,sg,tp,sg,mg,c,i,minc,maxc)
......
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