Commit d46031e0 authored by mallu11's avatar mallu11 Committed by GitHub

add Auxiliary.AddMaterialCodeList (#1621)

parent f387abbc
...@@ -35,10 +35,10 @@ function c11913700.initial_effect(c) ...@@ -35,10 +35,10 @@ function c11913700.initial_effect(c)
c:RegisterEffect(e4) c:RegisterEffect(e4)
end end
function c11913700.eqlimit(e,c) function c11913700.eqlimit(e,c)
return aux.IsMaterialListCode(c,89943723) return c:IsType(TYPE_FUSION) and aux.IsMaterialListCode(c,89943723)
end end
function c11913700.filter(c) function c11913700.filter(c)
return c:IsFaceup() and aux.IsMaterialListCode(c,89943723) return c:IsFaceup() and c:IsType(TYPE_FUSION) and aux.IsMaterialListCode(c,89943723)
end end
function c11913700.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c11913700.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and c11913700.filter(chkc) end if chkc then return chkc:IsLocation(LOCATION_MZONE) and c11913700.filter(chkc) end
......
--ワンショット・キャノン --ワンショット・キャノン
function c13574687.initial_effect(c) function c13574687.initial_effect(c)
aux.AddMaterialCodeList(c,6142213)
--synchro summon --synchro summon
aux.AddSynchroProcedure(c,aux.FilterBoolFunction(Card.IsCode,6142213),aux.NonTuner(nil),1,1) aux.AddSynchroProcedure(c,aux.FilterBoolFunction(Card.IsCode,6142213),aux.NonTuner(nil),1,1)
c:EnableReviveLimit() c:EnableReviveLimit()
......
...@@ -82,7 +82,7 @@ function c14088859.repop(e,tp,eg,ep,ev,re,r,rp) ...@@ -82,7 +82,7 @@ function c14088859.repop(e,tp,eg,ep,ev,re,r,rp)
Duel.Remove(e:GetHandler(),POS_FACEUP,REASON_EFFECT) Duel.Remove(e:GetHandler(),POS_FACEUP,REASON_EFFECT)
end end
function c14088859.repfilter2(c,tp,re) function c14088859.repfilter2(c,tp,re)
return c:IsControler(tp) and c:IsLocation(LOCATION_MZONE) and aux.IsMaterialListCode(c,89943723) and c:IsType(TYPE_MONSTER) return c:IsControler(tp) and c:IsLocation(LOCATION_MZONE) and aux.IsMaterialListCode(c,89943723) and c:IsType(TYPE_FUSION)
and c:GetDestination()==LOCATION_DECK and re:GetOwner()==c and c:GetDestination()==LOCATION_DECK and re:GetOwner()==c
end end
function c14088859.reptg2(e,tp,eg,ep,ev,re,r,rp,chk) function c14088859.reptg2(e,tp,eg,ep,ev,re,r,rp,chk)
...@@ -96,5 +96,5 @@ function c14088859.repop2(e,tp,eg,ep,ev,re,r,rp) ...@@ -96,5 +96,5 @@ function c14088859.repop2(e,tp,eg,ep,ev,re,r,rp)
Duel.Remove(e:GetHandler(),POS_FACEUP,REASON_EFFECT) Duel.Remove(e:GetHandler(),POS_FACEUP,REASON_EFFECT)
end end
function c14088859.repval2(e,c) function c14088859.repval2(e,c)
return c:IsControler(e:GetHandlerPlayer()) and c:IsLocation(LOCATION_MZONE) and aux.IsMaterialListCode(c,89943723) and c:IsType(TYPE_MONSTER) return c:IsControler(e:GetHandlerPlayer()) and c:IsLocation(LOCATION_MZONE) and aux.IsMaterialListCode(c,89943723) and c:IsType(TYPE_FUSION)
end end
...@@ -22,7 +22,7 @@ function c15155568.initial_effect(c) ...@@ -22,7 +22,7 @@ function c15155568.initial_effect(c)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c15155568.cfilter(c) function c15155568.cfilter(c)
return c:IsFaceup() and aux.IsMaterialListCode(c,78193831) return c:IsFaceup() and c:IsType(TYPE_FUSION) and aux.IsMaterialListCode(c,78193831)
end end
function c15155568.condition(e,tp,eg,ep,ev,re,r,rp) function c15155568.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(c15155568.cfilter,tp,LOCATION_MZONE,0,1,nil) return Duel.IsExistingMatchingCard(c15155568.cfilter,tp,LOCATION_MZONE,0,1,nil)
......
...@@ -11,7 +11,7 @@ function c17194258.initial_effect(c) ...@@ -11,7 +11,7 @@ function c17194258.initial_effect(c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c17194258.filter1(c,tp) function c17194258.filter1(c,tp)
return Duel.IsExistingMatchingCard(c17194258.filter2,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil,c) return c:IsType(TYPE_FUSION) and Duel.IsExistingMatchingCard(c17194258.filter2,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil,c)
end end
function c17194258.filter2(c,fc) function c17194258.filter2(c,fc)
return aux.IsMaterialListCode(fc,c:GetCode()) and c:IsAbleToHand() return aux.IsMaterialListCode(fc,c:GetCode()) and c:IsAbleToHand()
......
--A・ジェネクス・トライアーム --A・ジェネクス・トライアーム
function c17760003.initial_effect(c) function c17760003.initial_effect(c)
aux.AddMaterialCodeList(c,68505803)
--synchro summon --synchro summon
aux.AddSynchroProcedure(c,aux.FilterBoolFunction(Card.IsCode,68505803),aux.NonTuner(nil),1) aux.AddSynchroProcedure(c,aux.FilterBoolFunction(Card.IsCode,68505803),aux.NonTuner(nil),1)
c:EnableReviveLimit() c:EnableReviveLimit()
......
...@@ -24,8 +24,8 @@ function c1784686.tgfilter(c,e,tp) ...@@ -24,8 +24,8 @@ function c1784686.tgfilter(c,e,tp)
and Duel.IsExistingMatchingCard(c1784686.spfilter,tp,LOCATION_EXTRA,0,1,nil,e,tp,c) and Duel.IsExistingMatchingCard(c1784686.spfilter,tp,LOCATION_EXTRA,0,1,nil,e,tp,c)
end end
function c1784686.spfilter(c,e,tp,tc) function c1784686.spfilter(c,e,tp,tc)
return aux.IsMaterialListCode(c,tc:GetCode()) and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false) return c:IsType(TYPE_FUSION) and aux.IsMaterialListCode(c,tc:GetCode())
and Duel.GetLocationCountFromEx(tp,tp,tc,c)>0 and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false) and Duel.GetLocationCountFromEx(tp,tp,tc,c)>0
end end
function c1784686.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c1784686.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc==0 then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c1784686.tgfilter(chkc,e,tp) end if chkc==0 then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c1784686.tgfilter(chkc,e,tp) end
......
--ニトロ・ウォリアー --ニトロ・ウォリアー
function c18013090.initial_effect(c) function c18013090.initial_effect(c)
aux.AddMaterialCodeList(c,96182448)
--synchro summon --synchro summon
aux.AddSynchroProcedure(c,c18013090.tfilter,aux.NonTuner(nil),1) aux.AddSynchroProcedure(c,c18013090.tfilter,aux.NonTuner(nil),1)
c:EnableReviveLimit() c:EnableReviveLimit()
......
--ロード・ウォリアー --ロード・ウォリアー
function c2322421.initial_effect(c) function c2322421.initial_effect(c)
aux.AddMaterialCodeList(c,71971554)
--synchro summon --synchro summon
aux.AddSynchroProcedure(c,c2322421.tfilter,aux.NonTuner(nil),2) aux.AddSynchroProcedure(c,c2322421.tfilter,aux.NonTuner(nil),2)
c:EnableReviveLimit() c:EnableReviveLimit()
......
--シューティング・スター・ドラゴン --シューティング・スター・ドラゴン
function c24696097.initial_effect(c) function c24696097.initial_effect(c)
aux.AddCodeList(c,44508094) aux.AddMaterialCodeList(c,44508094)
--synchro summon --synchro summon
aux.AddSynchroProcedure(c,aux.FilterBoolFunction(Card.IsSynchroType,TYPE_SYNCHRO),aux.FilterBoolFunction(Card.IsCode,44508094),1,1) aux.AddSynchroProcedure(c,aux.FilterBoolFunction(Card.IsSynchroType,TYPE_SYNCHRO),aux.FilterBoolFunction(Card.IsCode,44508094),1,1)
c:EnableReviveLimit() c:EnableReviveLimit()
......
--ライフ・ストリーム・ドラゴン --ライフ・ストリーム・ドラゴン
function c25165047.initial_effect(c) function c25165047.initial_effect(c)
aux.AddMaterialCodeList(c,2403771)
--synchro summon --synchro summon
aux.AddSynchroProcedure(c,nil,aux.FilterBoolFunction(Card.IsCode,2403771),1,1) aux.AddSynchroProcedure(c,nil,aux.FilterBoolFunction(Card.IsCode,2403771),1,1)
c:EnableReviveLimit() c:EnableReviveLimit()
......
--ジェット・ウォリアー --ジェット・ウォリアー
function c286392.initial_effect(c) function c286392.initial_effect(c)
aux.AddMaterialCodeList(c,9742784)
--synchro summon --synchro summon
aux.AddSynchroProcedure(c,c286392.tfilter,aux.NonTuner(nil),1) aux.AddSynchroProcedure(c,c286392.tfilter,aux.NonTuner(nil),1)
c:EnableReviveLimit() c:EnableReviveLimit()
......
--ジオ・ジェネクス --ジオ・ジェネクス
function c33972299.initial_effect(c) function c33972299.initial_effect(c)
aux.AddMaterialCodeList(c,68505803)
--synchro summon --synchro summon
aux.AddSynchroProcedure(c,aux.FilterBoolFunction(Card.IsCode,68505803),aux.NonTuner(Card.IsAttribute,ATTRIBUTE_EARTH),1) aux.AddSynchroProcedure(c,aux.FilterBoolFunction(Card.IsCode,68505803),aux.NonTuner(Card.IsAttribute,ATTRIBUTE_EARTH),1)
c:EnableReviveLimit() c:EnableReviveLimit()
......
--ドリル・ウォリアー --ドリル・ウォリアー
function c3429238.initial_effect(c) function c3429238.initial_effect(c)
aux.AddMaterialCodeList(c,56286179)
--synchro summon --synchro summon
aux.AddSynchroProcedure(c,c3429238.tfilter,aux.NonTuner(nil),1) aux.AddSynchroProcedure(c,c3429238.tfilter,aux.NonTuner(nil),1)
c:EnableReviveLimit() c:EnableReviveLimit()
......
...@@ -14,7 +14,7 @@ function c35255456.filter1(c,e) ...@@ -14,7 +14,7 @@ function c35255456.filter1(c,e)
return c:IsAbleToDeck() and not c:IsImmuneToEffect(e) return c:IsAbleToDeck() and not c:IsImmuneToEffect(e)
end end
function c35255456.filter2(c,e,tp,m,chkf) function c35255456.filter2(c,e,tp,m,chkf)
return c:IsSetCard(0x3008) and aux.IsMaterialListCode(c,89943723) return c:IsSetCard(0x3008) and c:IsType(TYPE_FUSION) and aux.IsMaterialListCode(c,89943723)
and c:IsCanBeSpecialSummoned(e,0,tp,true,false) and c:CheckFusionMaterial(m,nil,chkf,true) and c:IsCanBeSpecialSummoned(e,0,tp,true,false) and c:CheckFusionMaterial(m,nil,chkf,true)
end end
function c35255456.target(e,tp,eg,ep,ev,re,r,rp,chk) function c35255456.target(e,tp,eg,ep,ev,re,r,rp,chk)
......
--ジャンク・ガードナー --ジャンク・ガードナー
function c37993923.initial_effect(c) function c37993923.initial_effect(c)
aux.AddMaterialCodeList(c,63977008)
--synchro summon --synchro summon
aux.AddSynchroProcedure(c,c37993923.tfilter,aux.NonTuner(nil),1) aux.AddSynchroProcedure(c,c37993923.tfilter,aux.NonTuner(nil),1)
c:EnableReviveLimit() c:EnableReviveLimit()
......
--太陽龍インティ --太陽龍インティ
function c39823987.initial_effect(c) function c39823987.initial_effect(c)
aux.AddMaterialCodeList(c,78275321)
--synchro summon --synchro summon
aux.AddSynchroProcedure(c,aux.FilterBoolFunction(Card.IsCode,78275321),aux.NonTuner(nil),1) aux.AddSynchroProcedure(c,aux.FilterBoolFunction(Card.IsCode,78275321),aux.NonTuner(nil),1)
c:EnableReviveLimit() c:EnableReviveLimit()
......
...@@ -74,7 +74,7 @@ function c41933425.splimit(e,c,sump,sumtype,sumpos,targetp,se) ...@@ -74,7 +74,7 @@ function c41933425.splimit(e,c,sump,sumtype,sumpos,targetp,se)
return not c:IsType(TYPE_FUSION) and c:IsLocation(LOCATION_EXTRA) return not c:IsType(TYPE_FUSION) and c:IsLocation(LOCATION_EXTRA)
end end
function c41933425.confilter(c,tp) function c41933425.confilter(c,tp)
return aux.IsMaterialListCode(c,89943723) and c:IsPreviousLocation(LOCATION_MZONE) return c:IsType(TYPE_FUSION) and aux.IsMaterialListCode(c,89943723) and c:IsPreviousLocation(LOCATION_MZONE)
and c:IsPreviousPosition(POS_FACEUP) and c:IsPreviousControler(tp) and c:IsLocation(LOCATION_EXTRA) and c:IsPreviousPosition(POS_FACEUP) and c:IsPreviousControler(tp) and c:IsLocation(LOCATION_EXTRA)
end end
function c41933425.spcon(e,tp,eg,ep,ev,re,r,rp) function c41933425.spcon(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -24,5 +24,5 @@ function c42015635.initial_effect(c) ...@@ -24,5 +24,5 @@ function c42015635.initial_effect(c)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c42015635.atktg(e,c) function c42015635.atktg(e,c)
return c:IsCode(89943723) or aux.IsMaterialListCode(c,89943723) return c:IsCode(89943723) or c:IsType(TYPE_FUSION) and aux.IsMaterialListCode(c,89943723)
end end
--ジャンク・アーチャー --ジャンク・アーチャー
function c42810973.initial_effect(c) function c42810973.initial_effect(c)
aux.AddMaterialCodeList(c,63977008)
--synchro summon --synchro summon
aux.AddSynchroProcedure(c,c42810973.tfilter,aux.NonTuner(nil),1) aux.AddSynchroProcedure(c,c42810973.tfilter,aux.NonTuner(nil),1)
c:EnableReviveLimit() c:EnableReviveLimit()
......
--ウィンドファーム・ジェネクス --ウィンドファーム・ジェネクス
function c43925870.initial_effect(c) function c43925870.initial_effect(c)
aux.AddMaterialCodeList(c,68505803)
--synchro summon --synchro summon
aux.AddSynchroProcedure(c,aux.FilterBoolFunction(Card.IsCode,68505803),aux.NonTuner(Card.IsAttribute,ATTRIBUTE_WIND),1) aux.AddSynchroProcedure(c,aux.FilterBoolFunction(Card.IsCode,68505803),aux.NonTuner(Card.IsAttribute,ATTRIBUTE_WIND),1)
c:EnableReviveLimit() c:EnableReviveLimit()
......
--フルール・ド・シュヴァリエ --フルール・ド・シュヴァリエ
function c45037489.initial_effect(c) function c45037489.initial_effect(c)
aux.AddMaterialCodeList(c,19642774)
--synchro summon --synchro summon
aux.AddSynchroProcedure(c,c45037489.tfilter,aux.NonTuner(nil),1) aux.AddSynchroProcedure(c,c45037489.tfilter,aux.NonTuner(nil),1)
c:EnableReviveLimit() c:EnableReviveLimit()
......
--ターボ・ウォリアー --ターボ・ウォリアー
function c46195773.initial_effect(c) function c46195773.initial_effect(c)
aux.AddMaterialCodeList(c,67270095)
--synchro summon --synchro summon
aux.AddSynchroProcedure(c,c46195773.tfilter,aux.NonTuner(nil),1) aux.AddSynchroProcedure(c,c46195773.tfilter,aux.NonTuner(nil),1)
c:EnableReviveLimit() c:EnableReviveLimit()
......
--サイバー・ドラゴン・ズィーガー --サイバー・ドラゴン・ズィーガー
function c46724542.initial_effect(c) function c46724542.initial_effect(c)
aux.AddMaterialCodeList(c,70095154)
--link summon --link summon
c:EnableReviveLimit() c:EnableReviveLimit()
aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkRace,RACE_MACHINE),2,2,c46724542.lcheck) aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkRace,RACE_MACHINE),2,2,c46724542.lcheck)
......
--ハイドロ・ジェネクス --ハイドロ・ジェネクス
function c47421985.initial_effect(c) function c47421985.initial_effect(c)
aux.AddMaterialCodeList(c,68505803)
--synchro summon --synchro summon
aux.AddSynchroProcedure(c,aux.FilterBoolFunction(Card.IsCode,68505803),aux.NonTuner(Card.IsAttribute,ATTRIBUTE_WATER),1) aux.AddSynchroProcedure(c,aux.FilterBoolFunction(Card.IsCode,68505803),aux.NonTuner(Card.IsAttribute,ATTRIBUTE_WATER),1)
c:EnableReviveLimit() c:EnableReviveLimit()
......
...@@ -67,7 +67,7 @@ function c48048590.thop(e,tp,eg,ep,ev,re,r,rp) ...@@ -67,7 +67,7 @@ function c48048590.thop(e,tp,eg,ep,ev,re,r,rp)
end end
end end
function c48048590.filter1(c,e,tp) function c48048590.filter1(c,e,tp)
return Duel.IsExistingMatchingCard(c48048590.filter2,tp,LOCATION_GRAVE,0,1,nil,e,tp,c) return c:IsType(TYPE_FUSION) and Duel.IsExistingMatchingCard(c48048590.filter2,tp,LOCATION_GRAVE,0,1,nil,e,tp,c)
end end
function c48048590.filter2(c,e,tp,fc) function c48048590.filter2(c,e,tp,fc)
return c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEDOWN_DEFENSE) and aux.IsMaterialListCode(fc,c:GetCode()) return c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEDOWN_DEFENSE) and aux.IsMaterialListCode(fc,c:GetCode())
......
...@@ -18,7 +18,7 @@ function c49469105.cost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -18,7 +18,7 @@ function c49469105.cost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.DiscardHand(tp,c49469105.cfilter,1,1,REASON_COST+REASON_DISCARD) Duel.DiscardHand(tp,c49469105.cfilter,1,1,REASON_COST+REASON_DISCARD)
end end
function c49469105.filter1(c,g) function c49469105.filter1(c,g)
return g:IsExists(c49469105.filter2,1,nil,c) return c:IsType(TYPE_FUSION) and g:IsExists(c49469105.filter2,1,nil,c)
end end
function c49469105.filter2(c,fc) function c49469105.filter2(c,fc)
return aux.IsMaterialListCode(fc,c:GetCode()) return aux.IsMaterialListCode(fc,c:GetCode())
......
--蘇りし魔王 ハ・デス --蘇りし魔王 ハ・デス
function c5309481.initial_effect(c) function c5309481.initial_effect(c)
aux.AddMaterialCodeList(c,33420078)
--synchro summon --synchro summon
aux.AddSynchroProcedure(c,aux.FilterBoolFunction(Card.IsCode,33420078),aux.NonTuner(Card.IsRace,RACE_ZOMBIE),1) aux.AddSynchroProcedure(c,aux.FilterBoolFunction(Card.IsCode,33420078),aux.NonTuner(Card.IsRace,RACE_ZOMBIE),1)
c:EnableReviveLimit() c:EnableReviveLimit()
......
--ジャンク・バーサーカー --ジャンク・バーサーカー
function c59771339.initial_effect(c) function c59771339.initial_effect(c)
aux.AddMaterialCodeList(c,63977008)
--synchro summon --synchro summon
aux.AddSynchroProcedure(c,c59771339.tfilter,aux.NonTuner(nil),1) aux.AddSynchroProcedure(c,c59771339.tfilter,aux.NonTuner(nil),1)
c:EnableReviveLimit() c:EnableReviveLimit()
......
--アンデット・スカル・デーモン --アンデット・スカル・デーモン
function c59969392.initial_effect(c) function c59969392.initial_effect(c)
aux.AddMaterialCodeList(c,33420078)
--synchro summon --synchro summon
aux.AddSynchroProcedure(c,aux.FilterBoolFunction(Card.IsCode,33420078),aux.NonTuner(Card.IsRace,RACE_ZOMBIE),2) aux.AddSynchroProcedure(c,aux.FilterBoolFunction(Card.IsCode,33420078),aux.NonTuner(Card.IsRace,RACE_ZOMBIE),2)
c:EnableReviveLimit() c:EnableReviveLimit()
......
--デスカイザー・ドラゴン --デスカイザー・ドラゴン
function c6021033.initial_effect(c) function c6021033.initial_effect(c)
aux.AddMaterialCodeList(c,33420078)
--synchro summon --synchro summon
aux.AddSynchroProcedure(c,aux.FilterBoolFunction(Card.IsCode,33420078),aux.NonTuner(Card.IsRace,RACE_ZOMBIE),1) aux.AddSynchroProcedure(c,aux.FilterBoolFunction(Card.IsCode,33420078),aux.NonTuner(Card.IsRace,RACE_ZOMBIE),1)
c:EnableReviveLimit() c:EnableReviveLimit()
......
--ジャンク・ウォリアー --ジャンク・ウォリアー
function c60800381.initial_effect(c) function c60800381.initial_effect(c)
aux.AddMaterialCodeList(c,63977008)
--synchro summon --synchro summon
aux.AddSynchroProcedure(c,c60800381.tfilter,aux.NonTuner(nil),1) aux.AddSynchroProcedure(c,c60800381.tfilter,aux.NonTuner(nil),1)
c:EnableReviveLimit() c:EnableReviveLimit()
......
--サーマル・ジェネクス --サーマル・ジェネクス
function c6588580.initial_effect(c) function c6588580.initial_effect(c)
aux.AddMaterialCodeList(c,68505803)
--synchro summon --synchro summon
aux.AddSynchroProcedure(c,aux.FilterBoolFunction(Card.IsCode,68505803),aux.NonTuner(Card.IsAttribute,ATTRIBUTE_FIRE),1) aux.AddSynchroProcedure(c,aux.FilterBoolFunction(Card.IsCode,68505803),aux.NonTuner(Card.IsAttribute,ATTRIBUTE_FIRE),1)
c:EnableReviveLimit() c:EnableReviveLimit()
......
...@@ -11,7 +11,7 @@ function c66127916.initial_effect(c) ...@@ -11,7 +11,7 @@ function c66127916.initial_effect(c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c66127916.filter1(c,tp) function c66127916.filter1(c,tp)
return Duel.IsExistingMatchingCard(c66127916.filter2,tp,LOCATION_DECK,0,1,nil,c) return c:IsType(TYPE_FUSION) and Duel.IsExistingMatchingCard(c66127916.filter2,tp,LOCATION_DECK,0,1,nil,c)
end end
function c66127916.filter2(c,fc) function c66127916.filter2(c,fc)
return aux.IsMaterialListCode(fc,c:GetCode()) and c:IsAbleToHand() return aux.IsMaterialListCode(fc,c:GetCode()) and c:IsAbleToHand()
......
--月影龍クイラ --月影龍クイラ
function c66818682.initial_effect(c) function c66818682.initial_effect(c)
aux.AddMaterialCodeList(c,78552773)
--synchro summon --synchro summon
aux.AddSynchroProcedure(c,aux.FilterBoolFunction(Card.IsCode,78552773),aux.NonTuner(nil),1) aux.AddSynchroProcedure(c,aux.FilterBoolFunction(Card.IsCode,78552773),aux.NonTuner(nil),1)
c:EnableReviveLimit() c:EnableReviveLimit()
......
--セイヴァー・デモン・ドラゴン --セイヴァー・デモン・ドラゴン
function c67030233.initial_effect(c) function c67030233.initial_effect(c)
aux.AddMaterialCodeList(c,21159309,70902743)
--synchro summon --synchro summon
aux.AddSynchroMixProcedure(c,c67030233.mfilter1,c67030233.mfilter2,nil,aux.NonTuner(nil),1,1) aux.AddSynchroMixProcedure(c,c67030233.mfilter1,c67030233.mfilter2,nil,aux.NonTuner(nil),1,1)
c:EnableReviveLimit() c:EnableReviveLimit()
......
...@@ -33,11 +33,11 @@ function c67159705.initial_effect(c) ...@@ -33,11 +33,11 @@ function c67159705.initial_effect(c)
c:RegisterEffect(e5) c:RegisterEffect(e5)
end end
function c67159705.eqlimit(e,c) function c67159705.eqlimit(e,c)
return c:IsCode(70095154) or aux.IsMaterialListCode(c,70095154) or e:GetHandler():GetEquipTarget()==c return c:IsCode(70095154) or c:IsType(TYPE_FUSION) and aux.IsMaterialListCode(c,70095154) or e:GetHandler():GetEquipTarget()==c
end end
function c67159705.filter(c) function c67159705.filter(c)
local ct1,ct2=c:GetUnionCount() local ct1,ct2=c:GetUnionCount()
return c:IsFaceup() and (c:IsCode(70095154) or aux.IsMaterialListCode(c,70095154)) and ct2==0 return c:IsFaceup() and (c:IsCode(70095154) or c:IsType(TYPE_FUSION) and aux.IsMaterialListCode(c,70095154)) and ct2==0
end end
function c67159705.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c67159705.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c67159705.filter(chkc) end if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c67159705.filter(chkc) end
......
--宇宙砦ゴルガー --宇宙砦ゴルガー
function c68319538.initial_effect(c) function c68319538.initial_effect(c)
aux.AddMaterialCodeList(c,652362)
--synchro summon --synchro summon
aux.AddSynchroProcedure(c,aux.FilterBoolFunction(Card.IsCode,652362),aux.NonTuner(Card.IsSetCard,0xc),1) aux.AddSynchroProcedure(c,aux.FilterBoolFunction(Card.IsCode,652362),aux.NonTuner(Card.IsSetCard,0xc),1)
c:EnableReviveLimit() c:EnableReviveLimit()
......
--ジャンク・デストロイヤー --ジャンク・デストロイヤー
function c74860293.initial_effect(c) function c74860293.initial_effect(c)
aux.AddMaterialCodeList(c,63977008)
--synchro summon --synchro summon
aux.AddSynchroProcedure(c,c74860293.tfilter,aux.NonTuner(nil),1) aux.AddSynchroProcedure(c,c74860293.tfilter,aux.NonTuner(nil),1)
c:EnableReviveLimit() c:EnableReviveLimit()
......
--セイヴァー・スター・ドラゴン --セイヴァー・スター・ドラゴン
function c7841112.initial_effect(c) function c7841112.initial_effect(c)
aux.AddCodeList(c,44508094) aux.AddMaterialCodeList(c,21159309,44508094)
--synchro summon --synchro summon
aux.AddSynchroMixProcedure(c,c7841112.mfilter1,c7841112.mfilter2,nil,aux.NonTuner(nil),1,1) aux.AddSynchroMixProcedure(c,c7841112.mfilter1,c7841112.mfilter2,nil,aux.NonTuner(nil),1,1)
c:EnableReviveLimit() c:EnableReviveLimit()
......
--Sin パラドクス・ドラゴン --Sin パラドクス・ドラゴン
function c8310162.initial_effect(c) function c8310162.initial_effect(c)
aux.AddMaterialCodeList(c,74509280)
--synchro summon --synchro summon
aux.AddSynchroProcedure(c,aux.FilterBoolFunction(Card.IsCode,74509280),aux.NonTuner(Card.IsSetCard,0x23),1,1) aux.AddSynchroProcedure(c,aux.FilterBoolFunction(Card.IsCode,74509280),aux.NonTuner(Card.IsSetCard,0x23),1,1)
c:EnableReviveLimit() c:EnableReviveLimit()
......
...@@ -14,7 +14,7 @@ function c89312388.filter2(c,fc) ...@@ -14,7 +14,7 @@ function c89312388.filter2(c,fc)
return aux.IsMaterialListCode(fc,c:GetCode()) and c:IsAbleToGraveAsCost() return aux.IsMaterialListCode(fc,c:GetCode()) and c:IsAbleToGraveAsCost()
end end
function c89312388.filter1(c,tp) function c89312388.filter1(c,tp)
return Duel.IsExistingMatchingCard(c89312388.filter2,tp,LOCATION_DECK,0,1,nil,c) return c:IsType(TYPE_FUSION) and Duel.IsExistingMatchingCard(c89312388.filter2,tp,LOCATION_DECK,0,1,nil,c)
end end
function c89312388.coscost(e,tp,eg,ep,ev,re,r,rp,chk) function c89312388.coscost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c89312388.filter1,tp,LOCATION_EXTRA,0,1,nil,tp) end if chk==0 then return Duel.IsExistingMatchingCard(c89312388.filter1,tp,LOCATION_EXTRA,0,1,nil,tp) end
......
...@@ -23,7 +23,8 @@ function c92773018.condition(e,tp,eg,ep,ev,re,r,rp) ...@@ -23,7 +23,8 @@ function c92773018.condition(e,tp,eg,ep,ev,re,r,rp)
return tp~=Duel.GetTurnPlayer() return tp~=Duel.GetTurnPlayer()
end end
function c92773018.cfilter(c) function c92773018.cfilter(c)
return c:IsFaceup() and (c:IsCode(70095154) or aux.IsMaterialListCode(c,70095154)) and c:IsAbleToGraveAsCost() return c:IsFaceup() and (c:IsCode(70095154) or c:IsType(TYPE_FUSION) and aux.IsMaterialListCode(c,70095154))
and c:IsAbleToGraveAsCost()
end end
function c92773018.cost(e,tp,eg,ep,ev,re,r,rp,chk) function c92773018.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c92773018.cfilter,tp,LOCATION_MZONE,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(c92773018.cfilter,tp,LOCATION_MZONE,0,1,nil) end
......
--スカーレッド・ノヴァ・ドラゴン --スカーレッド・ノヴァ・ドラゴン
function c97489701.initial_effect(c) function c97489701.initial_effect(c)
aux.AddMaterialCodeList(c,70902743)
--synchro summon --synchro summon
aux.AddSynchroMixProcedure(c,aux.Tuner(nil),aux.Tuner(nil),nil,aux.FilterBoolFunction(Card.IsCode,70902743),1,1) aux.AddSynchroMixProcedure(c,aux.Tuner(nil),aux.Tuner(nil),nil,aux.FilterBoolFunction(Card.IsCode,70902743),1,1)
c:EnableReviveLimit() c:EnableReviveLimit()
......
...@@ -2056,6 +2056,21 @@ function Auxiliary.ExtraDeckSummonCountLimitReset() ...@@ -2056,6 +2056,21 @@ function Auxiliary.ExtraDeckSummonCountLimitReset()
Auxiliary.ExtraDeckSummonCountLimit[0]=1 Auxiliary.ExtraDeckSummonCountLimit[0]=1
Auxiliary.ExtraDeckSummonCountLimit[1]=1 Auxiliary.ExtraDeckSummonCountLimit[1]=1
end end
--Fusion Monster is unnecessary to use this
function Auxiliary.AddMaterialCodeList(c,...)
if c:IsStatus(STATUS_COPYING_EFFECT) then return end
local mat={}
for _,code in ipairs{...} do
mat[code]=true
end
if c.material==nil then
local mt=getmetatable(c)
mt.material=mat
end
for index,_ in pairs(mat) do
Auxiliary.AddCodeList(c,index)
end
end
function Auxiliary.IsMaterialListCode(c,code) function Auxiliary.IsMaterialListCode(c,code)
return c.material and c.material[code] return c.material and c.material[code]
end 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