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

update Link Summon (#884)

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