Commit 94e97df8 authored by salix5's avatar salix5

fix

parent d490c594
...@@ -11,8 +11,8 @@ function c33252803.initial_effect(c) ...@@ -11,8 +11,8 @@ function c33252803.initial_effect(c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c33252803.filter1(c,e,tp) function c33252803.filter1(c,e,tp)
local m=_G["c" .. c:GetCode()] local m=_G["c"..c:GetCode()]
return c:IsFaceup() and c:IsSetCard(0x48) and not c:IsSetCard(0x1048) return c:IsFaceup() and c:IsSetCard(0x48) and not c:IsSetCard(0x1048) and m
and Duel.IsExistingMatchingCard(c33252803.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,c,c:GetRank()+1,m.xyz_number) and Duel.IsExistingMatchingCard(c33252803.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,c,c:GetRank()+1,m.xyz_number)
end end
function c33252803.filter2(c,e,tp,mc,rk,no) function c33252803.filter2(c,e,tp,mc,rk,no)
...@@ -30,8 +30,8 @@ end ...@@ -30,8 +30,8 @@ end
function c33252803.activate(e,tp,eg,ep,ev,re,r,rp) function c33252803.activate(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<0 then return end if Duel.GetLocationCount(tp,LOCATION_MZONE)<0 then return end
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if tc:IsFacedown() or not tc:IsRelateToEffect(e) or tc:IsControler(1-tp) or tc:IsImmuneToEffect(e) then return end local m=_G["c"..tc:GetCode()]
local m=_G["c" .. tc:GetCode()] if tc:IsFacedown() or not tc:IsRelateToEffect(e) or tc:IsControler(1-tp) or tc:IsImmuneToEffect(e) or not m then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c33252803.filter2,tp,LOCATION_EXTRA,0,1,1,nil,e,tp,tc,tc:GetRank()+1,m.xyz_number) local g=Duel.SelectMatchingCard(tp,c33252803.filter2,tp,LOCATION_EXTRA,0,1,1,nil,e,tp,tc,tc:GetRank()+1,m.xyz_number)
local sc=g:GetFirst() local sc=g:GetFirst()
......
...@@ -36,7 +36,8 @@ function c57734012.condition(e,tp,eg,ep,ev,re,r,rp) ...@@ -36,7 +36,8 @@ function c57734012.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetCurrentPhase()==PHASE_MAIN1 and not Duel.CheckPhaseActivity() and e:GetHandler():GetFlagEffect(57734012)~=0 return Duel.GetCurrentPhase()==PHASE_MAIN1 and not Duel.CheckPhaseActivity() and e:GetHandler():GetFlagEffect(57734012)~=0
end end
function c57734012.filter1(c,e,tp) function c57734012.filter1(c,e,tp)
local m=_G["c" .. c:GetCode()] local m=_G["c"..c:GetCode()]
if not m then return false end
local no=m.xyz_number local no=m.xyz_number
return no and no>=101 and no<=107 and c:IsSetCard(0x48) and not c:IsSetCard(0x1048) return no and no>=101 and no<=107 and c:IsSetCard(0x48) and not c:IsSetCard(0x1048)
and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and not c:IsHasEffect(EFFECT_NECRO_VALLEY) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and not c:IsHasEffect(EFFECT_NECRO_VALLEY)
...@@ -60,7 +61,8 @@ function c57734012.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -60,7 +61,8 @@ function c57734012.activate(e,tp,eg,ep,ev,re,r,rp)
local g1=Duel.SelectMatchingCard(tp,c57734012.filter1,tp,LOCATION_GRAVE+LOCATION_EXTRA,0,1,1,nil,e,tp) local g1=Duel.SelectMatchingCard(tp,c57734012.filter1,tp,LOCATION_GRAVE+LOCATION_EXTRA,0,1,1,nil,e,tp)
local tc1=g1:GetFirst() local tc1=g1:GetFirst()
if tc1 and Duel.SpecialSummon(tc1,0,tp,tp,false,false,POS_FACEUP)~=0 then if tc1 and Duel.SpecialSummon(tc1,0,tp,tp,false,false,POS_FACEUP)~=0 then
local m=_G["c" .. tc1:GetCode()] local m=_G["c"..tc1:GetCode()]
if not m then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g2=Duel.SelectMatchingCard(tp,c57734012.filter2,tp,LOCATION_EXTRA,0,1,1,nil,e,tp,tc1,m.xyz_number) local g2=Duel.SelectMatchingCard(tp,c57734012.filter2,tp,LOCATION_EXTRA,0,1,1,nil,e,tp,tc1,m.xyz_number)
local tc2=g2:GetFirst() local tc2=g2:GetFirst()
......
...@@ -70,9 +70,8 @@ function c93238626.filter(c,e,tp,no) ...@@ -70,9 +70,8 @@ function c93238626.filter(c,e,tp,no)
end end
function c93238626.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function c93238626.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then if chk==0 then
local m=_G["c" .. Duel.GetAttackTarget():GetCode()] local m=_G["c"..Duel.GetAttackTarget():GetCode()]
local no=m.xyz_number return m and m.xyz_number and Duel.IsExistingMatchingCard(c93238626.filter,tp,LOCATION_EXTRA,0,1,nil,e,tp,m.xyz_number)
return no and Duel.IsExistingMatchingCard(c93238626.filter,tp,LOCATION_EXTRA,0,1,nil,e,tp,no)
end end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end end
...@@ -80,8 +79,8 @@ function c93238626.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -80,8 +79,8 @@ function c93238626.spop(e,tp,eg,ep,ev,re,r,rp)
if not Duel.NegateAttack() then return end if not Duel.NegateAttack() then return end
if Duel.GetLocationCount(tp,LOCATION_MZONE)<0 then return end if Duel.GetLocationCount(tp,LOCATION_MZONE)<0 then return end
local tc=Duel.GetAttackTarget() local tc=Duel.GetAttackTarget()
if tc:IsFacedown() or not tc:IsRelateToBattle() or tc:IsControler(1-tp) or tc:IsImmuneToEffect(e) then return end local m=_G["c"..Duel.GetAttackTarget():GetCode()]
local m=_G["tc" .. Duel.GetAttackTarget():GetCode()] if tc:IsFacedown() or not tc:IsRelateToBattle() or tc:IsControler(1-tp) or tc:IsImmuneToEffect(e) or not m then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c93238626.filter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp,m.xyz_number) local g=Duel.SelectMatchingCard(tp,c93238626.filter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp,m.xyz_number)
local sc=g:GetFirst() local sc=g:GetFirst()
......
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