Commit 5a940b1f authored by POLYMER's avatar POLYMER

fix

parent 7f147cda
......@@ -92,6 +92,7 @@ function cm.sop(e,tp,eg,ep,ev,re,r,rp)
Duel.SpecialSummonStep=function(c,st,sp,top,...)
if aux.GetValueType(c)~="Card" then return _SpecialSummonStep(c,st,sp,top,...) end
local dg=Group.FromCards(c):Filter(Card.IsLocation,nil,LOCATION_DECK):Filter(Card.IsAbleToRemove,nil)
local g=Group.FromCards(c)
if t==Duel.GetTurnCount() and #dg>0 then
Duel.Remove(dg,POS_FACEUP,REASON_EFFECT,sp)
g=(g-dg)+dg:Filter(Card.IsLocation,nil,LOCATION_REMOVED)
......
......@@ -167,7 +167,9 @@ function s.resetop2(e,tp,eg,ep,ev,re,r,rp)
e:Reset()
end
function s.tdop(e,tp,eg,ep,ev,re,r,rp)
local sg=e:GetLabelObject()
local tg=e:GetLabelObject()
local sg=tg:Filter(Card.IsLocation,nil,LOCATION_SZONE)
if sg:GetCount()>0 then return false end
for tc in aux.Next(sg) do
tc:SetStatus(STATUS_LEAVE_CONFIRMED,true)
end
......
......@@ -2,7 +2,7 @@
local s,id,o=GetID()
function s.initial_effect(c)
--synchro summon
aux.AddSynchroProcedure(c,aux.FilterBoolFunction(Card.IsSetCard,0x6a70),aux.NonTuner(nil),1,1)
aux.AddSynchroMixProcedure(c,aux.Tuner(aux.FilterBoolFunction(Card.IsSetCard,0x6a70)),nil,nil,aux.NonTuner(nil),1,1)
c:EnableReviveLimit()
--token
local e1=Effect.CreateEffect(c)
......
......@@ -2,7 +2,7 @@
local s,id,o=GetID()
function s.initial_effect(c)
--synchro summon
aux.AddSynchroProcedure(c,aux.FilterBoolFunction(Card.IsSetCard,0x6a70),aux.NonTuner(nil),1)
aux.AddSynchroMixProcedure(c,aux.Tuner(aux.FilterBoolFunction(Card.IsSetCard,0x6a70)),nil,nil,aux.NonTuner(nil),1,99)
c:EnableReviveLimit()
--token
local e1=Effect.CreateEffect(c)
......
......@@ -2,7 +2,7 @@
local s,id,o=GetID()
function s.initial_effect(c)
--synchro summon
aux.AddSynchroProcedure(c,aux.FilterBoolFunction(Card.IsSetCard,0x6a70),aux.NonTuner(nil),1)
aux.AddSynchroMixProcedure(c,aux.Tuner(aux.FilterBoolFunction(Card.IsSetCard,0x6a70)),nil,nil,aux.NonTuner(nil),1,99)
c:EnableReviveLimit()
--token
local e1=Effect.CreateEffect(c)
......
......@@ -2,7 +2,7 @@
local s,id,o=GetID()
function s.initial_effect(c)
--synchro summon
aux.AddSynchroProcedure(c,aux.FilterBoolFunction(Card.IsSetCard,0x6a70),aux.NonTuner(nil),1)
aux.AddSynchroMixProcedure(c,aux.Tuner(aux.FilterBoolFunction(Card.IsSetCard,0x6a70)),nil,nil,aux.NonTuner(nil),1,99)
c:EnableReviveLimit()
--token
local e1=Effect.CreateEffect(c)
......
......@@ -2,7 +2,7 @@
local s,id,o=GetID()
function s.initial_effect(c)
--synchro summon
aux.AddSynchroProcedure(c,aux.FilterBoolFunction(Card.IsSetCard,0x6a70),aux.NonTuner(nil),1)
aux.AddSynchroMixProcedure(c,aux.Tuner(aux.FilterBoolFunction(Card.IsSetCard,0x6a70)),nil,nil,aux.NonTuner(nil),1,99)
c:EnableReviveLimit()
--cannot special summon
local e0=Effect.CreateEffect(c)
......
......@@ -78,7 +78,7 @@ end
function c28384553.destg(e,tp,eg,ep,ev,re,r,rp,chk)
local ct,phchk=e:GetHandler():GetFlagEffectLabel(28384553),Duel.GetCurrentPhase()==PHASE_END and 1 or 0
local g=Duel.GetMatchingGroup(aux.NegateAnyFilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil)
if chk==0 then return ct>0 and #g>0 end
if chk==0 then return ct and ct>0 and #g>0 end
e:SetLabel(ct,phchk)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0)
end
......
......@@ -56,7 +56,7 @@ function s.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,s.filter,tp,LOCATION_GRAVE,LOCATION_GRAVE,1,2,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.SendtoHand(g,tp,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
......
......@@ -32,7 +32,7 @@ function s.matfilter(c)
end
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
if not Duel.IsPlayerCanSpecialSummonMonster(tp,7435551,0,TYPE_TOKEN+TYPE_MONSTER+TYPE_RITUAL+TYPE_EFFECT,2000,0,5,RACE_ZOMBIE,ATTRIBUTE_WIND) then return false end
if not Duel.IsPlayerCanSpecialSummonMonster(tp,7435551,0,TYPE_TOKEN+TYPE_MONSTER+TYPE_RITUAL+TYPE_EFFECT,2000,0,5,RACE_ZOMBIE,ATTRIBUTE_WIND,POS_FACEUP,tp,SUMMON_TYPE_RITUAL) then return false end
local mg=Duel.GetRitualMaterial(tp)
local mg=mg:Filter(s.matfilter,nil)
local res=mg:CheckSubGroup(s.RitualCheck,1,nil,tp)
......@@ -56,7 +56,7 @@ function s.activate(e,tp,eg,ep,ev,re,r,rp)
local token=Duel.CreateToken(tp,7435551)
local m=Duel.GetRitualMaterial(tp)
local mg=m:Filter(s.matfilter,nil)
if Duel.IsPlayerCanSpecialSummonMonster(tp,7435551,0,TYPE_TOKEN+TYPE_MONSTER+TYPE_RITUAL+TYPE_EFFECT,2000,0,5,RACE_ZOMBIE,ATTRIBUTE_WIND) and mg:CheckSubGroup(s.RitualCheck,1,nil,tp) then
if Duel.IsPlayerCanSpecialSummonMonster(tp,7435551,0,TYPE_TOKEN+TYPE_MONSTER+TYPE_RITUAL+TYPE_EFFECT,2000,0,5,RACE_ZOMBIE,ATTRIBUTE_WIND,POS_FACEUP,tp,SUMMON_TYPE_RITUAL) and mg:CheckSubGroup(s.RitualCheck,1,nil,tp) then
--Debug.Message("3")
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local mat=mg:SelectSubGroup(tp,s.RitualCheck,true,1,5,tp)
......
......@@ -32,7 +32,7 @@ function s.matfilter(c)
end
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
if not Duel.IsPlayerCanSpecialSummonMonster(tp,7435553,0,TYPE_TOKEN+TYPE_MONSTER+TYPE_RITUAL+TYPE_EFFECT,1200,0,3,RACE_ZOMBIE,ATTRIBUTE_WIND) then return false end
if not Duel.IsPlayerCanSpecialSummonMonster(tp,7435553,0,TYPE_TOKEN+TYPE_MONSTER+TYPE_RITUAL+TYPE_EFFECT,1200,0,3,RACE_ZOMBIE,ATTRIBUTE_WIND,POS_FACEUP,tp,SUMMON_TYPE_RITUAL) then return false end
local mg=Duel.GetRitualMaterial(tp)
local mg=mg:Filter(s.matfilter,nil)
local res=mg:CheckSubGroup(s.RitualCheck,1,nil,tp)
......@@ -56,7 +56,7 @@ function s.activate(e,tp,eg,ep,ev,re,r,rp)
local token=Duel.CreateToken(tp,7435553)
local m=Duel.GetRitualMaterial(tp)
local mg=m:Filter(s.matfilter,nil)
if Duel.IsPlayerCanSpecialSummonMonster(tp,7435553,0,TYPE_TOKEN+TYPE_MONSTER+TYPE_RITUAL+TYPE_EFFECT,1200,0,3,RACE_ZOMBIE,ATTRIBUTE_WIND) and mg:CheckSubGroup(s.RitualCheck,1,nil,tp) then
if Duel.IsPlayerCanSpecialSummonMonster(tp,7435553,0,TYPE_TOKEN+TYPE_MONSTER+TYPE_RITUAL+TYPE_EFFECT,1200,0,3,RACE_ZOMBIE,ATTRIBUTE_WIND,POS_FACEUP,tp,SUMMON_TYPE_RITUAL) and mg:CheckSubGroup(s.RitualCheck,1,nil,tp) then
--Debug.Message("3")
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local mat=mg:SelectSubGroup(tp,s.RitualCheck,true,1,5,tp)
......
......@@ -22,7 +22,7 @@ function s.initial_effect(c)
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_TOGRAVE)
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetCode(EVENT_CHAINING)
e3:SetRange(LOCATION_SZONE)
e3:SetCountLimit(1,id)
e3:SetCondition(s.tgcon)
......@@ -72,8 +72,8 @@ function s.operation(e,tp,eg,ep,ev,re,r,rp)
Duel.Equip(tp,c,tc)
end
end
function s.tgcon(e)
return e:GetHandler():GetEquipTarget()
function s.tgcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetEquipTarget() and re:IsHasType(EFFECT_TYPE_ACTIVATE) and ep~=tp
end
function s.tgfilter(c)
return aux.IsCodeListed(c,75040001) and c:IsAbleToGrave() and c:IsType(TYPE_TRAP)
......
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