Commit 2b12b6f5 authored by Huangnan's avatar Huangnan

fix

parent 07079df3
Pipeline #41758 failed with stages
in 5 minutes and 56 seconds
......@@ -8,6 +8,7 @@ function s.initial_effect(c)
--Special Summon
local e1 = Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1)
e1:SetCondition(aux.IsDualState)
......
......@@ -122,7 +122,7 @@ function s.indop(e,tp,eg,ep,ev,re,r,rp)
e1:SetDescription(aux.Stringid(id,3))
e1:SetProperty(EFFECT_FLAG_CLIENT_HINT)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
e1:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
e1:SetValue(1)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
rc:RegisterEffect(e1,true)
......
......@@ -33,7 +33,6 @@ function s.regop(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterFlagEffect(1,47330700,0,0,0)
end
end
e:Reset()
end
function s.sumcheck(c)
if not s.global_check then
......
......@@ -32,7 +32,6 @@ function s.regop(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterFlagEffect(1,47330700,0,0,0)
end
end
e:Reset()
end
function s.sumcheck(c)
if not s.global_check then
......
......@@ -33,7 +33,6 @@ function s.regop(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterFlagEffect(1,47330700,0,0,0)
end
end
e:Reset()
end
function s.sumcheck(c)
if not s.global_check then
......
......@@ -33,7 +33,6 @@ function s.regop(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterFlagEffect(1,47330700,0,0,0)
end
end
e:Reset()
end
function s.sumcheck(c)
if not s.global_check then
......@@ -124,14 +123,14 @@ function s.guess(c)
e1:SetOperation(s.guesop)
e1:SetLabel(47330700)
c:RegisterEffect(e1)
local e2=e1:Clone(e1)
local e2=e1:Clone()
e2:SetCode(EVENT_MSET)
c:RegisterEffect(e2)
local e3=e1:Clone(e1)
local e3=e1:Clone()
e3:SetCode(EVENT_SPSUMMON_SUCCESS)
e3:SetCondition(s.guescon2)
c:RegisterEffect(e3)
local e4=e1:Clone(e1)
local e4=e1:Clone()
e4:SetCode(EVENT_CHANGE_POS)
e4:SetCondition(s.guescon3)
c:RegisterEffect(e4)
......
......@@ -33,7 +33,6 @@ function s.regop(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterFlagEffect(1,47330700,0,0,0)
end
end
e:Reset()
end
function s.sumcheck(c)
if not s.global_check then
......
......@@ -32,7 +32,6 @@ function s.regop(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterFlagEffect(1,47330700,0,0,0)
end
end
e:Reset()
end
function s.summon(c)
local e1=Effect.CreateEffect(c)
......
......@@ -33,7 +33,6 @@ function s.regop(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterFlagEffect(1,47330700,0,0,0)
end
end
e:Reset()
end
function s.sumcheck(c)
if not s.global_check then
......
......@@ -32,7 +32,6 @@ function s.regop(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterFlagEffect(1,47330700,0,0,0)
end
end
e:Reset()
end
function s.sumcheck(c)
if not s.global_check then
......
......@@ -31,7 +31,6 @@ function s.regop(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterFlagEffect(1,47330700,0,0,0)
end
end
e:Reset()
end
function s.control(c)
local custom_code=aux.RegisterMergedDelayedEvent_ToSingleCard(c,id,EVENT_SPSUMMON_SUCCESS)
......
......@@ -32,7 +32,6 @@ function s.regop(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterFlagEffect(1,47330700,0,0,0)
end
end
e:Reset()
end
function s.sumcheck(c)
if not s.global_check then
......
......@@ -32,7 +32,6 @@ function s.regop(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterFlagEffect(1,47330700,0,0,0)
end
end
e:Reset()
end
function s.sumcheck(c)
if not s.global_check then
......
......@@ -33,7 +33,6 @@ function s.regop(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterFlagEffect(1,47330700,0,0,0)
end
end
e:Reset()
end
function s.sumcheck(c)
if not s.global_check then
......
......@@ -33,7 +33,6 @@ function s.regop(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterFlagEffect(1,47330700,0,0,0)
end
end
e:Reset()
end
function s.sumcheck(c)
if not s.global_check then
......
......@@ -33,7 +33,6 @@ function s.regop(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterFlagEffect(1,47330700,0,0,0)
end
end
e:Reset()
end
function s.search_st(c)
local e1=Effect.CreateEffect(c)
......
......@@ -21,11 +21,22 @@ end
function s.settg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(s.filter,tp,LOCATION_DECK+LOCATION_REMOVED,0,1,nil) end
end
function s.pbfilter2(c)
return not c:IsPublic()
end
function s.setop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET)
local g=Duel.SelectMatchingCard(tp,s.filter,tp,LOCATION_DECK+LOCATION_REMOVED,0,1,1,nil)
if #g>0 then
Duel.SSet(tp,g)
if #g>0 and Duel.SSet(tp,g)~=0 and Duel.SelectEffectYesNo(tp,c,aux.Stringid(47350007,5)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONFIRM)
local sg=Duel.SelectMatchingCard(tp,s.pbfilter2,tp,LOCATION_HAND,0,1,1,c)
local tc=sg:GetFirst()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_PUBLIC)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END+RESET_OPPO_TURN)
tc:RegisterEffect(e1)
end
end
function s.notg(c)
......@@ -33,17 +44,12 @@ function s.notg(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE+EFFECT_FLAG_SET_AVAILABLE)
e1:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e1:SetRange(LOCATION_SZONE)
e1:SetRange(LOCATION_MZONE)
e1:SetTargetRange(LOCATION_MZONE+LOCATION_GRAVE,LOCATION_MZONE+LOCATION_GRAVE)
e1:SetCondition(s.ntcon)
e1:SetTarget(s.nttg)
e1:SetValue(aux.tgoval)
c:RegisterEffect(e1)
end
function s.ntcon(e)
local tp=e:GetHandlerPlayer()
return Duel.IsExistingMatchingCard(c6186304.cfilter,tp,LOCATION_ONFIELD,0,1,nil)
end
function s.nttg(e,c)
local ec=e:GetHandler()
return c:IsType(TYPE_MONSTER) and c:IsAttribute(ec:GetAttribute()) and c:IsFaceup()
......
......@@ -188,7 +188,7 @@ function s.scop(e,tp,eg,ep,ev,re,r,rp)
local mf=ce:GetValue()
sg2=Duel.GetMatchingGroup(s.filter2,tp,LOCATION_EXTRA,0,nil,e,tp,mg2,mf,chkf)
end
if sg1:GetCount()>0 or (sg2~=nil and sg2:GetCount()>0) and Duel.SelectYesNo(tp,aux.Stringid(id,2)) then
if (sg1:GetCount()>0 or (sg2~=nil and sg2:GetCount()>0)) and Duel.SelectYesNo(tp,aux.Stringid(id,2)) then
local sg=sg1:Clone()
if sg2 then sg:Merge(sg2) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
......
......@@ -7,7 +7,7 @@ function cm.initial_effect(c)
--to field
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetRange(LOCATION_MZONE)
e1:SetCondition(cm.condition)
......
......@@ -102,10 +102,12 @@ end
function s.operation3(e,tp,eg,ep,ev,re,r,rp)
local c=re:GetHandler()
local p=0
if c:IsLocation(LOCATION_GRAVE) then
if c:IsRelateToEffect(re) and Duel.Remove(c,POS_FACEUP,REASON_EFFECT)>0 then
Duel.NegateActivation(ev)
p=1
end
if Duel.Remove(c,POS_FACEUP,REASON_EFFECT)>0 and p==1 then
Duel.NegateActivation(ev)
end
end
......
......@@ -54,7 +54,7 @@ function s.op1(e,tp,eg,ep,ev,re,r,rp)
Duel.ConfirmDecktop(tp,3)
local g=Duel.GetDecktopGroup(tp,3)
local ct=g:GetCount()
if ct>0 and g:FilterCount(s.f1,nil)>0 and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then
if ct>0 and g:FilterCount(s.f1,nil)>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local sg=g:FilterSelect(tp,s.f1,1,1,nil)
Duel.SendtoHand(sg,nil,REASON_EFFECT)
......@@ -62,17 +62,19 @@ function s.op1(e,tp,eg,ep,ev,re,r,rp)
Duel.ShuffleHand(tp)
Duel.ShuffleDeck(tp)
end
if Duel.GetMatchingGroupCount(s.f2,tp,LOCATION_HAND,0,nil)<1 then
Duel.BreakEffect()
elseif not Duel.SelectYesNo(tp,aux.Stringid(id,2)) then
Duel.BreakEffect()
else
local g1=Duel.GetMatchingGroup(s.f2,tp,LOCATION_HAND,0,nil)
local g2=Duel.GetMatchingGroup(s.f3,tp,LOCATION_HAND,0,nil,e,tp)
if g1:GetCount()>0 and g2:GetCount()>0 then
if Duel.SelectYesNo(tp,aux.Stringid(id,2)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DISCARD)
Duel.DiscardHand(tp,s.f2,1,1,REASON_EFFECT,nil)
if Duel.GetMatchingGroupCount(s.f3,tp,LOCATION_HAND,0,nil,e,tp)>0 and Duel.SelectYesNo(tp,aux.Stringid(id,3)) then
Duel.DiscardHand(tp,s.f2,1,1,REASON_EFFECT+REASON_DISCARD,nil)
g2=Duel.GetMatchingGroup(s.f3,tp,LOCATION_HAND,0,nil,e,tp)
if g2:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local spg=Duel.SelectMatchingCard(tp,s.f3,tp,LOCATION_HAND,0,1,1,nil,e,tp)
Duel.SpecialSummon(spg,0,tp,tp,false,false,POS_FACEUP)
local sg2=g2:Select(tp,1,1,nil)
Duel.SpecialSummon(sg2,nil,tp,tp,false,false,POS_FACEUP)
end
end
end
end
......
......@@ -5,8 +5,8 @@ function c61200005.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,0))
e1:SetCategory(CATEGORY_TODECK)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_DELAY)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetCode(EVENT_LEAVE_FIELD)
e1:SetCondition(s.con1)
e1:SetTarget(s.tg1)
......
......@@ -142,10 +142,12 @@ function s.op4(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(s.f3,tp,LOCATION_DECK+LOCATION_REMOVED,0,nil,e,tp)
local g1=Group.CreateGroup()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
if g:GetCount()>0 then
if Duel.IsPlayerAffectedByEffect(tp,59822133) or g:GetCount()==1 then
local g1=Duel.SelectMatchingCard(tp,s.f3,tp,LOCATION_DECK+LOCATION_REMOVED,0,1,1,nil,e,tp)
g1=Duel.SelectMatchingCard(tp,s.f3,tp,LOCATION_DECK+LOCATION_REMOVED,0,1,1,nil,e,tp)
else
local g1=Duel.SelectMatchingCard(tp,s.f3,tp,LOCATION_DECK+LOCATION_REMOVED,0,1,2,nil,e,tp)
g1=Duel.SelectMatchingCard(tp,s.f3,tp,LOCATION_DECK+LOCATION_REMOVED,0,2,2,nil,e,tp)
end
end
if g1:GetCount()>0 then
Duel.SpecialSummon(g1,nil,tp,tp,false,false,POS_FACEUP)
......
......@@ -117,8 +117,8 @@ function s.op3(e,tp,eg,ep,ev,re,r,rp)
if tc:IsRelateToEffect(e) and tc:IsFaceup() then
if g1:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_XMATERIAL)
g:Merge(g1:Select(tp,1,1,nil))
Duel.Overlay(g,tc)
Group.Merge(g,g1:Select(tp,1,2,nil))
Duel.Overlay(tc,g)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,3))
e1:SetType(EFFECT_TYPE_SINGLE)
......@@ -148,6 +148,6 @@ function s.op5(e,tp,eg,ep,ev,re,r,rp)
if g:GetCount()>=2 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g1=g:Select(tp,2,2,nil)
Duel.SendtoGrave(g1,REASON_EFFECT)
Duel.SendtoGrave(g1,REASON_EFFECT+REASON_RETURN)
end
end
\ No newline at end of file
......@@ -22,7 +22,6 @@ function c61200309.initial_effect(c)
e2:SetTarget(s.tg2)
e2:SetOperation(s.op2)
c:RegisterEffect(e2)
end
function s.f1(c)
......@@ -34,7 +33,7 @@ function s.f2(c)
end
function s.f3(c,e,tp)
return c:IsAbleToRemove(tp,POS_FACEUP,REASON_EFFECT) and not c:IsImmuneToEffect(e)
return c:IsAbleToRemove(tp,POS_FACEUP,REASON_EFFECT) and not c:IsImmuneToEffect(e) and c:IsType(TYPE_MONSTER) and c:IsFaceup()
end
function s.f4(c)
......@@ -60,7 +59,7 @@ end
function s.tg1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
return Duel.IsExistingMatchingCard(s.f3,tp,0,LOCATION_MZONE,1,nil,e,tp) and Duel.IsExistingMatchingCard(s.f4,tp,0,LOCATION_MZONE,1,nil)
return Duel.IsExistingMatchingCard(s.f4,tp,0,LOCATION_MZONE,1,nil)
end
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,nil,0,0)
Duel.SetOperationInfo(0,CATEGORY_ATKCHANGE,nil,nil,0,0)
......@@ -95,9 +94,9 @@ function s.op1(e,tp,eg,ep,ev,re,r,rp)
Duel.Remove(c,POS_FACEDOWN,REASON_EFFECT)
end
end
tc=g2:GetNext()
end
i=i+1
tc=g2:GetFirst()
end
end
end
......
......@@ -30,9 +30,12 @@ function c62699908.target(e,tp,eg,ep,ev,re,r,rp,chk)
end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,0,LOCATION_DECK)
end
function c62699908.filter1(c)
return c:IsSetCard(0x6df) and not c:IsCode(62699908)
end
function c62699908.operation(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)<1 then return end
local g=Duel.GetMatchingGroup(c62699908.filter,tp,LOCATION_DECK,0,nil)
local g=Duel.GetMatchingGroup(c62699908.filter1,tp,LOCATION_DECK,0,nil)
local dcount=Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)
local seq=-1
local tc=g:GetFirst()
......
......@@ -27,9 +27,8 @@ function cm.initial_effect(c)
--set
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(m,1))
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetCountLimit(1,m+100)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetCountLimit(1,m)
e2:SetRange(LOCATION_MZONE)
e2:SetCost(cm.actcost)
e2:SetTarget(cm.acttg)
......
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