Commit 7f130759 authored by mercury233's avatar mercury233

fix

parent 54df2a39
...@@ -62,11 +62,12 @@ function c101005033.spcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -62,11 +62,12 @@ function c101005033.spcon(e,tp,eg,ep,ev,re,r,rp)
end end
function c101005033.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function c101005033.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCountFromEx(tp)>0 if chk==0 then return Duel.GetLocationCountFromEx(tp)>0
and aux.MustMaterialCheck(nil,tp,EFFECT_MUST_BE_SMATERIAL)
and Duel.IsExistingMatchingCard(c101005033.spfilter,tp,LOCATION_EXTRA,0,1,nil,e,tp) end and Duel.IsExistingMatchingCard(c101005033.spfilter,tp,LOCATION_EXTRA,0,1,nil,e,tp) 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
function c101005033.spop(e,tp,eg,ep,ev,re,r,rp) function c101005033.spop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCountFromEx(tp)<=0 then return end if Duel.GetLocationCountFromEx(tp)<=0 or not aux.MustMaterialCheck(nil,tp,EFFECT_MUST_BE_SMATERIAL) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tc=Duel.SelectMatchingCard(tp,c101005033.spfilter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp):GetFirst() local tc=Duel.SelectMatchingCard(tp,c101005033.spfilter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp):GetFirst()
if tc and Duel.SpecialSummon(tc,SUMMON_TYPE_SYNCHRO,tp,tp,false,false,POS_FACEUP)>0 then if tc and Duel.SpecialSummon(tc,SUMMON_TYPE_SYNCHRO,tp,tp,false,false,POS_FACEUP)>0 then
......
...@@ -50,7 +50,6 @@ function c101005067.thop(e,tp,eg,ep,ev,re,r,rp) ...@@ -50,7 +50,6 @@ function c101005067.thop(e,tp,eg,ep,ev,re,r,rp)
local g=e:GetLabelObject() local g=e:GetLabelObject()
if g:GetCount()==3 then if g:GetCount()==3 then
Duel.SendtoHand(g,nil,REASON_EFFECT) Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end end
end end
end end
...@@ -75,6 +75,7 @@ function c101005072.target(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -75,6 +75,7 @@ function c101005072.target(e,tp,eg,ep,ev,re,r,rp,chk)
end end
function c101005072.relfilter(c,e,tp,tc,ft) function c101005072.relfilter(c,e,tp,tc,ft)
if not c:IsLevelAbove(tc:GetLevel()) then return false end if not c:IsLevelAbove(tc:GetLevel()) then return false end
if tc.mat_filter and not tc.mat_filter(c) then return false end
if c:IsLocation(LOCATION_GRAVE) then if c:IsLocation(LOCATION_GRAVE) then
return c:IsType(TYPE_RITUAL) and ft>0 and c:IsAbleToDeck() return c:IsType(TYPE_RITUAL) and ft>0 and c:IsAbleToDeck()
else else
...@@ -86,6 +87,7 @@ function c101005072.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -86,6 +87,7 @@ function c101005072.spop(e,tp,eg,ep,ev,re,r,rp)
if not rc or rc:IsFacedown() or rc:GetFlagEffect(101005072)==0 then return end if not rc or rc:IsFacedown() or rc:GetFlagEffect(101005072)==0 then return end
if not rc:IsCanBeSpecialSummoned(e,SUMMON_TYPE_RITUAL,tp,false,true) then return end if not rc:IsCanBeSpecialSummoned(e,SUMMON_TYPE_RITUAL,tp,false,true) then return end
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE) local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local tc=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c101005072.relfilter),tp,LOCATION_MZONE+LOCATION_HAND+LOCATION_GRAVE,0,1,1,rc,e,tp,rc,ft):GetFirst() local tc=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c101005072.relfilter),tp,LOCATION_MZONE+LOCATION_HAND+LOCATION_GRAVE,0,1,1,rc,e,tp,rc,ft):GetFirst()
if tc then if tc then
rc:SetMaterial(Group.FromCards(tc)) rc:SetMaterial(Group.FromCards(tc))
......
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