Commit 82b54184 authored by Huangnan's avatar Huangnan

fix

parent c43bfa9f
Pipeline #41429 failed with stages
in 3 minutes and 37 seconds
......@@ -100,7 +100,7 @@ function s.spop2(e,tp,eg,ep,ev,re,r,rp)
mg1:Merge(mg2)
local sg1=Duel.GetMatchingGroup(s.spfilter2,tp,LOCATION_EXTRA,0,nil,e,tp,mg1,nil,chkf)
local mg3=Duel.GetMatchingGroup(s.mtfilter2,tp,0,LOCATION_MZONE,nil)
if Duel.GetFlagEffect(tp,11600036)>0 then
if Duel.GetFlagEffect(tp,11600036)>0 then
mg3:Merge(mg1)
end
aux.FCheckAdditional=s.fcheck
......@@ -123,7 +123,7 @@ function s.spop2(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tg=sg:Select(tp,1,1,nil)
local tc=tg:GetFirst()
if sg1:IsContains(tc) and (sg2==nil or not sg2:IsContains(tc) or not Duel.SelectYesNo(tp,ce:GetDescription())) then
if sg1:IsContains(tc) and (sg2==nil or not sg2:IsContains(tc) or not Duel.SelectYesNo(tp,ce:GetDescription())) then
if Duel.GetFlagEffect(tp,11600036)>0 and tc:IsSetCard(0x5540) and sg3:GetCount()>0 then
aux.FCheckAdditional=s.fcheck
aux.GCheckAdditional=s.gcheck
......@@ -137,7 +137,8 @@ function s.spop2(e,tp,eg,ep,ev,re,r,rp)
else
local mat2=Duel.SelectFusionMaterial(tp,tc,mg1,nil,chkf)
tc:SetMaterial(mat2)
Duel.SendtoGrave(mat2,REASON_EFFECT+REASON_MATERIAL+REASON_FUSION)
Duel.SendtoGrave(mat2,REASON_EFFECT+REASON_MATERIAL+REASON_FUSION)Duel.BreakEffect()
Duel.SpecialSummon(tc,SUMMON_TYPE_FUSION,tp,tp,false,false,POS_FACEUP)
end
else
local mat2=Duel.SelectFusionMaterial(tp,tc,mg2,nil,chkf)
......
......@@ -46,8 +46,8 @@ end
function s.con1(e,tp,eg,ep,ev,re,r,rp)
local loc=Duel.GetChainInfo(ev,CHAININFO_TRIGGERING_LOCATION)
return bit.band(loc,LOCATION_SZONE)~=0
and re:IsActiveType(TYPE_SPELL) and re:GetHandler():IsSetCard(0x95) and Duel.IsChainDisablable(ev) and not e:GetHandler():IsStatus(STATUS_BATTLE_DESTROYED)
and e:GetHandler():GetOverlayGroup():IsExists(Card.IsCode,1,nil,40000012)
and re:IsActiveType(TYPE_SPELL) and re:GetHandler():IsSetCard(0x95) and not e:GetHandler():IsStatus(STATUS_BATTLE_DESTROYED)
end
function s.tg1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsPlayerCanDraw(tp,1) end
......@@ -74,8 +74,8 @@ end
function s.tdop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=c:GetOverlayGroup()
if g:GetCount()>1 then
local tg=g:SelectSubGroup(tp,Card.IsAbleToDeck,1,2,2)
if g:GetCount()>1 then
local tg=g:FilterSelect(tp,Card.IsAbleToDeck,2,2,nil)
if Duel.SendtoDeck(tg,nil,2,REASON_EFFECT)==2 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(tp,Card.IsAbleToDeck,tp,0,LOCATION_ONFIELD,1,1,nil)
......
......@@ -85,7 +85,7 @@ function s.checkop5(e,tp,eg,ep,ev,re,r,rp)
end
--
function s.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,id+1)==0 end
if chk==0 then return true end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH)
......
......@@ -146,8 +146,8 @@ function s.tgop(e,tp,eg,ep,ev,re,r,rp)
end
end
function s.spcon(e,tp,eg,ep,ev,re,r,rp)
local tp=e:GetHandlerPlayer()
return e:GetHandler():IsPreviousControler(tp) and rp~=tp
local c=e:GetHandler()
return rp==1-tp and c:IsPreviousControler(tp)
end
function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.GetFieldGroupCount(tp,0,LOCATION_MZONE)>0 and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,true,true) end
......
......@@ -77,7 +77,7 @@ function s.descost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end
e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST)
end
function s.destg(e,tp,eg,ep,ev,re,r,rp,chk,chk)
function s.destg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(aux.TRUE,tp,0,LOCATION_ONFIELD,1,nil) end
local g=Duel.GetMatchingGroup(aux.TRUE,tp,0,LOCATION_ONFIELD,nil)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0)
......
......@@ -76,7 +76,7 @@ function s.descost(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 s.destg(e,tp,eg,ep,ev,re,r,rp,chk,chk)
function s.destg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(nil,tp,0,LOCATION_ONFIELD,1,nil) end
local g=Duel.GetMatchingGroup(nil,tp,0,LOCATION_ONFIELD,nil)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0)
......
......@@ -18,11 +18,10 @@ end
function c21113606.q(c,e)
return c:IsControlerCanBeChanged() and c:IsFaceup() and c:IsCanBeEffectTarget(e)
end
function c21113606.tg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControlerCanBeChanged() end
local g=Duel.GetMatchingGroup(c21113606.q,tp,0,LOCATION_MZONE,nil,e)
function c21113606.tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingTarget(c21113606.q,tp,0,4,1,nil,e) end
local g=Duel.GetMatchingGroup(c21113606.q,tp,0,4,nil,e)
local sg=g:RandomSelect(tp,1,1)
if chk==0 then return Duel.IsExistingTarget(Card.IsControlerCanBeChanged,tp,0,4,1,nil) and g:GetCount()>0 end
Duel.SetTargetCard(sg)
Duel.SetOperationInfo(0,CATEGORY_CONTROL,sg,1,0,0)
end
......
......@@ -45,7 +45,7 @@ function c50225110.initial_effect(c)
end
function c50225110.condition(e,tp,eg,ep,ev,re,r,rp)
local loc=Duel.GetChainInfo(ev,CHAININFO_TRIGGERING_LOCATION)
return ep==1-tp and (LOCATION_ONFIELD)&loc~=0
return ep==1-tp and loc and LOCATION_ONFIELD&loc~=0
end
function c50225110.spstg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
......
......@@ -36,7 +36,7 @@ function c61200001.initial_effect(c)
local e16=Effect.CreateEffect(c)
e16:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_REMOVE+CATEGORY_DRAW)
e16:SetDescription(aux.Stringid(id,1))
e16:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e16:SetProperty(EFFECT_FLAG_CANNOT_INACTIVATE+EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_CAN_FORBIDDEN)
e16:SetType(EFFECT_TYPE_IGNITION)
e16:SetRange(LOCATION_SZONE)
e16:SetCost(s.cost16)
......@@ -196,8 +196,8 @@ function s.op16(e,tp,eg,ep,ev,re,r,rp)
local c2=gg:Filter(s.f4,nil)
local cc1=(c1:GetCount()-(c1:GetCount()%2))/2
local cc2=(c2:GetCount()-(c2:GetCount()%2))/2
Duel.Draw(tp,cc1,REASON_RULE)
Duel.Draw(1-tp,cc2,REASON_RULE)
Duel.Draw(tp,cc1,REASON_EFFECT)
Duel.Draw(1-tp,cc2,REASON_EFFECT)
if Duel.SelectYesNo(tp,aux.Stringid(id,2)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
if not Duel.IsPlayerAffectedByEffect(tp,59822133) then
......
......@@ -19,7 +19,6 @@ function cm.initial_effect(c)
e2:SetCode(EVENT_TO_GRAVE)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e2:SetCountLimit(1,m+100)
e2:SetCondition(cm.spcon)
e2:SetTarget(cm.sptg)
e2:SetOperation(cm.spop)
c:RegisterEffect(e2)
......
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