Commit ce9691cb authored by nekrozar's avatar nekrozar

fix for Oracle of Zefra

parent 1542d1d9
...@@ -59,7 +59,7 @@ function c41685633.sprop(e,tp,eg,ep,ev,re,r,rp,c) ...@@ -59,7 +59,7 @@ function c41685633.sprop(e,tp,eg,ep,ev,re,r,rp,c)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g2=Duel.SelectMatchingCard(tp,c41685633.sprfilter2,tp,LOCATION_MZONE,0,1,1,nil,tp,c) local g2=Duel.SelectMatchingCard(tp,c41685633.sprfilter2,tp,LOCATION_MZONE,0,1,1,nil,tp,c)
g1:Merge(g2) g1:Merge(g2)
c:SetMaterial(g) c:SetMaterial(g1)
Duel.Remove(g1,POS_FACEUP,REASON_COST) Duel.Remove(g1,POS_FACEUP,REASON_COST)
end end
function c41685633.descon(e,tp,eg,ep,ev,re,r,rp) function c41685633.descon(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -44,8 +44,8 @@ function c65172015.initial_effect(c) ...@@ -44,8 +44,8 @@ function c65172015.initial_effect(c)
e4:SetOperation(c65172015.spop2) e4:SetOperation(c65172015.spop2)
c:RegisterEffect(e4) c:RegisterEffect(e4)
end end
function c65172015.matfilter(c) function c65172015.matfilter(c,sc)
return c:IsOriginalCodeRule(1561110,91998119) and c:IsAbleToRemoveAsCost() return c:IsOriginalCodeRule(1561110,91998119) and c:IsAbleToRemoveAsCost() and c:IsCanBeFusionMaterial(sc,SUMMON_TYPE_SPECIAL)
end end
function c65172015.cfilter1(c,tp,g) function c65172015.cfilter1(c,tp,g)
return g:IsExists(c65172015.cfilter2,1,c,tp,c) return g:IsExists(c65172015.cfilter2,1,c,tp,c)
...@@ -58,17 +58,18 @@ end ...@@ -58,17 +58,18 @@ end
function c65172015.spcon(e,c) function c65172015.spcon(e,c)
if c==nil then return true end if c==nil then return true end
local tp=c:GetControler() local tp=c:GetControler()
local g=Duel.GetMatchingGroup(c65172015.matfilter,tp,LOCATION_ONFIELD,0,nil) local g=Duel.GetMatchingGroup(c65172015.matfilter,tp,LOCATION_ONFIELD,0,nil,sc)
return g:IsExists(c65172015.cfilter1,1,nil,tp,g) return g:IsExists(c65172015.cfilter1,1,nil,tp,g)
end end
function c65172015.spop(e,tp,eg,ep,ev,re,r,rp,c) function c65172015.spop(e,tp,eg,ep,ev,re,r,rp,c)
local g=Duel.GetMatchingGroup(c65172015.matfilter,tp,LOCATION_ONFIELD,0,nil) local g=Duel.GetMatchingGroup(c65172015.matfilter,tp,LOCATION_ONFIELD,0,nil,sc)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g1=g:FilterSelect(tp,c65172015.cfilter1,1,1,nil,tp,g) local g1=g:FilterSelect(tp,c65172015.cfilter1,1,1,nil,tp,g)
local mc=g1:GetFirst() local mc=g1:GetFirst()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g2=g:FilterSelect(tp,c65172015.cfilter2,1,1,mc,tp,mc) local g2=g:FilterSelect(tp,c65172015.cfilter2,1,1,mc,tp,mc)
g1:Merge(g2) g1:Merge(g2)
c:SetMaterial(g1)
Duel.Remove(g1,POS_FACEUP,REASON_COST) Duel.Remove(g1,POS_FACEUP,REASON_COST)
end end
function c65172015.discon(e,tp,eg,ep,ev,re,r,rp) function c65172015.discon(e,tp,eg,ep,ev,re,r,rp)
......
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