Commit 30f120b8 authored by Nemo Ma's avatar Nemo Ma

fix

parent 909b97bf
...@@ -48,7 +48,7 @@ end ...@@ -48,7 +48,7 @@ end
function cm.destg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.destg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
local g=Duel.GetMatchingGroup(cm.desfilter,tp,LOCATION_MZONE,0,nil) local g=Duel.GetMatchingGroup(cm.desfilter,tp,LOCATION_MZONE,0,nil)
if chk==0 then return g:GetCount()>0 end if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,g:GetCount(),tp,0) Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,g:GetCount(),tp,0)
end end
function cm.desfilter(c) function cm.desfilter(c)
......
...@@ -145,6 +145,7 @@ function cm.stop(e,tp,eg,ep,ev,re,r,rp) ...@@ -145,6 +145,7 @@ function cm.stop(e,tp,eg,ep,ev,re,r,rp)
local seq2=seq local seq2=seq
if re:IsActiveType(TYPE_MONSTER) then seq=aux.MZoneSequence(seq) end if re:IsActiveType(TYPE_MONSTER) then seq=aux.MZoneSequence(seq) end
if ((seq1==4-seq and rp==1-tp) or (seq1==seq and rp==tp)) or (rp==tp and math.abs(c:GetSequence()-seq)<=1 and loc==LOCATION_MZONE and seq2<5) then if ((seq1==4-seq and rp==1-tp) or (seq1==seq and rp==tp)) or (rp==tp and math.abs(c:GetSequence()-seq)<=1 and loc==LOCATION_MZONE and seq2<5) then
local ph=PHASE_END
if Duel.GetCurrentPhase()==PHASE_DRAW then ph=PHASE_STANDBY end if Duel.GetCurrentPhase()==PHASE_DRAW then ph=PHASE_STANDBY end
if Duel.GetCurrentPhase()==PHASE_STANDBY then ph=PHASE_MAIN1 end if Duel.GetCurrentPhase()==PHASE_STANDBY then ph=PHASE_MAIN1 end
if Duel.GetCurrentPhase()==PHASE_MAIN1 then ph=PHASE_BATTLE end if Duel.GetCurrentPhase()==PHASE_MAIN1 then ph=PHASE_BATTLE end
......
...@@ -53,7 +53,7 @@ function cm.target(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -53,7 +53,7 @@ function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then if chk==0 then
return mg:IsExists(cm.filter,1,nil,e,tp) return mg:IsExists(cm.filter,1,nil,e,tp)
end end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND+LOCATION_GRAVE)
end end
function cm.activate(e,tp,eg,ep,ev,re,r,rp) function cm.activate(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -33,7 +33,7 @@ function cm.initial_effect(c) ...@@ -33,7 +33,7 @@ function cm.initial_effect(c)
--spsummon --spsummon
local e6=Effect.CreateEffect(c) local e6=Effect.CreateEffect(c)
e6:SetDescription(aux.Stringid(m,0)) e6:SetDescription(aux.Stringid(m,0))
e6:SetCategory(CATEGORY_SPECIAL_SUMMON) e6:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOKEN)
e6:SetType(EFFECT_TYPE_IGNITION) e6:SetType(EFFECT_TYPE_IGNITION)
e6:SetRange(LOCATION_FZONE) e6:SetRange(LOCATION_FZONE)
e6:SetCountLimit(1) e6:SetCountLimit(1)
......
...@@ -53,8 +53,8 @@ function cm.ltg(...) ...@@ -53,8 +53,8 @@ function cm.ltg(...)
aux.GetLinkMaterials=f aux.GetLinkMaterials=f
return res return res
end end
function cm.GetLinkMaterials(tp,f,lc) function cm.GetLinkMaterials(tp,f,lc,e)
local mg=Duel.GetMatchingGroup(Auxiliary.LConditionFilter,tp,LOCATION_MZONE,0,nil,f,lc) local mg=Duel.GetMatchingGroup(Auxiliary.LConditionFilter,tp,LOCATION_MZONE,0,nil,f,lc,e)
local mg2=Duel.GetMatchingGroup(Auxiliary.LExtraFilter,tp,LOCATION_HAND+LOCATION_SZONE,LOCATION_ONFIELD,nil,f,lc,tp) local mg2=Duel.GetMatchingGroup(Auxiliary.LExtraFilter,tp,LOCATION_HAND+LOCATION_SZONE,LOCATION_ONFIELD,nil,f,lc,tp)
local mg3=Duel.GetMatchingGroup(cm.mfilter,tp,LOCATION_SZONE,0,nil) local mg3=Duel.GetMatchingGroup(cm.mfilter,tp,LOCATION_SZONE,0,nil)
if mg2:GetCount()>0 then mg:Merge(mg2) end if mg2:GetCount()>0 then mg:Merge(mg2) end
......
...@@ -37,6 +37,10 @@ function cm.initial_effect(c) ...@@ -37,6 +37,10 @@ function cm.initial_effect(c)
e1:SetLabelObject(ex) e1:SetLabelObject(ex)
e2:SetLabelObject(ex) e2:SetLabelObject(ex)
end end
function cm.matval(e,lc,mg,c,tp)
if e:GetHandler()~=lc then return false,nil end
return true,true
end
function cm.valcheck(e,c) function cm.valcheck(e,c)
e:SetLabel(0) e:SetLabel(0)
if c:GetMaterial():IsExists(Card.IsLinkType,1,nil,TYPE_FUSION) then e:SetLabel(1) end if c:GetMaterial():IsExists(Card.IsLinkType,1,nil,TYPE_FUSION) then e:SetLabel(1) end
...@@ -55,8 +59,8 @@ function cm.ltg(...) ...@@ -55,8 +59,8 @@ function cm.ltg(...)
aux.GetLinkMaterials=f aux.GetLinkMaterials=f
return res return res
end end
function cm.GetLinkMaterials(tp,f,lc) function cm.GetLinkMaterials(tp,f,lc,e)
local mg=Duel.GetMatchingGroup(Auxiliary.LConditionFilter,tp,LOCATION_MZONE,0,nil,f,lc) local mg=Duel.GetMatchingGroup(Auxiliary.LConditionFilter,tp,LOCATION_MZONE,0,nil,f,lc,e)
local mg2=Duel.GetMatchingGroup(Auxiliary.LExtraFilter,tp,LOCATION_HAND+LOCATION_SZONE,LOCATION_ONFIELD,nil,f,lc,tp) local mg2=Duel.GetMatchingGroup(Auxiliary.LExtraFilter,tp,LOCATION_HAND+LOCATION_SZONE,LOCATION_ONFIELD,nil,f,lc,tp)
local mg3=Duel.GetMatchingGroup(function(c)return aux.IsCodeListed(c,53727003) and c:IsFacedown()end,tp,LOCATION_ONFIELD,0,nil) local mg3=Duel.GetMatchingGroup(function(c)return aux.IsCodeListed(c,53727003) and c:IsFacedown()end,tp,LOCATION_ONFIELD,0,nil)
if mg2:GetCount()>0 then mg:Merge(mg2) end if mg2:GetCount()>0 then mg:Merge(mg2) 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