Commit 9d0195fd authored by POLYMER's avatar POLYMER

fix

parent e6402a13
......@@ -20,7 +20,7 @@ function cm.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_SEARCH+CATEGORY_TOHAND)
e1:SetType(EVENT_FREE_CHAIN)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_GRAVE)
e1:SetCountLimit(1,m)
e1:SetCost(cm.spcost)
......
......@@ -20,7 +20,7 @@ function cm.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_SEARCH+CATEGORY_TOHAND)
e1:SetType(EVENT_FREE_CHAIN)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_GRAVE)
e1:SetCountLimit(3,m)
e1:SetCost(cm.spcost)
......
......@@ -21,7 +21,7 @@ function cm.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EVENT_FREE_CHAIN)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_GRAVE)
e1:SetCountLimit(1,m)
e1:SetCost(cm.spcost)
......
......@@ -20,7 +20,7 @@ function cm.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_TOGRAVE)
e1:SetType(EVENT_FREE_CHAIN)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_GRAVE)
e1:SetCountLimit(1,m)
e1:SetCost(cm.spcost)
......
......@@ -27,7 +27,7 @@ function c21113800.initial_effect(c)
Duel.AddCustomActivityCounter(21113800,ACTIVITY_SPSUMMON,c21113800.counter)
end
function c21113800.counter(c)
return c:IsSetCard(0xc914)
return c:IsSetCard(0xc904)
end
function c21113800.discon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetSequence()~=2
......@@ -51,12 +51,12 @@ function c21113800.cost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.RegisterEffect(e2,tp)
end
function c21113800.splimit(e,c,sump,sumtype,sumpos,targetp,se)
return not c:IsSetCard(0xc914)
return not c:IsSetCard(0xc904)
end
function c21113800.op0(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetFlagEffect(tp,21113800)==0 and Duel.IsExistingMatchingCard(Card.IsAbleToGrave,tp,0,4,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(21113800,0)) then
if Duel.GetFlagEffect(tp,21113800)==0 and Duel.IsExistingMatchingCard(Card.IsAbleToGrave,tp,0,12,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(21113800,0)) then
Duel.Hint(3,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,Card.IsAbleToGrave,tp,0,4,1,1,nil)
local g=Duel.SelectMatchingCard(tp,Card.IsAbleToGrave,tp,0,12,1,1,nil)
if #g>0 then
Duel.HintSelection(g)
Duel.SendtoGrave(g,REASON_RULE)
......@@ -66,10 +66,10 @@ function c21113800.op0(e,tp,eg,ep,ev,re,r,rp)
e:Reset()
end
function c21113800.q(c)
return c:IsFaceup() and c:IsSetCard(0xc914)
return c:IsFaceup() and c:IsSetCard(0xc904)
end
function c21113800.w(c,e,tp)
return c:IsCanBeSpecialSummoned(e,0,tp,false,false) and Duel.GetLocationCount(tp,4)>0 and c:IsSetCard(0xc914) and not c:IsCode(21113800)
return c:IsCanBeSpecialSummoned(e,0,tp,false,false) and Duel.GetLocationCount(tp,4)>0 and c:IsSetCard(0xc904) and not c:IsCode(21113800)
end
function c21113800.tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c21113800.q,tp,LOCATION_MZONE,0,1,nil) and Duel.GetLocationCount(tp,4)>0 and Duel.IsExistingMatchingCard(c21113800.w,tp,1,0,1,nil,e,tp) end
......
......@@ -29,13 +29,13 @@ function c21113820.initial_effect(c)
c:RegisterEffect(e2)
end
function c21113820.act(c)
return c:IsFaceup() and c:IsSetCard(0xc914) and c:IsDisabled()
return c:IsFaceup() and c:IsSetCard(0xc904) and c:IsDisabled()
end
function c21113820.actcon(e)
return Duel.IsExistingMatchingCard(c21113820.act,e:GetHandlerPlayer(),4,0,1,nil)
end
function c21113820.q(c)
return c:IsFaceup() and c:IsSetCard(0xc914)
return c:IsFaceup() and c:IsSetCard(0xc904)
end
function c21113820.con(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(c21113820.q,tp,LOCATION_MZONE,0,1,nil) and (re:IsActiveType(TYPE_MONSTER) or re:IsHasType(EFFECT_TYPE_ACTIVATE)) and Duel.IsChainNegatable(ev)
......@@ -61,7 +61,7 @@ function c21113820.disable(e,c)
return c:IsType(TYPE_EFFECT) or c:GetOriginalType()&TYPE_EFFECT~=0
end
function c21113820.w(c,e,tp)
return c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:IsSetCard(0xc914) and Duel.GetLocationCount(tp,4)>0
return c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:IsSetCard(0xc904) and Duel.GetLocationCount(tp,4)>0
end
function c21113820.tg2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingTarget(c21113820.w,tp,0x10,0,1,nil,e,tp) end
......@@ -85,5 +85,5 @@ function c21113820.op2(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterEffect(e1,tp)
end
function c21113820.splimit(e,c)
return not c:IsSetCard(0xc914)
return not c:IsSetCard(0xc904)
end
\ No newline at end of file
......@@ -75,10 +75,10 @@ end
function s.LCheckGoal(sg,tp,lc,lmat)
return #sg==1 and sg:IsExists(Card.IsDisabled,1,nil)
and Duel.GetLocationCountFromEx(tp,tp,sg,lc)>0 and sg:GetFirst():IsLink(2) or #sg>=2
and sg:CheckWithSumEqual(s.GetLinkCount,4,#sg,#sg)
and sg:CheckWithSumEqual(s.GetLinkCount,3,#sg,#sg)
and Duel.GetLocationCountFromEx(tp,tp,sg,lc)>0 and not sg:IsExists(Auxiliary.LUncompatibilityFilter,1,nil,sg,lc,tp)
and (not lmat or sg:IsContains(lmat)) or #sg>=2
and sg:CheckWithSumEqual(aux.GetLinkCount,4,#sg,#sg)
and sg:CheckWithSumEqual(aux.GetLinkCount,3,#sg,#sg)
and Duel.GetLocationCountFromEx(tp,tp,sg,lc)>0 and not sg:IsExists(Auxiliary.LUncompatibilityFilter,1,nil,sg,lc,tp)
and (not lmat or sg:IsContains(lmat))
end
......@@ -87,7 +87,7 @@ function s.linkcon()
if c==nil then return true end
if c:IsType(TYPE_PENDULUM) and c:IsFaceup() then return false end
local minc=1
local maxc=4
local maxc=3
if min then
if min>minc then minc=min end
if max<maxc then maxc=max end
......
......@@ -201,20 +201,17 @@ function s.adcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(s.adfilter,tp,0,LOCATION_GRAVE+LOCATION_REMOVED,1,nil)
end
function s.adop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(s.adfilter,tp,0,LOCATION_GRAVE+LOCATION_REMOVED,nil)
for tc in aux.Next(g) do
--[[local g=Duel.GetMatchingGroup(s.adfilter,tp,0,LOCATION_GRAVE+LOCATION_REMOVED,nil)
for tc in aux.Next(g) do]]
tc:RegisterFlagEffect(id+2,RESET_PHASE+PHASE_END+RESET_EVENT+RESETS_STANDARD,0,0,1)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_DISABLE)
e1:SetReset(RESET_PHASE+PHASE_END+RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1)
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_DISABLE_EFFECT)
e2:SetReset(RESET_PHASE+PHASE_END+RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e2)
end
e1:SetTargetRange(0,0x30)
e1:SetProperty(EFFECT_FLAG_SET_AVAILABLE)
e1:SetReset(RESET_PHASE+PHASE_END,2)
Duel.RegisterEffect(e1,tp)
--end
Duel.AdjustAll()
end
function s.setfilter(c)
......
......@@ -14,6 +14,7 @@ function s.initial_effect(c)
e1:SetCategory(CATEGORY_TODECK)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,id)
e1:SetTarget(s.target)
e1:SetOperation(s.operation)
c:RegisterEffect(e1)
......@@ -22,20 +23,21 @@ function s.initial_effect(c)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetRange(LOCATION_GRAVE)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetCountLimit(1,id+1)
e2:SetCondition(s.setcon)
e2:SetTarget(s.settg)
e2:SetOperation(s.setop)
c:RegisterEffect(e2)
end
function s.actfilter(c)
return c:IsDisabled() and c:IsSetCard(0xc914) and c:IsFaceup()
return c:IsDisabled() and c:IsSetCard(0xc904) and c:IsFaceup()
end
function s.actcon(e)
return Duel.GetMatchingGroupCount(s.actfilter,e:GetHandlerPlayer(),LOCATION_MZONE,0,nil)>0
end
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsPlayerCanSpecialSummonMonster(tp,id,0xc914,TYPES_NORMAL_TRAP_MONSTER,2000,2000,7,RACE_BEAST,ATTRIBUTE_WIND) and Duel.GetFieldGroupCount(tp,LOCATION_REMOVED,LOCATION_REMOVED)>0 end
and Duel.IsPlayerCanSpecialSummonMonster(tp,id,0xc904,TYPES_NORMAL_TRAP_MONSTER,2000,2000,7,RACE_BEAST,ATTRIBUTE_WIND) and Duel.GetFieldGroupCount(tp,LOCATION_REMOVED,LOCATION_REMOVED)>0 end
local g=Duel.GetFieldGroup(tp,LOCATION_REMOVED,LOCATION_REMOVED,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,g:GetCount(),0,LOCATION_REMOVED,LOCATION_REMOVED)
......@@ -45,7 +47,7 @@ function s.operation(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetFieldGroup(tp,LOCATION_REMOVED,LOCATION_REMOVED)
Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)
local ct=g:FilterCount(Card.IsLocation,nil,LOCATION_DECK)
if ct>0 and Duel.IsPlayerCanSpecialSummonMonster(tp,id,0xc914,TYPES_NORMAL_TRAP_MONSTER,2000,2000,7,RACE_BEAST,ATTRIBUTE_WIND) then
if ct>0 and Duel.IsPlayerCanSpecialSummonMonster(tp,id,0xc904,TYPES_NORMAL_TRAP_MONSTER,2000,2000,7,RACE_BEAST,ATTRIBUTE_WIND) then
c:AddMonsterAttribute(TYPE_NORMAL+TYPE_TRAP)
if Duel.SpecialSummon(c,0,tp,tp,true,false,POS_FACEUP)~=0 then
local e1=Effect.CreateEffect(c)
......@@ -63,7 +65,7 @@ function s.operation(e,tp,eg,ep,ev,re,r,rp)
end
end
function s.setfilter(c)
return c:IsSetCard(0xc914) and c:IsFaceup()
return c:IsSetCard(0xc904) and c:IsFaceup()
end
function s.setcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetMatchingGroupCount(s.setfilter,tp,LOCATION_MZONE,0,nil)>0
......
......@@ -31,6 +31,7 @@ function c51928009.initial_effect(c)
e3:SetCondition(c51928009.discon)
e3:SetTarget(c51928009.distg)
e3:SetOperation(c51928009.disop)
c:RegisterEffect(e3)
end
function c51928009.sfilter(c)
return c:IsType(TYPE_SYNCHRO) and c:IsSetCard(0x9256)
......
......@@ -19,7 +19,7 @@ function c51928011.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c51928011.filter,tp,LOCATION_MZONE,0,1,nil) end
end
function c51928011.filter2(c,e)
return c:IsFaceup() and c:IsRace(RACE_MACHINE) and not c:IsImmuneToEffect(e)
return c:IsFaceup() and c:IsRace(RACE_THUNDER) and not c:IsImmuneToEffect(e)
end
function c51928011.activate(e,tp,eg,ep,ev,re,r,rp)
local sg=Duel.GetMatchingGroup(c51928011.filter2,tp,LOCATION_MZONE,0,nil,e)
......
......@@ -114,6 +114,7 @@ end
function c60151405.spop3(e,tp,eg,ep,ev,re,r,rp)
local g1=Duel.GetMatchingGroup(Card.IsSynchroSummonable,tp,LOCATION_EXTRA,0,nil,nil)
local g2=Duel.GetMatchingGroup(c60151405.xyzfilter,tp,LOCATION_EXTRA,0,nil)
if #g1==0 and #g2==0 then return end
if g1:GetCount()>0 and g2:GetCount()>0 then
local op=Duel.SelectOption(tp,aux.Stringid(60151405,3),aux.Stringid(60151405,4))
if op==0 then
......
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