Commit ef4f719e authored by nekrozar's avatar nekrozar Committed by DailyShana

fix Meklord Emperor and so on (#435)

parent e93e9187
...@@ -26,7 +26,10 @@ function c10132124.sptg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -26,7 +26,10 @@ function c10132124.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end end
function c10132124.spop(e,tp,eg,ep,ev,re,r,rp) function c10132124.spop(e,tp,eg,ep,ev,re,r,rp)
if e:GetHandler():IsRelateToEffect(e) then local c=e:GetHandler()
Duel.SpecialSummon(e:GetHandler(),0,tp,tp,false,false,POS_FACEUP) if not c:IsRelateToEffect(e) then return end
if Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)==0 and Duel.GetLocationCount(tp,LOCATION_MZONE)<=0
and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:IsLocation(LOCATION_HAND) then
Duel.SendtoGrave(c,REASON_RULE)
end end
end end
...@@ -26,7 +26,9 @@ function c16111820.target(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -26,7 +26,9 @@ function c16111820.target(e,tp,eg,ep,ev,re,r,rp,chk)
end end
function c16111820.operation(e,tp,eg,ep,ev,re,r,rp) function c16111820.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsRelateToEffect(e) then if not c:IsRelateToEffect(e) then return end
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP) if Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)==0 and Duel.GetLocationCount(tp,LOCATION_MZONE)<=0
and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:IsLocation(LOCATION_HAND) then
Duel.SendtoGrave(c,REASON_RULE)
end end
end end
...@@ -62,8 +62,12 @@ function c31930787.sptg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -62,8 +62,12 @@ function c31930787.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
end end
function c31930787.spop(e,tp,eg,ep,ev,re,r,rp) function c31930787.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,tp,true,true,POS_FACEUP)>0 then if not c:IsRelateToEffect(e) then return end
if Duel.SpecialSummon(c,0,tp,tp,true,false,POS_FACEUP)~=0 then
c:CompleteProcedure() c:CompleteProcedure()
elseif Duel.GetLocationCount(tp,LOCATION_MZONE)<=0
and c:IsCanBeSpecialSummoned(e,0,tp,true,false) then
Duel.SendtoGrave(c,REASON_RULE)
end end
end end
function c31930787.antarget(e,c) function c31930787.antarget(e,c)
......
...@@ -97,8 +97,12 @@ function c37115575.sptg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -97,8 +97,12 @@ function c37115575.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
end end
function c37115575.spop(e,tp,eg,ep,ev,re,r,rp) function c37115575.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsLocation(LOCATION_HAND+LOCATION_GRAVE) and Duel.SpecialSummon(c,0,tp,tp,true,true,POS_FACEUP)~=0 then if not c:IsRelateToEffect(e) then return end
if Duel.SpecialSummon(c,0,tp,tp,true,false,POS_FACEUP)~=0 then
c:CompleteProcedure() c:CompleteProcedure()
elseif Duel.GetLocationCount(tp,LOCATION_MZONE)<=0
and c:IsCanBeSpecialSummoned(e,0,tp,true,false) and c:IsLocation(LOCATION_HAND) then
Duel.SendtoGrave(c,REASON_RULE)
end end
end end
function c37115575.descon(e) function c37115575.descon(e)
......
...@@ -67,8 +67,12 @@ function c4545683.sptg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -67,8 +67,12 @@ function c4545683.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
end end
function c4545683.spop(e,tp,eg,ep,ev,re,r,rp) function c4545683.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,tp,true,true,POS_FACEUP)>0 then if not c:IsRelateToEffect(e) then return end
if Duel.SpecialSummon(c,0,tp,tp,true,false,POS_FACEUP)~=0 then
c:CompleteProcedure() c:CompleteProcedure()
elseif Duel.GetLocationCount(tp,LOCATION_MZONE)<=0
and c:IsCanBeSpecialSummoned(e,0,tp,true,false) then
Duel.SendtoGrave(c,REASON_RULE)
end end
end end
function c4545683.val(e,c) function c4545683.val(e,c)
......
...@@ -36,9 +36,10 @@ function c47826112.sptg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -36,9 +36,10 @@ function c47826112.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
end end
function c47826112.spop(e,tp,eg,ep,ev,re,r,rp,c) function c47826112.spop(e,tp,eg,ep,ev,re,r,rp,c)
local c=e:GetHandler() local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end if not c:IsRelateToEffect(e) then return end
if c:IsRelateToEffect(e) then if Duel.SpecialSummon(c,1,tp,tp,false,false,POS_FACEUP)==0 and Duel.GetLocationCount(tp,LOCATION_MZONE)<=0
Duel.SpecialSummon(c,1,tp,tp,false,false,POS_FACEUP) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:IsLocation(LOCATION_HAND) then
Duel.SendtoGrave(c,REASON_RULE)
end end
end end
function c47826112.thcon(e,tp,eg,ep,ev,re,r,rp) function c47826112.thcon(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -32,8 +32,9 @@ function c54813225.sptg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -32,8 +32,9 @@ function c54813225.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
end end
function c54813225.spop(e,tp,eg,ep,ev,re,r,rp,c) function c54813225.spop(e,tp,eg,ep,ev,re,r,rp,c)
local c=e:GetHandler() local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end if not c:IsRelateToEffect(e) then return end
if c:IsRelateToEffect(e) then if Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)==0 and Duel.GetLocationCount(tp,LOCATION_MZONE)<=0
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:IsLocation(LOCATION_HAND) then
Duel.SendtoGrave(c,REASON_RULE)
end end
end end
...@@ -33,7 +33,9 @@ function c64262809.sptg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -33,7 +33,9 @@ function c64262809.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
end end
function c64262809.spop(e,tp,eg,ep,ev,re,r,rp) function c64262809.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsLocation(LOCATION_HAND+LOCATION_GRAVE) then if not c:IsRelateToEffect(e) then return end
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP) if Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)==0 and Duel.GetLocationCount(tp,LOCATION_MZONE)<=0
and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:IsLocation(LOCATION_HAND) then
Duel.SendtoGrave(c,REASON_RULE)
end end
end end
...@@ -27,7 +27,10 @@ function c67757079.sptg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -27,7 +27,10 @@ function c67757079.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end end
function c67757079.spop(e,tp,eg,ep,ev,re,r,rp) function c67757079.spop(e,tp,eg,ep,ev,re,r,rp)
if e:GetHandler():IsRelateToEffect(e) then local c=e:GetHandler()
Duel.SpecialSummon(e:GetHandler(),0,tp,tp,false,false,POS_FACEUP) if not c:IsRelateToEffect(e) then return end
if Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)==0 and Duel.GetLocationCount(tp,LOCATION_MZONE)<=0
and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:IsLocation(LOCATION_HAND) then
Duel.SendtoGrave(c,REASON_RULE)
end end
end end
...@@ -66,8 +66,12 @@ function c68140974.sptg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -66,8 +66,12 @@ function c68140974.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
end end
function c68140974.spop(e,tp,eg,ep,ev,re,r,rp) function c68140974.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,tp,true,true,POS_FACEUP)>0 then if not c:IsRelateToEffect(e) then return end
if Duel.SpecialSummon(c,0,tp,tp,true,false,POS_FACEUP)~=0 then
c:CompleteProcedure() c:CompleteProcedure()
elseif Duel.GetLocationCount(tp,LOCATION_MZONE)<=0
and c:IsCanBeSpecialSummoned(e,0,tp,true,false) then
Duel.SendtoGrave(c,REASON_RULE)
end end
end end
function c68140974.antarget(e,c) function c68140974.antarget(e,c)
......
...@@ -54,8 +54,13 @@ function c87997872.sptg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -54,8 +54,13 @@ function c87997872.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end end
function c87997872.spop(e,tp,eg,ep,ev,re,r,rp) function c87997872.spop(e,tp,eg,ep,ev,re,r,rp)
if e:GetHandler():IsRelateToEffect(e) then local c=e:GetHandler()
Duel.SpecialSummon(e:GetHandler(),0,tp,tp,true,false,POS_FACEUP) if not c:IsRelateToEffect(e) then return end
if Duel.SpecialSummon(c,0,tp,tp,true,false,POS_FACEUP)~=0 then
c:CompleteProcedure()
elseif Duel.GetLocationCount(tp,LOCATION_MZONE)<=0
and c:IsCanBeSpecialSummoned(e,0,tp,true,false) and c:IsLocation(LOCATION_HAND) then
Duel.SendtoGrave(c,REASON_RULE)
end end
end end
function c87997872.atkop(e,tp,eg,ep,ev,re,r,rp) function c87997872.atkop(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -47,8 +47,13 @@ function c92377303.sptg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -47,8 +47,13 @@ function c92377303.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end end
function c92377303.spop(e,tp,eg,ep,ev,re,r,rp) function c92377303.spop(e,tp,eg,ep,ev,re,r,rp)
if e:GetHandler():IsRelateToEffect(e) and Duel.SpecialSummon(e:GetHandler(),0,tp,tp,true,false,POS_FACEUP)>0 then local c=e:GetHandler()
e:GetHandler():CompleteProcedure() if not c:IsRelateToEffect(e) then return end
if Duel.SpecialSummon(c,0,tp,tp,true,false,POS_FACEUP)~=0 then
c:CompleteProcedure()
elseif Duel.GetLocationCount(tp,LOCATION_MZONE)<=0
and c:IsCanBeSpecialSummoned(e,0,tp,true,false) and c:IsLocation(LOCATION_HAND) then
Duel.SendtoGrave(c,REASON_RULE)
end end
end end
function c92377303.thcon(e,tp,eg,ep,ev,re,r,rp) function c92377303.thcon(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -39,8 +39,10 @@ function c95772051.sptg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -39,8 +39,10 @@ function c95772051.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
end end
function c95772051.spop(e,tp,eg,ep,ev,re,r,rp) function c95772051.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and c:IsRelateToEffect(e) then if not c:IsRelateToEffect(e) then return end
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP) if Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)==0 and Duel.GetLocationCount(tp,LOCATION_MZONE)<=0
and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:IsLocation(LOCATION_HAND) then
Duel.SendtoGrave(c,REASON_RULE)
end end
end end
function c95772051.thfilter(c) function c95772051.thfilter(c)
......
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