Commit c1f6b10c authored by Huangnan's avatar Huangnan

fix

parent 802e56e2
Pipeline #35085 passed with stages
in 65 minutes and 10 seconds
No preview for this file type
......@@ -45,11 +45,13 @@ end
function cm.reop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local ct=e:GetLabel()
local rep=c:IsStatus(STATUS_EFFECT_REPLACED)
if c:IsRelateToEffect(e) and Duel.Remove(c,nil,REASON_EFFECT+REASON_TEMPORARY)~=0 and c:IsLocation(LOCATION_REMOVED) and not c:IsReason(REASON_REDIRECT) then
if rep then c:RegisterFlagEffect(0,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,3)) end
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_MOVE)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_DELAY)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetCondition(cm.mvcon)
e2:SetOperation(cm.mvop1)
e2:SetReset(RESET_EVENT+RESETS_STANDARD)
......@@ -161,7 +163,7 @@ function cm.mvop(e,tp,eg,ep,ev,re,r,rp,opt,lab)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetReset(RESET_PHASE+PHASE_DAMAGE)
e1:SetReset(RESET_PHASE+PHASE_DAMAGE+RESET_EVENT+RESETS_STANDARD)
e1:SetValue(lab*500)
c:RegisterEffect(e1)
end
......
......@@ -46,11 +46,13 @@ end
function cm.reop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local ct=e:GetLabel()
local rep=c:IsStatus(STATUS_EFFECT_REPLACED)
if c:IsRelateToEffect(e) and Duel.Remove(c,nil,REASON_EFFECT+REASON_TEMPORARY)~=0 and c:IsLocation(LOCATION_REMOVED) and not c:IsReason(REASON_REDIRECT) then
if rep then c:RegisterFlagEffect(0,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,3)) end
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_MOVE)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_DELAY)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetCondition(cm.mvcon)
e2:SetOperation(cm.mvop1)
e2:SetReset(RESET_EVENT+RESETS_STANDARD)
......
......@@ -44,11 +44,13 @@ end
function cm.reop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local ct=e:GetLabel()
local rep=c:IsStatus(STATUS_EFFECT_REPLACED)
if c:IsRelateToEffect(e) and Duel.Remove(c,nil,REASON_EFFECT+REASON_TEMPORARY)~=0 and c:IsLocation(LOCATION_REMOVED) and not c:IsReason(REASON_REDIRECT) then
if rep then c:RegisterFlagEffect(0,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,3)) end
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_MOVE)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_DELAY)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetCondition(cm.mvcon)
e2:SetOperation(cm.mvop1)
e2:SetReset(RESET_EVENT+RESETS_STANDARD)
......
......@@ -46,11 +46,13 @@ end
function cm.reop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local ct=e:GetLabel()
local rep=c:IsStatus(STATUS_EFFECT_REPLACED)
if c:IsRelateToEffect(e) and Duel.Remove(c,nil,REASON_EFFECT+REASON_TEMPORARY)~=0 and c:IsLocation(LOCATION_REMOVED) and not c:IsReason(REASON_REDIRECT) then
if rep then c:RegisterFlagEffect(0,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,3)) end
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_MOVE)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_DELAY)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetCondition(cm.mvcon)
e2:SetOperation(cm.mvop1)
e2:SetReset(RESET_EVENT+RESETS_STANDARD)
......
......@@ -46,11 +46,13 @@ end
function cm.reop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local ct=e:GetLabel()
local rep=c:IsStatus(STATUS_EFFECT_REPLACED)
if c:IsRelateToEffect(e) and Duel.Remove(c,nil,REASON_EFFECT+REASON_TEMPORARY)~=0 and c:IsLocation(LOCATION_REMOVED) and not c:IsReason(REASON_REDIRECT) then
if rep then c:RegisterFlagEffect(0,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,3)) end
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_MOVE)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_DELAY)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetCondition(cm.mvcon)
e2:SetOperation(cm.mvop1)
e2:SetReset(RESET_EVENT+RESETS_STANDARD)
......@@ -201,7 +203,8 @@ function cm.returntofield(tc,e)
if tc:GetPreviousTypeOnField()&TYPE_EQUIP>0 then
Duel.SendtoGrave(tc,REASON_RULE+REASON_RETURN)
else
local rc=tc:GetReasonEffect():GetOwner() or tc
local rc=tc
if tc:GetReasonEffect() then rc=tc:GetReasonEffect():GetOwner() end
local e1=Effect.CreateEffect(rc)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(m)
......
......@@ -41,7 +41,7 @@ function cm.activate(e,tp,eg,ep,ev,re,r,rp)
if tc:IsRelateToEffect(e) then
tc:ResetFlagEffect(11451718)
local rc=tc
if tc:GetReasonEffect() and tc:GetReasonEffect():GetOwner() then rc=tc:GetReasonEffect():GetOwner() end
if tc:GetReasonEffect() then rc=tc:GetReasonEffect():GetOwner() end
local e1=Effect.CreateEffect(rc)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(m)
......
......@@ -58,11 +58,13 @@ end
function cm.reop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local ct=e:GetLabel()
local rep=c:IsStatus(STATUS_EFFECT_REPLACED)
if c:IsRelateToEffect(e) and Duel.Remove(c,nil,REASON_EFFECT+REASON_TEMPORARY)~=0 and c:IsLocation(LOCATION_REMOVED) and not c:IsReason(REASON_REDIRECT) then
if rep then c:RegisterFlagEffect(0,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,3)) end
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_MOVE)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_DELAY)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetCondition(cm.mvcon)
e2:SetOperation(cm.mvop1)
e2:SetReset(RESET_EVENT+RESETS_STANDARD)
......@@ -185,13 +187,10 @@ function cm.mvop(e,tp,eg,ep,ev,re,r,rp,opt,lab)
local tc=g2:Select(tp,1,1,nil):GetFirst()
local code=tc:GetOriginalCode()
if not fc:IsImmuneToEffect(e) then
if tc:GetOriginalType()&TYPE_NORMAL==0 then
if tc:GetOriginalType()&0x11~=0x11 or tc:GetOriginalType()&TYPE_PENDULUM>0 then
fc:ReplaceEffect(code,RESET_EVENT+RESETS_STANDARD,1)
else
local ini=cm.initial_effect
cm.initial_effect=function() end
fc:ReplaceEffect(m,RESET_EVENT+RESETS_STANDARD,1)
cm.initial_effect=ini
fc:ReplaceEffect(80316585,RESET_EVENT+RESETS_STANDARD,1)
end
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
......
......@@ -6,8 +6,8 @@ function c16400605.initial_effect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,16400605)
e1:SetTarget(c16400605.target)
e1:SetOperation(c16400605.activate)
e1:SetTarget(c16400605.tgtg)
e1:SetOperation(c16400605.tgop)
c:RegisterEffect(e1)
--draw
local e2=Effect.CreateEffect(c)
......@@ -34,11 +34,11 @@ end
function c16400605.filter(c)
return c:IsCode(16400510) and c:IsAbleToGrave()
end
function c16400605.target(e,tp,eg,ep,ev,re,r,rp,chk)
function c16400605.tgtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c16400605.filter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_DECK)
end
function c16400605.activate(e,tp,eg,ep,ev,re,r,rp)
function c16400605.tgop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,c16400605.filter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
......
--O.P.B.A:Marine Raider [Stand Off]
local s,id=GetID()
local s,id=GetID()
function s.initial_effect(c)
aux.AddCodeList(c,31750001)
aux.AddXyzProcedure(c,nil,5,2,s.ovfilter,aux.Stringid(id,0),2,s.xyzop)
......@@ -107,7 +107,7 @@ function s.tfilter(e,c)
return c:IsSetCard(0x694) and c:GetType()==TYPE_TRAP and c:GetColumnGroup():IsContains(e:GetHandler())
end
function s.efilter(e,te)
return te:GetHandler():GetColumnGroup():IsContains(e:GetHandler()) and te:GetHandlerPlayer()==1-tp
return te:GetHandler():GetColumnGroup():IsContains(e:GetHandler()) and te:GetHandlerPlayer()~=e:GetHandlerPlayer()
end
function s.posv(e,c)
return e:GetHandler():GetPosition()
......
......@@ -35,23 +35,6 @@ function cm.damop(e,tp,eg,ep,ev,re,r,rp)
if Duel.IsExistingMatchingCard(Card.IsCode,tp,LOCATION_MZONE,0,1,nil,e,tp,m-1) then
Duel.Draw(tp,1,REASON_EFFECT)
end
if Duel.GetFlagEffect(tp,60002148)>=5 then
dmg=800
end
local g=Duel.GetMatchingGroup(nil,tp,0,LOCATION_MZONE,nil)
local tc=g:GetFirst()
while tc do
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(-dmg)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1)
if tc:GetAttack()==0 then
Duel.Destroy(tc,REASON_EFFECT)
end
tc=g:GetNext()
end
end
......
--世界猫咪联盟:杀戮光环!
--世界猫咪联盟:杀~戮~光~环!
function c62625135.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
......@@ -24,7 +24,7 @@ function c62625135.initial_effect(c)
c:RegisterEffect(e2)
end
function c62625135.cfilter(c)
return c:IsFaceup() and c:IsType(TYPE_SYNCHRO) and c:IsSetCard(0x6d1)
return c:IsFaceup() and c:IsSetCard(0x6d1)
end
function c62625135.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(c62625135.cfilter,tp,LOCATION_MZONE,0,1,nil)
......
......@@ -41,7 +41,6 @@ function cm.cfilter(c)
return c:IsFaceup() and c:IsLevelBelow(4) and c:IsSetCard(0xef1)
end
function cm.sprcon(e,c)
local tp=e:GetHandlerPlayer()
return Duel.IsExistingMatchingCard(cm.cfilter,tp,LOCATION_MZONE,0,1,nil)
end
--public
......
......@@ -97,12 +97,11 @@ function cm.tgop(e,tp,eg,ep,ev,re,r,rp)
end
end
--pendulum set
function cm.cfilter(c)
function cm.pcfilter(c)
return c:IsFaceup() and c:IsLevelBelow(4)
end
function cm.pencon(e,tp,eg,ep,ev,re,r,rp)
local tp=e:GetHandlerPlayer()
return e:GetHandler():IsFaceup() and Duel.IsExistingMatchingCard(cm.cfilter,tp,LOCATION_MZONE,0,1,nil)
return e:GetHandler():IsFaceup() and Duel.IsExistingMatchingCard(cm.pcfilter,tp,LOCATION_MZONE,0,1,nil)
end
function cm.setfilter(c)
return c:IsType(TYPE_MONSTER) and c:IsLevelBelow(4) and c:IsAbleToHand()
......
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