Commit 57925fbc authored by Huangnan's avatar Huangnan

fix

parent da8931f3
Pipeline #33525 passed with stages
in 66 minutes and 51 seconds
No preview for this file type
......@@ -170,6 +170,6 @@ function s.drop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,s.spfilter2,tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP_DEFENSE)
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
end
\ No newline at end of file
......@@ -105,7 +105,7 @@ function s.spcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(s.cfilter,1,nil,tp)
end
function s.filter(c,e,tp)
return c:IsType(TYPE_TUNER) and c:IsSetCard()
return c:IsType(TYPE_TUNER) and c:IsSetCard(0x66e8)
and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
......
......@@ -7,7 +7,6 @@ function s.initial_effect(c)
aux.EnableReviveLimitPendulumSummonable(c,LOCATION_HAND+LOCATION_EXTRA)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,1))
e1:SetCategory(CATEGORY_DRAW)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_PZONE)
e1:SetCountLimit(1)
......
......@@ -22,7 +22,7 @@ function c62699570.initial_effect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_LEAVE_FIELD)
e2:SetRange(LOCATION_FZONE)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_DELAY)
e2:SetCountLimit(1)
e2:SetCondition(c62699570.reccon)
e2:SetTarget(c62699570.rectg)
......
......@@ -36,7 +36,7 @@ function c62699810.initial_effect(c)
e2:SetOperation(c62699810.ctop)
c:RegisterEffect(e2)
local e22=e2:Clone()
e22:SetCode(EVENT_DESTROYED)
e22:SetCode(EVENT_TO_GRAVE)
e22:SetCondition(c62699810.ctcon2)
c:RegisterEffect(e22)
end
......@@ -88,7 +88,7 @@ function c62699810.ctcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSpecialSummonSetCard(0x6df)
end
function c62699810.ctcon2(e,tp,eg,ep,ev,re,r,rp)
return bit.band(r,REASON_EFFECT+REASON_BATTLE)~=0
return bit.band(r,REASON_EFFECT)~=0
end
function c62699810.filter(c)
return c:IsFaceup() and c:GetCounter(0x16df)>0 and c:IsControlerCanBeChanged()
......
......@@ -52,12 +52,12 @@ end
function s.tdtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
local g=Duel.GetMatchingGroup(Card.IsType,1-tp,LOCATION_STZONE+LOCATION_FZONE,0,nil,TYPE_SPELL+TYPE_TRAP)
local g=Duel.GetMatchingGroup(Card.IsType,1-tp,LOCATION_SZONE,0,nil,TYPE_SPELL+TYPE_TRAP)
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,#g,0,0)
end
function s.tdop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(Card.IsType,1-tp,LOCATION_STZONE+LOCATION_FZONE,0,nil,TYPE_SPELL+TYPE_TRAP)
local g=Duel.GetMatchingGroup(Card.IsType,1-tp,LOCATION_SZONE,0,nil,TYPE_SPELL+TYPE_TRAP)
if #g>0 then
Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)
end
......
......@@ -46,17 +46,13 @@ end
function s.revcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
-- 持续公开直到对方回合结束
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,3))
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetCountLimit(1)
e1:SetRange(LOCATION_HAND)
e1:SetCondition(function() return Duel.GetTurnPlayer()~=tp end)
e1:SetReset(RESET_PHASE+PHASE_END,2)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_PUBLIC)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END+RESET_OPPO_TURN)
c:RegisterEffect(e1)
Duel.ConfirmCards(1-tp,c)
end
function s.indtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
......@@ -69,9 +65,11 @@ function s.indop(e,tp)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_LEAVE_FIELD)
e1:SetTargetRange(LOCATION_ONFIELD,LOCATION_ONFIELD)
e1:SetCondition(s.ctcon)
e1:SetOperation(s.ctop)
e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetLabelObject(c)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END+RESET_OPPO_TURN)
Duel.RegisterEffect(e1,tp)
-- 永续魔法陷阱发动检测
......
......@@ -123,21 +123,20 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
if Duel.IsPlayerAffectedByEffect(tp,59822133) then ct=1 end
if Duel.GetLocationCount(tp,LOCATION_MZONE)>0 then
local g=Duel.GetMatchingGroup(aux.NecroValleyFilter(cm.filter),tp,LOCATION_GRAVE,0,nil,e,tp)
if g:GetCount()>1 then
if #g>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=g:Select(tp,1,ct,nil)
local tc=sg:GetFirst()
while tc do
if Duel.SpecialSummonStep(tc,0,tp,tp,false,false,POS_FACEUP) then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetDescription(aux.Stringid(m,3))
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_CLIENT_HINT)
e1:SetCode(EFFECT_CANNOT_BE_XYZ_MATERIAL)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetValue(1)
tc:RegisterEffect(e1)
end
Duel.SpecialSummon(tc,SUMMON_TYPE_XYZ,tp,tp,false,false,POS_FACEUP)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetDescription(aux.Stringid(m,3))
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_CLIENT_HINT)
e1:SetCode(EFFECT_CANNOT_BE_XYZ_MATERIAL)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetValue(1)
tc:RegisterEffect(e1)
Duel.SpecialSummonComplete()
local fid=e:GetHandler():GetFieldID()
tc:RegisterFlagEffect(m,RESET_EVENT+RESETS_STANDARD,0,1,fid)
......
......@@ -64,19 +64,19 @@ function cm.atkval(e,tp)
return atk*200
end
--overlay
function cm.matfilter(c,tc)
return c:IsCanOverlay() and c:IsCanBeXyzMaterial(tc) and c:IsType(TYPE_MONSTER)
function cm.matfilter(c,e)
return c:IsCanOverlay() and c:IsType(TYPE_MONSTER) and not c:IsImmuneToEffect(e)
end
function cm.poscost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,2,REASON_COST) end
e:GetHandler():RemoveOverlayCard(tp,2,2,REASON_COST)
end
function cm.postg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return Duel.IsExistingMatchingCard(cm.matfilter,tp,LOCATION_MZONE,LOCATION_MZONE,1,e:GetHandler(),e:GetHandler()) end
if chk==0 then return Duel.IsExistingMatchingCard(cm.matfilter,tp,LOCATION_MZONE,LOCATION_MZONE,1,e:GetHandler(),e) end
end
function cm.posop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=Duel.GetMatchingGroup(cm.matfilter,tp,LOCATION_MZONE,LOCATION_MZONE,e:GetHandler(),c)
local g=Duel.GetMatchingGroup(cm.matfilter,tp,LOCATION_MZONE,LOCATION_MZONE,e:GetHandler(),e)
if #g>0 and c:IsLocation(LOCATION_ONFIELD) and c:IsRelateToEffect(e) then
Duel.Hint(HINTMSG_SELECT,tp,HINTMSG_OPERATECARD)
local tc=g:Select(tp,1,1,nil):GetFirst()
......@@ -98,7 +98,7 @@ function cm.ovcost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SendtoDeck(og,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)
end
function cm.ovtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return Duel.IsExistingMatchingCard(cm.matfilter,tp,LOCATION_MZONE,LOCATION_MZONE,1,e:GetHandler(),e:GetHandler()) end
if chk==0 then return Duel.IsExistingMatchingCard(cm.matfilter,tp,LOCATION_MZONE,LOCATION_MZONE,1,e:GetHandler(),e) end
Duel.SetChainLimit(cm.chainlm)
end
function cm.chainlm(e,rp,tp)
......@@ -106,7 +106,7 @@ function cm.chainlm(e,rp,tp)
end
function cm.ovop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=Duel.GetMatchingGroup(cm.matfilter,tp,LOCATION_MZONE,LOCATION_MZONE,e:GetHandler(),c)
local g=Duel.GetMatchingGroup(cm.matfilter,tp,LOCATION_MZONE,LOCATION_MZONE,e:GetHandler(),e)
if #g>0 and c:IsLocation(LOCATION_ONFIELD) and c:IsRelateToEffect(e) then
Duel.Hint(HINTMSG_SELECT,tp,HINTMSG_OPERATECARD)
local tc=g:Select(tp,1,1,nil):GetFirst()
......
......@@ -33,61 +33,61 @@ function cm.initial_effect(c)
e1:SetValue(1)
c:RegisterEffect(e1)
--immune
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_IMMUNE_EFFECT)
e3:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e3:SetRange(LOCATION_MZONE)
e3:SetCondition(cm.imcon)
e3:SetValue(cm.efilter)
c:RegisterEffect(e3)
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetCode(EFFECT_SET_BASE_ATTACK)
e4:SetRange(LOCATION_MZONE)
e4:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e4:SetCondition(cm.imcon)
e4:SetValue(cm.atkval)
c:RegisterEffect(e4)
--镜界不止的推演
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(m,1))
e2:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_PREDRAW)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_IMMUNE_EFFECT)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetRange(LOCATION_MZONE)
e2:SetCondition(cm.condition)
e2:SetTarget(cm.target)
e2:SetOperation(cm.operation)
e2:SetCondition(cm.imcon)
e2:SetValue(cm.efilter)
c:RegisterEffect(e2)
--终局的圣德兵谏
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_LEAVE_FIELD)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_SET_BASE_ATTACK)
e3:SetRange(LOCATION_MZONE)
e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetCountLimit(1)
e3:SetCondition(cm.lvcon)
e3:SetOperation(cm.lvop)
e3:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e3:SetCondition(cm.imcon)
e3:SetValue(cm.atkval)
c:RegisterEffect(e3)
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e4:SetCode(EVENT_TO_GRAVE)
e4:SetRange(LOCATION_MZONE)
e4:SetProperty(EFFECT_FLAG_DELAY)
e4:SetCountLimit(1)
e4:SetCondition(cm.lvcon2)
e4:SetOperation(cm.lvop2)
c:RegisterEffect(e4)
--镜界不止的推演
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e5:SetCode(EVENT_REMOVE)
e5:SetDescription(aux.Stringid(m,1))
e5:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e5:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e5:SetCode(EVENT_PREDRAW)
e5:SetRange(LOCATION_MZONE)
e5:SetProperty(EFFECT_FLAG_DELAY)
e5:SetCountLimit(1)
e5:SetCondition(cm.lvcon3)
e5:SetOperation(cm.lvop3)
e5:SetCondition(cm.condition)
e5:SetTarget(cm.target)
e5:SetOperation(cm.operation)
c:RegisterEffect(e5)
--终局的圣德兵谏
local e6=Effect.CreateEffect(c)
e6:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e6:SetCode(EVENT_LEAVE_FIELD)
e6:SetRange(LOCATION_MZONE)
e6:SetProperty(EFFECT_FLAG_DELAY)
e6:SetCountLimit(1)
e6:SetCondition(cm.lvcon)
e6:SetOperation(cm.lvop)
c:RegisterEffect(e6)
local e7=Effect.CreateEffect(c)
e7:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e7:SetCode(EVENT_TO_GRAVE)
e7:SetRange(LOCATION_MZONE)
e7:SetProperty(EFFECT_FLAG_DELAY)
e7:SetCountLimit(1)
e7:SetCondition(cm.lvcon2)
e7:SetOperation(cm.lvop2)
c:RegisterEffect(e7)
local e8=Effect.CreateEffect(c)
e8:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e8:SetCode(EVENT_REMOVE)
e8:SetRange(LOCATION_MZONE)
e8:SetProperty(EFFECT_FLAG_DELAY)
e8:SetCountLimit(1)
e8:SetCondition(cm.lvcon3)
e8:SetOperation(cm.lvop3)
c:RegisterEffect(e8)
end
--splimit
function cm.splimit(e,se,sp,st)
......@@ -104,7 +104,7 @@ function cm.imfilter(c)
return c:IsType(TYPE_XYZ) and c:IsType(TYPE_MONSTER) and c:IsFaceup()
end
function cm.imcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(cm.imfilter,tp,LOCATION_MZONE,0,1,e:GetHandler())
return Duel.IsExistingMatchingCard(cm.imfilter,e:GetHandlerPlayer(),LOCATION_MZONE,0,1,e:GetHandler())
end
function cm.efilter(e,te)
return te:GetOwner()~=e:GetOwner()
......
......@@ -58,7 +58,7 @@ function cm.ffilter2(c)
end
--summon type
function cm.spcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_FUSION) or e:GetHandler():GetFlagEffect(m+1)>0
return e:GetHandler():IsSummonType(SUMMON_TYPE_FUSION) or e:GetHandler():GetFlagEffect(m+100)>0
end
--atk
function cm.adval(e,c)
......@@ -94,6 +94,6 @@ end
function cm.sumop(e,tp,eg,ep,ev,re,r,rp)
if e:GetHandler():IsRelateToEffect(e) then
Duel.SpecialSummon(e:GetHandler(),0,tp,tp,false,false,POS_FACEUP)
e:GetHandler():RegisterFlagEffect(m+1,RESET_EVENT+RESETS_STANDARD-RESET_DISABLE,0,0)
e:GetHandler():RegisterFlagEffect(m+100,RESET_EVENT+RESETS_STANDARD,0,1)
end
end
\ No newline at end of file
......@@ -55,7 +55,7 @@ function cm.lcheck(g,lc)
end
--immune
function cm.econ(e)
return Duel.GetFieldGroupCount(e:GetHandlerPlayer(),LOCATION_MZONE,0)==0
return Duel.GetFieldGroupCount(e:GetHandlerPlayer(),LOCATION_MZONE,0)==1
end
function cm.efilter(e,te)
return te:GetOwner()~=e:GetOwner()
......
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