Commit d63485ae authored by POLYMER's avatar POLYMER

fix

parent adba2c5e
--闪刀信条-守护
local m=11451428
local cm=_G["c"..m]
local cm,m=GetID()
function cm.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
......@@ -60,5 +59,6 @@ function cm.atklimit(e,c)
end
function cm.efilter(e,re)
local c=e:GetLabelObject()
return e:GetOwnerPlayer()~=re:GetOwnerPlayer() and (c:GetRealFieldID()~=e:GetLabel() or not ((re:IsHasType(EFFECT_TYPE_ACTIONS) and re:IsHasProperty(EFFECT_FLAG_CARD_TARGET) and c:IsRelateToEffect(re)) or re:IsHasCardTarget(c)))
local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS)
return e:GetOwnerPlayer()~=re:GetOwnerPlayer() and (c:GetRealFieldID()~=e:GetLabel() or not (re:IsHasType(EFFECT_TYPE_ACTIONS) and re:IsHasProperty(EFFECT_FLAG_CARD_TARGET) and g and g:IsContains(c)))
end
\ No newline at end of file
......@@ -97,8 +97,8 @@ function cm.activate(e,tp,eg,ep,ev,re,r,rp)
e7:SetCondition(cm.thcon)
e7:SetOperation(cm.thop)
Duel.RegisterEffect(e7,tp)
tc1:RegisterFlagEffect(m,RESET_EVENT+0x1de0000,0,1)
tc2:RegisterFlagEffect(m,RESET_EVENT+0x1de0000,0,1)
tc1:RegisterFlagEffect(m,RESET_EVENT+0x1de0000,0,1,tc1:GetRealFieldID())
tc2:RegisterFlagEffect(m,RESET_EVENT+0x1de0000,0,1,tc2:GetRealFieldID())
end
end
function cm.thfilter(c)
......@@ -113,11 +113,13 @@ function cm.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.ShuffleHand(tp)
end
function cm.filter(c,fid,ac)
return c:GetRealFieldID()==fid and c:IsCanBeBattleTarget(ac)
local flag=c:GetFlagEffectLabel(m)
return flag and flag==fid and c:IsCanBeBattleTarget(ac)
end
function cm.macon(e)
return Duel.IsExistingMatchingCard(cm.filter,e:GetHandlerPlayer(),0,LOCATION_MZONE,1,e:GetHandler(),e:GetLabel(),e:GetHandler())
end
function cm.bttg(e,c)
return c:GetRealFieldID()==e:GetLabel()
local flag=c:GetFlagEffectLabel(m)
return flag and flag==e:GetLabel()
end
\ No newline at end of file
......@@ -56,12 +56,14 @@ function cm.check(e,tp,eg,ep,ev,re,r,rp)
local tf=re:GetHandler():IsRelateToEffect(re)
local cid=re:GetHandler():GetRealFieldID()
cm[ev]={re,tf,cid}
re:GetHandler():RegisterFlagEffect(m+2,RESET_EVENT+0x1fc0000+RESET_CHAIN,0,1)
end
function cm.rscon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetCurrentChain()>1
end
function cm.reset(e,tp,eg,ep,ev,re,r,rp)
cm[ev]={re,false,0}
re:GetHandler():ResetFlagEffect(m+2)
end
function cm.clearcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetCurrentChain()==1
......@@ -108,7 +110,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
while type(cm[i])=="table" do
local te,tf,cid=table.unpack(cm[i])
local tc=te:GetHandler()
if ((i<=Duel.GetCurrentChain() and tc:IsRelateToEffect(te)) or (i>Duel.GetCurrentChain() and tf and tc:GetRealFieldID()==cid)) and tc:IsReleasableByEffect() then g:AddCard(tc) end
if ((i<=Duel.GetCurrentChain() and tc:IsRelateToEffect(te)) or (i>Duel.GetCurrentChain() and tf and tc:GetFlagEffect(m+2)>0)) and tc:IsReleasableByEffect() then g:AddCard(tc) end
i=i+1
end
local hg=Duel.GetMatchingGroup(cm.filter,tp,LOCATION_DECK,0,nil,#g*2)
......
--天空漫步者-仰卧飞行
local m=11451690
local cm=_G["c"..m]
local cm,m=GetID()
function cm.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
......@@ -62,6 +61,7 @@ function cm.activate(e,tp,eg,ep,ev,re,r,rp)
if sel==0 then
local tc=Duel.GetFirstTarget()
if tc:IsFaceup() and tc:IsRelateToEffect(e) then
tc:RegisterFlagEffect(m,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1,tc:GetRealFieldID())
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_IMMUNE_EFFECT)
......@@ -94,5 +94,6 @@ function cm.activate(e,tp,eg,ep,ev,re,r,rp)
end
function cm.efilter(e,re)
local c=e:GetLabelObject()
return c:GetRealFieldID()==e:GetLabel() and re:IsActivated() and re:GetOwner()==c
local flag=c:GetFlagEffectLabel(m)
return flag and flag==e:GetLabel() and re:IsActivated() and re:GetOwner()==c
end
\ No newline at end of file
......@@ -74,7 +74,7 @@ function cm.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local tc=Duel.SelectTarget(tp,nil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil):GetFirst()
c:SetCardTarget(tc)
tc:SetUniqueOnField(1,1,cm.uqfilter,LOCATION_ONFIELD)
tc:RegisterFlagEffect(m-14,RESET_EVENT+RESETS_STANDARD,0,1,tc:GetRealFieldID())
tc:RegisterFlagEffect(m-14,RESET_EVENT+0x1fc0000,0,1)
end
function cm.uqfilter(c)
return Duel.IsExistingMatchingCard(cm.afilter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil,c)
......@@ -82,11 +82,11 @@ end
function cm.afilter(c,tc)
local flag=c:GetFlagEffectLabel(m-13)
local flag2=tc:GetFlagEffectLabel(m-14)
return c:IsHasCardTarget(tc) and flag and flag==c:GetFieldID() and flag2 and flag2==tc:GetRealFieldID()
return c:IsHasCardTarget(tc) and flag and flag2
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
c:RegisterFlagEffect(m-13,RESET_EVENT+RESETS_STANDARD,0,1,c:GetFieldID())
c:RegisterFlagEffect(m-13,RESET_EVENT+RESETS_STANDARD,0,1)
end
function cm.spfilter(c,se)
if not (se==nil or c:GetReasonEffect()~=se) then return false end
......
......@@ -105,12 +105,14 @@ function cm.check(e,tp,eg,ep,ev,re,r,rp)
local tf=re:GetHandler():IsRelateToEffect(re)
local cid=re:GetHandler():GetRealFieldID()
cm[ev]={re,tf,cid}
re:GetHandler():RegisterFlagEffect(m+1,RESET_EVENT+0x1fc0000+RESET_CHAIN,0,1)
end
function cm.rscon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetCurrentChain()>1
end
function cm.reset(e,tp,eg,ep,ev,re,r,rp)
cm[ev]={re,false,0}
re:GetHandler():ResetFlagEffect(m+1)
end
function cm.clearcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetCurrentChain()==1
......@@ -145,7 +147,7 @@ function cm.spop(e,tp,eg,ep,ev,re,r,rp)
while type(cm[i])=="table" do
local te,tf,cid=table.unpack(cm[i])
local tc=te:GetHandler()
if ((i<=Duel.GetCurrentChain() and tc:IsRelateToEffect(te)) or (i>Duel.GetCurrentChain() and tf and tc:GetRealFieldID()==cid)) and tc:IsAbleToRemove() and not tc:IsLocation(LOCATION_REMOVED) then g:AddCard(tc) end
if ((i<=Duel.GetCurrentChain() and tc:IsRelateToEffect(te)) or (i>Duel.GetCurrentChain() and tf and tc:GetFlagEffect(m+1)>0)) and tc:IsAbleToRemove() and not tc:IsLocation(LOCATION_REMOVED) then g:AddCard(tc) end
i=i+1
end
g:RemoveCard(c)
......
......@@ -50,7 +50,7 @@ function cm.fieldid(c)
return c:GetFlagEffectLabel(m) or -1
end
function cm.filter(c,ec)
return (c:GetType()&TYPE_QUICKPLAY>0 or c:GetType()==TYPE_TRAP) and not c:IsReason(REASON_RETURN) and c:GetRealFieldID()<ec:GetRealFieldID()
return (c:GetType()&TYPE_QUICKPLAY>0 or c:GetType()==TYPE_TRAP) and not c:IsReason(REASON_RETURN) and cm.fieldid(c)<cm.fieldid(ec)
end
function cm.filter2(c,ec,sc)
return cm.filter(c,ec) and cm.fieldid(c)==cm.fieldid(sc) and c:IsAbleToRemoveAsCost() and ((c:GetType()&TYPE_QUICKPLAY>0 and c:CheckActivateEffect(true,true,false)~=nil) or (c:GetType()==TYPE_TRAP>0 and c:CheckActivateEffect(false,true,false)~=nil))
......
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