Commit 6e8587c4 authored by Huangnan's avatar Huangnan

fix

parent 5ad3dfae
Pipeline #42406 failed with stages
in 4 minutes and 37 seconds
...@@ -25,7 +25,7 @@ function c11602190.initial_effect(c) ...@@ -25,7 +25,7 @@ function c11602190.initial_effect(c)
e2:SetOperation(c11602190.tdop) e2:SetOperation(c11602190.tdop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c11602190.cfilter(c,e) function c11602190.cfilter(c,e,tp)
return c:IsFaceupEx() and c:IsType(TYPE_LINK) and c:IsAbleToExtra() and c:IsSetCard(0x9548) return c:IsFaceupEx() and c:IsType(TYPE_LINK) and c:IsAbleToExtra() and c:IsSetCard(0x9548)
and c:IsCanBeEffectTarget(e) and c:IsCanBeEffectTarget(e)
and c:IsPreviousControler(tp) and c:IsPreviousLocation(LOCATION_MZONE) and c:IsPreviousControler(tp) and c:IsPreviousLocation(LOCATION_MZONE)
...@@ -33,10 +33,10 @@ function c11602190.cfilter(c,e) ...@@ -33,10 +33,10 @@ function c11602190.cfilter(c,e)
end end
function c11602190.tdtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c11602190.tdtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return eg:IsContains(chkc) end if chkc then return eg:IsContains(chkc) end
if chk==0 then return eg:IsExists(c11602190.cfilter,1,nil,e) if chk==0 then return eg:IsExists(c11602190.cfilter,1,nil,e,tp)
and e:GetHandler():IsAbleToHand() end and e:GetHandler():IsAbleToHand() end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=eg:FilterSelect(tp,c11602190.cfilter,1,1,nil,e) local g=eg:FilterSelect(tp,c11602190.cfilter,1,1,nil,e,tp)
Duel.SetTargetCard(g) Duel.SetTargetCard(g)
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,1,0,0) Duel.SetOperationInfo(0,CATEGORY_TODECK,g,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,e:GetHandler(),1,0,0) Duel.SetOperationInfo(0,CATEGORY_TOHAND,e:GetHandler(),1,0,0)
......
...@@ -43,8 +43,7 @@ function c11602195.chk(e,tp,eg,ep,ev,re,r,rp) ...@@ -43,8 +43,7 @@ function c11602195.chk(e,tp,eg,ep,ev,re,r,rp)
local tc=eg:GetFirst() local tc=eg:GetFirst()
while tc do while tc do
if c11602195.chkfilter(tc) then if c11602195.chkfilter(tc) then
Duel.RegisterFlagEffect(tp,11602195,RESET_PHASE+PHASE_END,0,1) Duel.RegisterFlagEffect(tc:GetControler(),11602195,RESET_PHASE+PHASE_END,0,1)
Duel.RegisterFlagEffect(1-tp,11602195,RESET_PHASE+PHASE_END,0,1)
end end
tc=eg:GetNext() tc=eg:GetNext()
end end
......
...@@ -85,9 +85,10 @@ function c11602260.destg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -85,9 +85,10 @@ function c11602260.destg(e,tp,eg,ep,ev,re,r,rp,chk)
end end
function c11602260.desop(e,tp,eg,ep,ev,re,r,rp) function c11602260.desop(e,tp,eg,ep,ev,re,r,rp)
local ct=Duel.GetMatchingGroupCount(nil,tp,0,LOCATION_ONFIELD,nil) local ct=Duel.GetMatchingGroupCount(nil,tp,0,LOCATION_ONFIELD,nil)
local st=math.min(ct,3)
if ct<1 then return end if ct<1 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,c11602260.tgfilter,tp,LOCATION_HAND+LOCATION_ONFIELD,0,1,ct,nil) local g=Duel.SelectMatchingCard(tp,c11602260.tgfilter,tp,LOCATION_HAND+LOCATION_ONFIELD,0,1,st,nil)
if g:GetCount()>0 and Duel.SendtoGrave(g,0x40)>0 then if g:GetCount()>0 and Duel.SendtoGrave(g,0x40)>0 then
local rg=Duel.GetOperatedGroup():Filter(Card.IsLocation,nil,0x10) local rg=Duel.GetOperatedGroup():Filter(Card.IsLocation,nil,0x10)
if #rg<1 then return end if #rg<1 then return end
......
...@@ -46,7 +46,7 @@ end ...@@ -46,7 +46,7 @@ end
function c11602300.target(e,tp,eg,ep,ev,re,r,rp,chk) function c11602300.target(e,tp,eg,ep,ev,re,r,rp,chk)
local ct=Duel.GetFlagEffect(tp,11602285) local ct=Duel.GetFlagEffect(tp,11602285)
if chk==0 then if chk==0 then
if Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)<ct-1 then return false end if Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)<ct-1 or ct<2 then return false end
local g=Duel.GetDecktopGroup(tp,ct-1) local g=Duel.GetDecktopGroup(tp,ct-1)
local result=g:FilterCount(Card.IsAbleToHand,nil)>0 local result=g:FilterCount(Card.IsAbleToHand,nil)>0
return result return result
......
...@@ -86,7 +86,7 @@ function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -86,7 +86,7 @@ function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
c:RegisterFlagEffect(id,RESET_CHAIN,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(id,2)) c:RegisterFlagEffect(id,RESET_CHAIN,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(id,2))
end end
return Duel.GetLocationCount(tp,0x04)>0 and Duel.GetFlagEffect(tp,id)==0 return Duel.GetLocationCount(tp,0x04)>0 and Duel.GetFlagEffect(tp,id)==0
and Duel.IsExistingMatchingCard(s.spfi1ter,tp,0x02,0,1,e:GetHandler(),e,tp) and Duel.IsExistingMatchingCard(s.spfi1ter,tp,0x02,0,1,nil,e,tp)
end end
Duel.RegisterFlagEffect(tp,id,RESET_CHAIN,EFFECT_FLAG_OATH,1) Duel.RegisterFlagEffect(tp,id,RESET_CHAIN,EFFECT_FLAG_OATH,1)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,0x02) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,0x02)
......
...@@ -88,6 +88,8 @@ function s.initial_effect(c) ...@@ -88,6 +88,8 @@ function s.initial_effect(c)
if not s.global_flag then if not s.global_flag then
s.global_flag=true s.global_flag=true
s[0]=false
s[1]=false
local ge1=Effect.CreateEffect(c) local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_SPSUMMON_SUCCESS) ge1:SetCode(EVENT_SPSUMMON_SUCCESS)
...@@ -106,16 +108,20 @@ function s.regop(e,tp,eg,ep,ev,re,r,rp) ...@@ -106,16 +108,20 @@ function s.regop(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterFlagEffect(tc:GetSummonPlayer(),id,0,0,0,tc:GetCode()) Duel.RegisterFlagEffect(tc:GetSummonPlayer(),id,0,0,0,tc:GetCode())
end end
end end
local set={Duel.GetFlagEffectLabel(tp,id)} for p=0,1 do
if Duel.GetFlagEffect(tp,id)~=0 and (#set)>=6 then local set={Duel.GetFlagEffectLabel(p,id)}
--适用全部效果 if not s[p] and Duel.GetFlagEffect(p,id)~=0 and (#set)>=6 then
local e10=Effect.CreateEffect(e:GetHandler()) s[p]=true
e10:SetDescription(aux.Stringid(id,3)) --适用全部效果
e10:SetType(EFFECT_TYPE_FIELD) local e10=Effect.CreateEffect(e:GetHandler())
e10:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CLIENT_HINT+EFFECT_CANNOT_DISABLE) e10:SetDescription(aux.Stringid(id,3))
e10:SetCode(1200201) e10:SetType(EFFECT_TYPE_FIELD)
e10:SetTargetRange(1,0) e10:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CLIENT_HINT+EFFECT_CANNOT_DISABLE)
Duel.RegisterEffect(e10,tp) e10:SetCode(1200201)
e10:SetTargetRange(1,0)
Duel.RegisterEffect(e10,p)
Duel.Hint(24,p,aux.Stringid(id,3))
end
end end
end end
...@@ -165,8 +171,8 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -165,8 +171,8 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp)
end end
end end
function s.imcon(e,tp) function s.imcon(e)
return e:GetHandler():GetSequence()>4 and s.supercon(tp) return e:GetHandler():GetSequence()>4 and s.supercon(e:GetHandlerPlayer())
end end
function s.studycon(c,tp) function s.studycon(c,tp)
return c:GetSequence()>4 and s.supercon(tp) return c:GetSequence()>4 and s.supercon(tp)
......
...@@ -65,13 +65,13 @@ function s.spfilter(c,e,tp) ...@@ -65,13 +65,13 @@ function s.spfilter(c,e,tp)
end end
function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(s.spfilter,tp,LOCATION_DECK,0,1,nil,e,tp) end and Duel.IsExistingMatchingCard(s.spfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE)
end end
function s.spop(e,tp,eg,ep,ev,re,r,rp) function s.spop(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
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,s.spfilter,tp,LOCATION_DECK,0,1,1,nil,e,tp) local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(s.spfilter),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,e,tp)
if g:GetCount()>0 then if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,true,POS_FACEUP) Duel.SpecialSummon(g,0,tp,tp,false,true,POS_FACEUP)
end end
......
--花之仙女·梦前菜菜 --花之仙女·梦前菜菜
local m=37585030 local m=37585030
local cm=_G["c"..m] local cm=_G["c"..m]
Duel.LoadScript("c81000000.lua")
function cm.initial_effect(c) function cm.initial_effect(c)
--xyz summon --xyz summon
c:EnableReviveLimit() c:EnableReviveLimit()
......
...@@ -89,7 +89,7 @@ end ...@@ -89,7 +89,7 @@ end
function s.spcon(e,tp,eg,ep,ev,re,r,rp) function s.spcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
return c:IsPreviousLocation(LOCATION_ONFIELD) return c:IsPreviousLocation(LOCATION_ONFIELD)
and bit.band(c:GetPreviousSummonType(),SUMMON_TYPE_FUSION)==SUMMON_TYPE_FUSION and bit.band(c:GetSummonType(),SUMMON_TYPE_FUSION)==SUMMON_TYPE_FUSION
end end
function s.desfilter(c) function s.desfilter(c)
return c:IsFaceup() and c:IsCode(OME_ID) and c:IsDestructable() return c:IsFaceup() and c:IsCode(OME_ID) and c:IsDestructable()
......
...@@ -72,7 +72,7 @@ function s.fishfilter(c) ...@@ -72,7 +72,7 @@ function s.fishfilter(c)
return c:IsRace(RACE_FISH) and ((c:IsLocation(LOCATION_MZONE) and c:IsFaceup()) or c:IsLocation(LOCATION_GRAVE)) return c:IsRace(RACE_FISH) and ((c:IsLocation(LOCATION_MZONE) and c:IsFaceup()) or c:IsLocation(LOCATION_GRAVE))
end end
function s.desfilter(c,atk) function s.desfilter(c,atk)
return c:IsAttackBelow(atk) return c:IsAttackBelow(atk) and c:IsFaceup()
end end
function s.efftg(e,tp,eg,ep,ev,re,r,rp,chk) function s.efftg(e,tp,eg,ep,ev,re,r,rp,chk)
local chkf=tp local chkf=tp
......
...@@ -59,16 +59,24 @@ end ...@@ -59,16 +59,24 @@ end
function s.spcon_move(e,tp,eg,ep,ev,re,r,rp) function s.spcon_move(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(s.omefilter,1,nil,tp) return eg:IsExists(s.omefilter,1,nil,tp)
end end
function s.desfilter(c) function s.desfilter(c)
return c:IsFaceup() and c:GetAttack()>=0 return c:IsFaceup() and c:GetAttack()>=0
end end
function s.gcheck(g) function s.gcheck(g)
return g:GetSum(Card.GetAttack)>=2100 local sum=g:GetSum(Card.GetAttack)
if sum<2100 then return false end
return not g:IsExists(function(c) return sum-c:GetAttack()>=2100 end, 1, nil)
end end
function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
local g=Duel.GetMatchingGroup(s.desfilter,tp,0,LOCATION_MZONE,nil) local g=Duel.GetMatchingGroup(s.desfilter,tp,0,LOCATION_MZONE,nil)
if chk==0 then if chk==0 then
return g:GetCount()>0 and g:CheckSubGroup(s.gcheck,1,#g) return g:GetCount()>0 and g:CheckSubGroup(s.gcheck,1,#g)
and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
...@@ -76,11 +84,14 @@ function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -76,11 +84,14 @@ function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,nil,1,1-tp,LOCATION_MZONE) Duel.SetOperationInfo(0,CATEGORY_DESTROY,nil,1,1-tp,LOCATION_MZONE)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
end end
function s.spop(e,tp,eg,ep,ev,re,r,rp) function s.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local g=Duel.GetMatchingGroup(s.desfilter,tp,0,LOCATION_MZONE,nil) local g=Duel.GetMatchingGroup(s.desfilter,tp,0,LOCATION_MZONE,nil)
if g:GetCount()>0 and g:CheckSubGroup(s.gcheck,1,#g) then if g:GetCount()>0 and g:CheckSubGroup(s.gcheck,1,#g) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local dg=g:SelectSubGroup(tp,s.gcheck,false,1,#g) local dg=g:SelectSubGroup(tp,s.gcheck,false,1,#g)
if dg and dg:GetCount()>0 then if dg and dg:GetCount()>0 then
Duel.HintSelection(dg) Duel.HintSelection(dg)
......
...@@ -94,9 +94,9 @@ function s.ogcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -94,9 +94,9 @@ function s.ogcon(e,tp,eg,ep,ev,re,r,rp)
end end
function s.ogtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function s.ogtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsOnField() and aux.NegateAnyFilter(chkc) end if chkc then return chkc:IsOnField() and aux.NegateAnyFilter(chkc) end
if chk==0 then return Duel.IsExistingTarget(aux.NegateAnyFilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) end if chk==0 then return Duel.IsExistingTarget(aux.NegateAnyFilter,tp,0,LOCATION_ONFIELD,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DISABLE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DISABLE)
local g=Duel.SelectTarget(tp,aux.NegateAnyFilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil) local g=Duel.SelectTarget(tp,aux.NegateAnyFilter,tp,0,LOCATION_ONFIELD,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_DISABLE,g,1,0,0) Duel.SetOperationInfo(0,CATEGORY_DISABLE,g,1,0,0)
end end
function s.ogop(e,tp,eg,ep,ev,re,r,rp) function s.ogop(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -33,7 +33,7 @@ function s.xyzfilter(c,e,tp) ...@@ -33,7 +33,7 @@ function s.xyzfilter(c,e,tp)
end end
function s.mtfilter(c,e) function s.mtfilter(c,e)
return c:IsSetCard(0xcca6) and c:IsType(TYPE_MONSTER) return c:IsSetCard(0xcca6) and c:IsType(TYPE_MONSTER)
and c:IsCanOverlay() and not (e and c:IsImmuneToEffect(e)) and not (e and c:IsImmuneToEffect(e))
end end
function s.spop(e,tp,eg,ep,ev,re,r,rp) function s.spop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
......
...@@ -31,7 +31,7 @@ function s.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -31,7 +31,7 @@ function s.activate(e,tp,eg,ep,ev,re,r,rp)
local g=Group.CreateGroup() local g=Group.CreateGroup()
Duel.ChangeTargetCard(ev,g) Duel.ChangeTargetCard(ev,g)
Duel.ChangeChainOperation(ev,aux.NULL) Duel.ChangeChainOperation(ev,aux.NULL)
if re:GetHandler():IsRelateToEffect(re) and re:GetHandler():IsLocation(LOCATION_ONFIELD) then if re:GetHandler():IsRelateToEffect(re) and re:IsLocation(LOCATION_ONFIELD) then
Duel.SendtoGrave(re:GetHandler(),REASON_RULE) Duel.SendtoGrave(re:GetHandler(),REASON_RULE)
end end
end end
...@@ -53,19 +53,23 @@ end ...@@ -53,19 +53,23 @@ end
function s.tdfilter(c) function s.tdfilter(c)
return c:IsSetCard(0xcca6) and c:IsType(TYPE_SPELL+TYPE_TRAP) and c:IsAbleToDeck() return c:IsSetCard(0xcca6) and c:IsType(TYPE_SPELL+TYPE_TRAP) and c:IsAbleToDeck()
end end
function s.tdfilter2(c,e)
return c:IsSetCard(0xcca6) and c:IsType(TYPE_SPELL+TYPE_TRAP) and c:IsAbleToDeck() and c:IsCanBeEffectTarget(e)
end
function s.tdtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function s.tdtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return false end if chkc then return false end
if chk==0 then return Duel.IsExistingMatchingCard(s.tdfilter,tp,LOCATION_GRAVE,0,1,e:GetHandler()) end if chk==0 then return Duel.IsExistingMatchingCard(s.tdfilter,tp,LOCATION_GRAVE,0,1,e:GetHandler()) end
local maxct=Duel.GetMatchingGroupCount(s.tdfilter,tp,LOCATION_GRAVE,0,e:GetHandler()) local rg=Duel.GetMatchingGroup(s.tdfilter2,tp,LOCATION_GRAVE,0,e:GetHandler(),e)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local tg=Duel.SelectTarget(tp,s.tdfilter,tp,LOCATION_GRAVE,0,1,maxct,e:GetHandler()) local tg=rg:Select(tp,1,#rg,e:GetHandler())
Duel.SetTargetCard(tg)
Duel.SetOperationInfo(0,CATEGORY_TODECK,tg,#tg,0,0) Duel.SetOperationInfo(0,CATEGORY_TODECK,tg,#tg,0,0)
end end
function s.rmfilter(c) function s.rmfilter(c)
return c:IsFaceupEx() and c:IsAbleToRemove() return c:IsFaceupEx() and c:IsAbleToRemove()
end end
function s.tdop(e,tp,eg,ep,ev,re,r,rp) function s.tdop(e,tp,eg,ep,ev,re,r,rp)
local tg=Duel.GetChainInfo(CHAININFO_TARGET_CARDS):Filter(Card.IsRelateToEffect,nil,e) local tg=Duel.GetTargetsRelateToChain()
if #tg>0 then if #tg>0 then
local ct=Duel.SendtoDeck(tg,nil,SEQ_DECKSHUFFLE,REASON_EFFECT) local ct=Duel.SendtoDeck(tg,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)
if ct>0 and Duel.IsExistingMatchingCard(s.rmfilter,tp,0,LOCATION_GRAVE+LOCATION_EXTRA,1,nil) then if ct>0 and Duel.IsExistingMatchingCard(s.rmfilter,tp,0,LOCATION_GRAVE+LOCATION_EXTRA,1,nil) then
......
...@@ -87,7 +87,8 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -87,7 +87,8 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINTMSG_SELECT,tp,HINTMSG_SPSUMMON) Duel.Hint(HINTMSG_SELECT,tp,HINTMSG_SPSUMMON)
local sg=g:Select(tp,1,1,nil) local sg=g:Select(tp,1,1,nil)
local tc=sg:GetFirst() local tc=sg:GetFirst()
if Duel.SpecialSummon(sg,SUMMON_TYPE_XYZ,tp,tp,false,false,POS_FACEUP) then if Duel.SpecialSummon(tc,SUMMON_TYPE_XYZ,tp,tp,false,false,POS_FACEUP) then
tc:CompleteProcedure()
Duel.Hint(HINTMSG_SELECT,tp,HINTMSG_XMATERIAL) Duel.Hint(HINTMSG_SELECT,tp,HINTMSG_XMATERIAL)
local oc=g1:Select(tp,1,1,nil):GetFirst() local oc=g1:Select(tp,1,1,nil):GetFirst()
if oc:IsCanOverlay() then if oc:IsCanOverlay() then
......
...@@ -95,8 +95,8 @@ end ...@@ -95,8 +95,8 @@ end
function cm.filter2(c) function cm.filter2(c)
return c:IsCanOverlay() return c:IsCanOverlay()
end end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(aux.NecroValleyFilter(cm.filter1),tp,LOCATION_GRAVE,0,1,nil,e,tp) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 end if chk==0 then return Duel.IsExistingMatchingCard(cm.filter1,tp,LOCATION_GRAVE,0,1,nil,e,tp) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE)
end end
......
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