Commit 36bf82fa authored by POLYMER's avatar POLYMER

fix

parent f03b64e6
...@@ -87,8 +87,8 @@ function c28316149.regop(e,tp,eg,ep,ev,re,r,rp) ...@@ -87,8 +87,8 @@ function c28316149.regop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_CARD,0,28316149) Duel.Hint(HINT_CARD,0,28316149)
Duel.Hint(HINT_SELECTMSG,p,HINTMSG_SET) Duel.Hint(HINT_SELECTMSG,p,HINTMSG_SET)
local tc=g:Select(p,1,1,nil):GetFirst() local tc=g:Select(p,1,1,nil):GetFirst()
if tc:IsAbleToHand() and (not (tc:IsCanBeSpecialSummoned(e,0,p,false,false,POS_FACEDOWN_DEFENSE) and Duel.GetMZoneCount(p)>0) or Duel.SelectOption(p,1190,1153)==0) then if tc:IsSSetable() then
Duel.SendtoHand(tc,nil,REASON_EFFECT) Duel.SSet(tp,tc)
else else
Duel.SpecialSummon(tc,0,p,p,false,false,POS_FACEDOWN_DEFENSE) Duel.SpecialSummon(tc,0,p,p,false,false,POS_FACEDOWN_DEFENSE)
end end
......
...@@ -52,14 +52,18 @@ function c28366277.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -52,14 +52,18 @@ function c28366277.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local tc=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c28366277.thfilter),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil):GetFirst() local tc=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c28366277.thfilter),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil):GetFirst()
if tc then if tc then
Duel.SendtoHand(tc,nil,REASON_EFFECT) if tc:IsLocation(LOCATION_GRAVE) then Duel.HintSelection(Group.FromCards(tc)) end
Duel.ConfirmCards(1-tp,tc) if Duel.SendtoHand(tc,nil,REASON_EFFECT)==0 then return end
if tc:IsPreviousLocation(LOCATION_DECK) then Duel.ConfirmCards(1-tp,tc) end
if not tc:IsLocation(LOCATION_HAND) then return end
if Duel.GetLP(tp)<=3000 and Duel.IsExistingMatchingCard(c28366277.thfilter,tp,LOCATION_DECK,0,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(28366277,1)) then if Duel.GetLP(tp)<=3000 and Duel.IsExistingMatchingCard(c28366277.thfilter,tp,LOCATION_DECK,0,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(28366277,1)) then
Duel.BreakEffect() Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c28366277.thfilter),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c28366277.thfilter),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil)
if g:GetFirst():IsLocation(LOCATION_GRAVE) then Duel.HintSelection(g) end
Duel.SendtoHand(g,nil,REASON_EFFECT) Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g) if not g:GetFirst():IsLocation(LOCATION_HAND) then return end
if g:GetFirst():IsPreviousLocation(LOCATION_DECK) then Duel.ConfirmCards(1-tp,g) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local dg=Duel.SelectMatchingCard(tp,aux.TRUE,tp,LOCATION_HAND+LOCATION_ONFIELD,0,1,1,aux.ExceptThisCard(e)) local dg=Duel.SelectMatchingCard(tp,aux.TRUE,tp,LOCATION_HAND+LOCATION_ONFIELD,0,1,1,aux.ExceptThisCard(e))
if dg:GetFirst():IsLocation(LOCATION_ONFIELD) then if dg:GetFirst():IsLocation(LOCATION_ONFIELD) then
......
...@@ -39,7 +39,7 @@ function c28372877.tdfilter(c,ct) ...@@ -39,7 +39,7 @@ function c28372877.tdfilter(c,ct)
end end
function c28372877.tdtg(e,tp,eg,ep,ev,re,r,rp,chk) function c28372877.tdtg(e,tp,eg,ep,ev,re,r,rp,chk)
local g=Duel.GetMatchingGroup(c28372877.tdfilter,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,nil,0) local g=Duel.GetMatchingGroup(c28372877.tdfilter,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,nil,0)
if chk==0 then return aux.gfcheck(c28372877.tdfilter,1,2) end if chk==0 then return aux.gfcheck(g,c28372877.tdfilter,1,2) end
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,2,tp,LOCATION_GRAVE+LOCATION_REMOVED) Duel.SetOperationInfo(0,CATEGORY_TODECK,g,2,tp,LOCATION_GRAVE+LOCATION_REMOVED)
end end
function c28372877.gcheck(g) function c28372877.gcheck(g)
......
...@@ -163,7 +163,7 @@ function s.cpop(e,tp,eg,ep,ev,re,r,rp) ...@@ -163,7 +163,7 @@ function s.cpop(e,tp,eg,ep,ev,re,r,rp)
local cdata=effects[1] local cdata=effects[1]
if #effects>1 then if #effects>1 then
local t={} local t={}
for i=1,max do for i=1,#effects do
t[i]=i t[i]=i
end end
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(id,0)) Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(id,0))
...@@ -222,7 +222,7 @@ function s.addData(ctable,cdata) ...@@ -222,7 +222,7 @@ function s.addData(ctable,cdata)
-- found=true -- found=true
-- local id=cdata.id -- local id=cdata.id
-- for i in pairs(id) do -- for i in pairs(id) do
-- table.insert(item.id,i) -- table.insert(item.id,i)
-- end -- end
-- break -- break
-- end -- end
...@@ -242,9 +242,9 @@ function s.geteffect(cdata,c) ...@@ -242,9 +242,9 @@ function s.geteffect(cdata,c)
function Card.RegisterEffect(cc,ce,...) function Card.RegisterEffect(cc,ce,...)
table.insert(effects,ce) table.insert(effects,ce)
end end
Duel.DisableActionCheck(true) if KOISHI_CHECK then Duel.DisableActionCheck(true) end
local token=Duel.CreateToken(0,cdata.code) local token=Duel.CreateToken(0,cdata.code)
Duel.DisableActionCheck(false) if KOISHI_CHECK then Duel.DisableActionCheck(false) end
Card.RegisterEffect=s.RegisterEffect Card.RegisterEffect=s.RegisterEffect
local copyeffect={} local copyeffect={}
for i,effect in ipairs(effects) do for i,effect in ipairs(effects) do
......
...@@ -3,7 +3,7 @@ local s,id,o=GetID() ...@@ -3,7 +3,7 @@ local s,id,o=GetID()
function s.initial_effect(c) function s.initial_effect(c)
--Fusion Material --Fusion Material
c:EnableReviveLimit() c:EnableReviveLimit()
aux.AddFusionProcMixRep(c,true,true,s.mfilter,5,5) aux.AddFusionProcFunRep(c,s.ffilter,5,true)
--Special Summon --Special Summon
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,0)) e1:SetDescription(aux.Stringid(id,0))
...@@ -38,8 +38,8 @@ function s.initial_effect(c) ...@@ -38,8 +38,8 @@ function s.initial_effect(c)
e3:SetOperation(s.negop) e3:SetOperation(s.negop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function s.mfilter(c,fc,sub,mg,sg) function s.ffilter(c,fc,sub,mg,sg)
return c:IsSetCard(0x838) return c:IsFusionSetCard(0x838) and (not sg or not sg:IsExists(Card.IsFusionCode,1,c,c:GetFusionCode()))
end end
function s.spcon(e,tp,eg,ep,ev,re,r,rp) function s.spcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_FUSION) return e:GetHandler():IsSummonType(SUMMON_TYPE_FUSION)
......
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