Commit 378f8b89 authored by Huangnan's avatar Huangnan

fix

parent 85af5207
Pipeline #38170 passed with stages
in 93 minutes and 38 seconds
No preview for this file type
...@@ -64,6 +64,7 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -64,6 +64,7 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp)
local sg=g:SelectSubGroup(tp,s.gcheck,false,2,2,tp) local sg=g:SelectSubGroup(tp,s.gcheck,false,2,2,tp)
if sg:GetCount()>0 and Duel.Remove(sg,POS_FACEUP,REASON_EFFECT) and c:IsRelateToEffect(e) then if sg:GetCount()>0 and Duel.Remove(sg,POS_FACEUP,REASON_EFFECT) and c:IsRelateToEffect(e) then
Duel.SpecialSummon(c,0,tp,tp,false,true,POS_FACEUP) Duel.SpecialSummon(c,0,tp,tp,false,true,POS_FACEUP)
c:CompleteProcedure()
end end
end end
function s.recfilter(c) function s.recfilter(c)
......
...@@ -64,6 +64,7 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -64,6 +64,7 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp)
local sg=g:SelectSubGroup(tp,s.gcheck,false,2,2,tp) local sg=g:SelectSubGroup(tp,s.gcheck,false,2,2,tp)
if sg:GetCount()>0 and Duel.Remove(sg,POS_FACEUP,REASON_EFFECT) and c:IsRelateToEffect(e) then if sg:GetCount()>0 and Duel.Remove(sg,POS_FACEUP,REASON_EFFECT) and c:IsRelateToEffect(e) then
Duel.SpecialSummon(c,0,tp,tp,false,true,POS_FACEUP) Duel.SpecialSummon(c,0,tp,tp,false,true,POS_FACEUP)
c:CompleteProcedure()
end end
end end
function s.recfilter(c) function s.recfilter(c)
......
...@@ -63,6 +63,7 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -63,6 +63,7 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp)
local sg=g:SelectSubGroup(tp,s.gcheck,false,3,3,tp) local sg=g:SelectSubGroup(tp,s.gcheck,false,3,3,tp)
if sg:GetCount()>0 and Duel.Remove(sg,POS_FACEUP,REASON_EFFECT) and c:IsRelateToEffect(e) then if sg:GetCount()>0 and Duel.Remove(sg,POS_FACEUP,REASON_EFFECT) and c:IsRelateToEffect(e) then
Duel.SpecialSummon(c,0,tp,tp,false,true,POS_FACEUP) Duel.SpecialSummon(c,0,tp,tp,false,true,POS_FACEUP)
c:CompleteProcedure()
end end
end end
function s.recfilter(c) function s.recfilter(c)
......
...@@ -64,6 +64,7 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -64,6 +64,7 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp)
local sg=g:SelectSubGroup(tp,s.gcheck,false,2,2,tp) local sg=g:SelectSubGroup(tp,s.gcheck,false,2,2,tp)
if sg:GetCount()>0 and Duel.Remove(sg,POS_FACEUP,REASON_EFFECT) and c:IsRelateToEffect(e) then if sg:GetCount()>0 and Duel.Remove(sg,POS_FACEUP,REASON_EFFECT) and c:IsRelateToEffect(e) then
Duel.SpecialSummon(c,0,tp,tp,false,true,POS_FACEUP) Duel.SpecialSummon(c,0,tp,tp,false,true,POS_FACEUP)
c:CompleteProcedure()
end end
end end
function s.recfilter(c) function s.recfilter(c)
......
...@@ -64,6 +64,7 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -64,6 +64,7 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp)
local sg=g:SelectSubGroup(tp,s.gcheck,false,2,2,tp) local sg=g:SelectSubGroup(tp,s.gcheck,false,2,2,tp)
if sg:GetCount()>0 and Duel.Remove(sg,POS_FACEUP,REASON_EFFECT) and c:IsRelateToEffect(e) then if sg:GetCount()>0 and Duel.Remove(sg,POS_FACEUP,REASON_EFFECT) and c:IsRelateToEffect(e) then
Duel.SpecialSummon(c,0,tp,tp,false,true,POS_FACEUP) Duel.SpecialSummon(c,0,tp,tp,false,true,POS_FACEUP)
c:CompleteProcedure()
end end
end end
function s.recfilter(c) function s.recfilter(c)
......
...@@ -63,6 +63,7 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -63,6 +63,7 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp)
local sg=g:SelectSubGroup(tp,s.gcheck,false,3,3,tp) local sg=g:SelectSubGroup(tp,s.gcheck,false,3,3,tp)
if sg:GetCount()>0 and Duel.Remove(sg,POS_FACEUP,REASON_EFFECT) and c:IsRelateToEffect(e) then if sg:GetCount()>0 and Duel.Remove(sg,POS_FACEUP,REASON_EFFECT) and c:IsRelateToEffect(e) then
Duel.SpecialSummon(c,0,tp,tp,false,true,POS_FACEUP) Duel.SpecialSummon(c,0,tp,tp,false,true,POS_FACEUP)
c:CompleteProcedure()
end end
end end
function s.recfilter(c) function s.recfilter(c)
......
...@@ -63,6 +63,7 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -63,6 +63,7 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp)
local sg=g:SelectSubGroup(tp,s.gcheck,false,2,2,tp) local sg=g:SelectSubGroup(tp,s.gcheck,false,2,2,tp)
if sg:GetCount()>0 and Duel.Remove(sg,POS_FACEUP,REASON_EFFECT) and c:IsRelateToEffect(e) then if sg:GetCount()>0 and Duel.Remove(sg,POS_FACEUP,REASON_EFFECT) and c:IsRelateToEffect(e) then
Duel.SpecialSummon(c,0,tp,tp,false,true,POS_FACEUP) Duel.SpecialSummon(c,0,tp,tp,false,true,POS_FACEUP)
c:CompleteProcedure()
end end
end end
function s.recfilter(c) function s.recfilter(c)
......
...@@ -64,6 +64,7 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -64,6 +64,7 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp)
local sg=g:SelectSubGroup(tp,s.gcheck,false,3,3,tp) local sg=g:SelectSubGroup(tp,s.gcheck,false,3,3,tp)
if sg:GetCount()>0 and Duel.Remove(sg,POS_FACEUP,REASON_EFFECT) and c:IsRelateToEffect(e) then if sg:GetCount()>0 and Duel.Remove(sg,POS_FACEUP,REASON_EFFECT) and c:IsRelateToEffect(e) then
Duel.SpecialSummon(c,0,tp,tp,false,true,POS_FACEUP) Duel.SpecialSummon(c,0,tp,tp,false,true,POS_FACEUP)
c:CompleteProcedure()
end end
end end
function s.recon(e,tp,eg,ep,ev,re,r,rp) function s.recon(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -64,6 +64,7 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -64,6 +64,7 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp)
local sg=g:SelectSubGroup(tp,s.gcheck,false,3,3,tp) local sg=g:SelectSubGroup(tp,s.gcheck,false,3,3,tp)
if sg:GetCount()>0 and Duel.Remove(sg,POS_FACEUP,REASON_EFFECT) and c:IsRelateToEffect(e) then if sg:GetCount()>0 and Duel.Remove(sg,POS_FACEUP,REASON_EFFECT) and c:IsRelateToEffect(e) then
Duel.SpecialSummon(c,0,tp,tp,false,true,POS_FACEUP) Duel.SpecialSummon(c,0,tp,tp,false,true,POS_FACEUP)
c:CompleteProcedure()
end end
end end
function s.cfilter(c,tp) function s.cfilter(c,tp)
......
...@@ -37,7 +37,7 @@ end ...@@ -37,7 +37,7 @@ end
function s.activate(e,tp,eg,ep,ev,re,r,rp) function s.activate(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then if tc:IsRelateToEffect(e) then
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(tc,SUMMON_TYPE_RITUAL,tp,tp,false,true,POS_FACEUP)
local fid=e:GetHandler():GetFieldID() local fid=e:GetHandler():GetFieldID()
tc:RegisterFlagEffect(id,RESET_EVENT+RESETS_STANDARD,0,1,fid) tc:RegisterFlagEffect(id,RESET_EVENT+RESETS_STANDARD,0,1,fid)
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
......
--月球意识 篝 --月球意识 篝
local s,id,o=GetID()
function s.initial_effect(c) function s.initial_effect(c)
--synchro summon --synchro summon
aux.AddSynchroProcedure(c,nil,aux.NonTuner(nil),1) aux.AddSynchroProcedure(c,nil,aux.NonTuner(nil),1)
...@@ -36,12 +35,11 @@ function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -36,12 +35,11 @@ function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,0)
end end
function s.spop(e,tp,eg,ep,ev,re,r,rp) function s.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
if Duel.IsPlayerCanSpecialSummonMonster(tp,33701058,0,0x4011,0,3000,10,RACE_PLANT,ATTRIBUTE_EARTH) then if Duel.IsPlayerCanSpecialSummonMonster(tp,33701058,0,0x4011,0,3000,10,RACE_PLANT,ATTRIBUTE_EARTH) then
local token=Duel.CreateToken(tp,33701058) local token=Duel.CreateToken(tp,33701058)
Duel.SpecialSummon(token,0,tp,tp,false,false,POS_FACEUP_ATTACK) Duel.SpecialSummon(token,0,tp,tp,false,false,POS_FACEUP_ATTACK)
-- 不会被战斗破坏
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_INDESTRUCTABLE_BATTLE) e1:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
...@@ -49,32 +47,19 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -49,32 +47,19 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp)
e1:SetValue(1) e1:SetValue(1)
e1:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TOFIELD) e1:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TOFIELD)
token:RegisterEffect(e1) token:RegisterEffect(e1)
-- 不能改变表示形式
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE) e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_CANNOT_CHANGE_POSITION) e3:SetCode(EFFECT_CANNOT_CHANGE_POSITION)
e3:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TOFIELD) e3:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TOFIELD)
token:RegisterEffect(e3) token:RegisterEffect(e3)
-- 给衍生物加Flag c:RegisterFlagEffect(id,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,0)
token:RegisterFlagEffect(id,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1)
-- 注册结束阶段效果
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_PHASE+PHASE_END)
e2:SetCountLimit(1)
e2:SetLabelObject(token)
e2:SetCondition(s.thcon)
e2:SetOperation(s.thop)
e2:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e2,tp)
end end
end end
function s.cfilter(c) function s.cfilter(c)
return c:IsFaceup() and c:IsCode(33701058) return c:IsFaceup() and c:IsCode(33701058)
end end
function s.thcon(e,tp,eg,ep,ev,re,r,rp) function s.thcon(e)
local token=e:GetLabelObject() return e:GetHandler():GetFlagEffect(id)~=0 and Duel.IsExistingMatchingCard(s.cfilter,c:GetControler(),LOCATION_MZONE,0,1,nil)
return token and token:GetFlagEffect(id)>0 and token:IsLocation(LOCATION_MZONE)
end end
function s.thtg(e,tp,eg,ep,ev,re,r,rp,chk) function s.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToHand,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) and c:GetFlagEffect(id)>0 and Duel.GetFieldGroupCount(tp,0,LOCATION_HAND)>0 if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToHand,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) and c:GetFlagEffect(id)>0 and Duel.GetFieldGroupCount(tp,0,LOCATION_HAND)>0
...@@ -85,10 +70,9 @@ function s.thtg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -85,10 +70,9 @@ function s.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
end end
function s.thop(e,tp,eg,ep,ev,re,r,rp) function s.thop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(Card.IsAbleToHand,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil) local g=Duel.GetMatchingGroup(Card.IsAbleToHand,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil)
if #g>0 then if Duel.SendtoGrave(g,REASON_EFFECT)~=0 then
Duel.SendtoHand(g,nil,REASON_EFFECT) Duel.BreakEffect()
Duel.Draw(tp,1,REASON_EFFECT)
Duel.Draw(1-tp,1,REASON_EFFECT)
end end
Duel.BreakEffect()
Duel.Draw(tp,1,REASON_EFFECT)
Duel.Draw(1-tp,1,REASON_EFFECT)
end end
\ No newline at end of file
...@@ -48,7 +48,7 @@ function cm.reopa(e,tp,eg,ep,ev,re,r,rp) ...@@ -48,7 +48,7 @@ function cm.reopa(e,tp,eg,ep,ev,re,r,rp)
ct=hctb-hcta ct=hctb-hcta
hck=Duel.IsPlayerCanDraw(tp,ct) hck=Duel.IsPlayerCanDraw(tp,ct)
end end
if not hck then return false end if not hck then return end
if hcta>hctb then if hcta>hctb then
Duel.DiscardHand(tp,nil,ct,ct,REASON_EFFECT+REASON_DISCARD) Duel.DiscardHand(tp,nil,ct,ct,REASON_EFFECT+REASON_DISCARD)
else else
......
...@@ -90,8 +90,7 @@ function cm.spfil2(c,e,tp) ...@@ -90,8 +90,7 @@ function cm.spfil2(c,e,tp)
return c:IsSetCard(0x3310) and c:IsCanBeSpecialSummoned(e,0,tp,true,true) return c:IsSetCard(0x3310) and c:IsCanBeSpecialSummoned(e,0,tp,true,true)
end end
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>1 if chk==0 then return Duel.IsExistingMatchingCard(cm.spfil2,tp,LOCATION_HAND,0,1,e:GetHandler(),e,tp)
and Duel.IsExistingMatchingCard(cm.spfil2,tp,LOCATION_HAND,0,1,e:GetHandler(),e,tp)
and not Duel.IsPlayerAffectedByEffect(tp,59822133) end and not Duel.IsPlayerAffectedByEffect(tp,59822133) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND)
end end
......
...@@ -38,8 +38,9 @@ function c62624580.cost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -38,8 +38,9 @@ function c62624580.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return c:IsDiscardable() end if chk==0 then return c:IsDiscardable() end
Duel.SendtoGrave(c,REASON_COST+REASON_DISCARD) Duel.SendtoGrave(c,REASON_COST+REASON_DISCARD)
end end
-- 修改点:将过滤条件改为仅检查「世界猫咪联盟」字段
function c62624580.thfilter(c) function c62624580.thfilter(c)
return c:IsLevel(4) and c:IsRace(RACE_BEAST) and c:IsType(TYPE_TUNER) and c:IsAbleToHand() return c:IsSetCard(0x6d1) and c:IsAbleToHand() -- 移除了等级、种族和调整限制
end end
function c62624580.tgfilter(c) function c62624580.tgfilter(c)
return c:IsSetCard(0x6d1) and c:IsAbleToGrave() return c:IsSetCard(0x6d1) and c:IsAbleToGrave()
......
...@@ -15,7 +15,7 @@ function c62699908.initial_effect(c) ...@@ -15,7 +15,7 @@ function c62699908.initial_effect(c)
e2:SetCode(EVENT_DESTROYED) e2:SetCode(EVENT_DESTROYED)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY) e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e2:SetRange(LOCATION_GRAVE) e2:SetRange(LOCATION_GRAVE)
e2:SetCountLimit(1,62699908+1) e2:SetCountLimit(1,62699908+100)
e2:SetCondition(c62699908.thcon) e2:SetCondition(c62699908.thcon)
e2:SetTarget(c62699908.thtg) e2:SetTarget(c62699908.thtg)
e2:SetOperation(c62699908.thop) e2:SetOperation(c62699908.thop)
......
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