Commit 5505a84a authored by POLYMER's avatar POLYMER

fix

parent 31791ffe
No preview for this file type
--半魔的幼芽
local s,id,o=GetID()
function s.initial_effect(c)
aux.AddCodeList(c,17337400)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_DRAW)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,id)
e1:SetCost(s.spcost)
e1:SetTarget(s.sptg)
e1:SetOperation(s.spop)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(id,1))
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_EXTRA_SUMMON_COUNT)
e2:SetRange(LOCATION_MZONE)
e2:SetTargetRange(LOCATION_HAND+LOCATION_MZONE,0)
e2:SetTarget(s.exstg)
c:RegisterEffect(e2)
end
function s.showfilter(c)
return c:IsSetCard(0x3f50) and not c:IsPublic()
end
function s.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(s.showfilter,tp,LOCATION_HAND,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONFIRM)
local g=Duel.SelectMatchingCard(tp,s.showfilter,tp,LOCATION_HAND,0,1,1,nil)
e:SetLabelObject(g:GetFirst())
Duel.ConfirmCards(1-tp,g)
Duel.ShuffleHand(tp)
end
function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and c:IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
end
function s.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
if Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)~=0 then
local tc=e:GetLabelObject()
if tc and not tc:IsCode(id) and Duel.IsPlayerCanDraw(tp,1) then
Duel.BreakEffect()
Duel.Draw(tp,1,REASON_EFFECT)
end
end
end
function s.exstg(e,c)
return c:IsCode(17337400)
end
\ No newline at end of file
...@@ -46,13 +46,13 @@ function cm.initial_effect(c) ...@@ -46,13 +46,13 @@ function cm.initial_effect(c)
c:RegisterEffect(e4) c:RegisterEffect(e4)
c22348196.discard_effect=e3 c22348196.discard_effect=e3
--count --count
local e4=Effect.CreateEffect(c) local e5=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e5:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e4:SetCode(EVENT_TO_HAND) e5:SetCode(EVENT_TO_HAND)
e4:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e5:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e4:SetCondition(c22348196.checkcon) e5:SetCondition(c22348196.checkcon)
e4:SetOperation(c22348196.checkop) e5:SetOperation(c22348196.checkop)
c:RegisterEffect(e4) c:RegisterEffect(e5)
end end
function c22348196.checkcon(e,tp,eg,ep,ev,re,r,rp) function c22348196.checkcon(e,tp,eg,ep,ev,re,r,rp)
return not e:GetHandler():IsReason(REASON_DRAW) return not e:GetHandler():IsReason(REASON_DRAW)
...@@ -80,13 +80,14 @@ function c22348196.spop1(e,tp,eg,ep,ev,re,r,rp) ...@@ -80,13 +80,14 @@ function c22348196.spop1(e,tp,eg,ep,ev,re,r,rp)
Duel.SendtoHand(tc,tp,REASON_EFFECT) Duel.SendtoHand(tc,tp,REASON_EFFECT)
end end
end end
function c22348196.thhfilter(c,e)
return c:IsRelateToEffect(e) and c:IsType(TYPE_MONSTER) and c:IsAbleToHand() and (c:IsFaceupEx() or c:IsLocation(LOCATION_ONFIELD))
end
function c22348196.spop2(e,tp,eg,ep,ev,re,r,rp) function c22348196.spop2(e,tp,eg,ep,ev,re,r,rp)
local ag=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS) local ag=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS)
local tg=ag:Filter(Card.IsRelateToEffect,nil,re) local gg=ag:Filter(c22348196.thhfilter,nil,re)
local g=tg:Filter(Card.IsType,nil,TYPE_MONSTER)
local gg=g:Filter(Card.IsAbleToHand,nil)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)~=0 and g:GetCount()~=0 and Duel.SelectYesNo(tp,aux.Stringid(22348196,3)) then if c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)~=0 and gg:GetCount()~=0 and Duel.SelectYesNo(tp,aux.Stringid(22348196,3)) then
Duel.BreakEffect() Duel.BreakEffect()
Duel.SendtoHand(gg,tp,REASON_EFFECT) Duel.SendtoHand(gg,tp,REASON_EFFECT)
end end
...@@ -95,7 +96,7 @@ function c22348196.spxcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -95,7 +96,7 @@ function c22348196.spxcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetFlagEffect(22348196)>0 return e:GetHandler():GetFlagEffect(22348196)>0
end end
function c22348196.spxcon2(e,tp,eg,ep,ev,re,r,rp) function c22348196.spxcon2(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsPlayerAffectedByEffect(tp,22348205) return Duel.IsPlayerAffectedByEffect(tp,22348205) and not (e:GetHandler():GetFlagEffect(22348196)>0)
end end
function c22348196.spxcost(e,tp,eg,ep,ev,re,r,rp,chk) function c22348196.spxcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsDiscardable() end if chk==0 then return e:GetHandler():IsDiscardable() end
......
...@@ -45,13 +45,13 @@ function cm.initial_effect(c) ...@@ -45,13 +45,13 @@ function cm.initial_effect(c)
c:RegisterEffect(e4) c:RegisterEffect(e4)
c22348197.discard_effect=e3 c22348197.discard_effect=e3
--count --count
local e4=Effect.CreateEffect(c) local e5=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e5:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e4:SetCode(EVENT_TO_HAND) e5:SetCode(EVENT_TO_HAND)
e4:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e5:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e4:SetCondition(c22348197.checkcon) e5:SetCondition(c22348197.checkcon)
e4:SetOperation(c22348197.checkop) e5:SetOperation(c22348197.checkop)
c:RegisterEffect(e4) c:RegisterEffect(e5)
end end
function c22348197.checkcon(e,tp,eg,ep,ev,re,r,rp) function c22348197.checkcon(e,tp,eg,ep,ev,re,r,rp)
return not e:GetHandler():IsReason(REASON_DRAW) return not e:GetHandler():IsReason(REASON_DRAW)
...@@ -79,13 +79,14 @@ function c22348197.spop1(e,tp,eg,ep,ev,re,r,rp) ...@@ -79,13 +79,14 @@ function c22348197.spop1(e,tp,eg,ep,ev,re,r,rp)
Duel.SendtoHand(tc,tp,REASON_EFFECT) Duel.SendtoHand(tc,tp,REASON_EFFECT)
end end
end end
function c22348197.thhfilter(c,e)
return c:IsRelateToEffect(e) and c:IsType(TYPE_MONSTER) and c:IsAbleToHand() and (c:IsFaceupEx() or c:IsLocation(LOCATION_ONFIELD))
end
function c22348197.spop2(e,tp,eg,ep,ev,re,r,rp) function c22348197.spop2(e,tp,eg,ep,ev,re,r,rp)
local ag=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS) local ag=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS)
local tg=ag:Filter(Card.IsRelateToEffect,nil,re) local gg=ag:Filter(c22348197.thhfilter,nil,re)
local g=tg:Filter(Card.IsType,nil,TYPE_MONSTER)
local gg=g:Filter(Card.IsAbleToHand,nil)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)~=0 and g:GetCount()~=0 and Duel.SelectYesNo(tp,aux.Stringid(22348197,3)) then if c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)~=0 and gg:GetCount()~=0 and Duel.SelectYesNo(tp,aux.Stringid(22348197,3)) then
Duel.BreakEffect() Duel.BreakEffect()
Duel.SendtoHand(gg,tp,REASON_EFFECT) Duel.SendtoHand(gg,tp,REASON_EFFECT)
end end
...@@ -94,7 +95,7 @@ function c22348197.sccon(e,tp,eg,ep,ev,re,r,rp) ...@@ -94,7 +95,7 @@ function c22348197.sccon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetFlagEffect(22348197)>0 return e:GetHandler():GetFlagEffect(22348197)>0
end end
function c22348197.sccon2(e,tp,eg,ep,ev,re,r,rp) function c22348197.sccon2(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsPlayerAffectedByEffect(tp,22348205) return Duel.IsPlayerAffectedByEffect(tp,22348205) and not (e:GetHandler():GetFlagEffect(22348197)>0)
end end
function c22348197.sccost(e,tp,eg,ep,ev,re,r,rp,chk) function c22348197.sccost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsDiscardable() end if chk==0 then return e:GetHandler():IsDiscardable() end
......
...@@ -46,13 +46,13 @@ function cm.initial_effect(c) ...@@ -46,13 +46,13 @@ function cm.initial_effect(c)
c:RegisterEffect(e4) c:RegisterEffect(e4)
c22348198.discard_effect=e3 c22348198.discard_effect=e3
--count --count
local e4=Effect.CreateEffect(c) local e5=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e5:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e4:SetCode(EVENT_TO_HAND) e5:SetCode(EVENT_TO_HAND)
e4:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e5:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e4:SetCondition(c22348198.checkcon) e5:SetCondition(c22348198.checkcon)
e4:SetOperation(c22348198.checkop) e5:SetOperation(c22348198.checkop)
c:RegisterEffect(e4) c:RegisterEffect(e5)
end end
function c22348198.checkcon(e,tp,eg,ep,ev,re,r,rp) function c22348198.checkcon(e,tp,eg,ep,ev,re,r,rp)
return not e:GetHandler():IsReason(REASON_DRAW) return not e:GetHandler():IsReason(REASON_DRAW)
...@@ -80,13 +80,14 @@ function c22348198.spop1(e,tp,eg,ep,ev,re,r,rp) ...@@ -80,13 +80,14 @@ function c22348198.spop1(e,tp,eg,ep,ev,re,r,rp)
Duel.SendtoHand(tc,tp,REASON_EFFECT) Duel.SendtoHand(tc,tp,REASON_EFFECT)
end end
end end
function c22348198.thhfilter(c,e)
return c:IsRelateToEffect(e) and c:IsType(TYPE_MONSTER) and c:IsAbleToHand() and (c:IsFaceupEx() or c:IsLocation(LOCATION_ONFIELD))
end
function c22348198.spop2(e,tp,eg,ep,ev,re,r,rp) function c22348198.spop2(e,tp,eg,ep,ev,re,r,rp)
local ag=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS) local ag=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS)
local tg=ag:Filter(Card.IsRelateToEffect,nil,re) local gg=ag:Filter(c22348198.thhfilter,nil,re)
local g=tg:Filter(Card.IsType,nil,TYPE_MONSTER)
local gg=g:Filter(Card.IsAbleToHand,nil)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)~=0 and g:GetCount()~=0 and Duel.SelectYesNo(tp,aux.Stringid(22348198,3)) then if c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)~=0 and gg:GetCount()~=0 and Duel.SelectYesNo(tp,aux.Stringid(22348198,3)) then
Duel.BreakEffect() Duel.BreakEffect()
Duel.SendtoHand(gg,tp,REASON_EFFECT) Duel.SendtoHand(gg,tp,REASON_EFFECT)
end end
...@@ -97,7 +98,7 @@ function c22348198.tdcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -97,7 +98,7 @@ function c22348198.tdcon(e,tp,eg,ep,ev,re,r,rp)
end end
function c22348198.tdcon2(e,tp,eg,ep,ev,re,r,rp) function c22348198.tdcon2(e,tp,eg,ep,ev,re,r,rp)
local ttp=e:GetHandler():GetControler() local ttp=e:GetHandler():GetControler()
return Duel.IsPlayerAffectedByEffect(tp,22348205) and Duel.GetFlagEffect(ttp,22349198)==0 return Duel.IsPlayerAffectedByEffect(tp,22348205) and Duel.GetFlagEffect(ttp,22349198)==0 and not (e:GetHandler():GetFlagEffect(22348198)>0)
end end
function c22348198.tdcost(e,tp,eg,ep,ev,re,r,rp,chk) function c22348198.tdcost(e,tp,eg,ep,ev,re,r,rp,chk)
local ttp=e:GetHandler():GetControler() local ttp=e:GetHandler():GetControler()
......
...@@ -47,13 +47,13 @@ function cm.initial_effect(c) ...@@ -47,13 +47,13 @@ function cm.initial_effect(c)
c:RegisterEffect(e4) c:RegisterEffect(e4)
c22348199.discard_effect=e3 c22348199.discard_effect=e3
--count --count
local e4=Effect.CreateEffect(c) local e5=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e5:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e4:SetCode(EVENT_TO_HAND) e5:SetCode(EVENT_TO_HAND)
e4:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e5:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e4:SetCondition(c22348199.checkcon) e5:SetCondition(c22348199.checkcon)
e4:SetOperation(c22348199.checkop) e5:SetOperation(c22348199.checkop)
c:RegisterEffect(e4) c:RegisterEffect(e5)
end end
function c22348199.checkcon(e,tp,eg,ep,ev,re,r,rp) function c22348199.checkcon(e,tp,eg,ep,ev,re,r,rp)
return not e:GetHandler():IsReason(REASON_DRAW) return not e:GetHandler():IsReason(REASON_DRAW)
...@@ -81,13 +81,14 @@ function c22348199.spop1(e,tp,eg,ep,ev,re,r,rp) ...@@ -81,13 +81,14 @@ function c22348199.spop1(e,tp,eg,ep,ev,re,r,rp)
Duel.SendtoHand(tc,tp,REASON_EFFECT) Duel.SendtoHand(tc,tp,REASON_EFFECT)
end end
end end
function c22348199.thhfilter(c,e)
return c:IsRelateToEffect(e) and c:IsType(TYPE_MONSTER) and c:IsAbleToHand() and (c:IsFaceupEx() or c:IsLocation(LOCATION_ONFIELD))
end
function c22348199.spop2(e,tp,eg,ep,ev,re,r,rp) function c22348199.spop2(e,tp,eg,ep,ev,re,r,rp)
local ag=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS) local ag=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS)
local tg=ag:Filter(Card.IsRelateToEffect,nil,re) local gg=ag:Filter(c22348199.thhfilter,nil,re)
local g=tg:Filter(Card.IsType,nil,TYPE_MONSTER)
local gg=g:Filter(Card.IsAbleToHand,nil)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)~=0 and g:GetCount()~=0 and Duel.SelectYesNo(tp,aux.Stringid(22348199,3)) then if c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)~=0 and gg:GetCount()~=0 and Duel.SelectYesNo(tp,aux.Stringid(22348199,3)) then
Duel.BreakEffect() Duel.BreakEffect()
Duel.SendtoHand(gg,tp,REASON_EFFECT) Duel.SendtoHand(gg,tp,REASON_EFFECT)
end end
...@@ -96,7 +97,7 @@ function c22348199.descon(e,tp,eg,ep,ev,re,r,rp) ...@@ -96,7 +97,7 @@ function c22348199.descon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetFlagEffect(22348199)>0 return e:GetHandler():GetFlagEffect(22348199)>0
end end
function c22348199.descon2(e,tp,eg,ep,ev,re,r,rp) function c22348199.descon2(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsPlayerAffectedByEffect(tp,22348205) return Duel.IsPlayerAffectedByEffect(tp,22348205) and not (e:GetHandler():GetFlagEffect(22348199)>0)
end end
function c22348199.descost(e,tp,eg,ep,ev,re,r,rp,chk) function c22348199.descost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsDiscardable() end if chk==0 then return e:GetHandler():IsDiscardable() end
......
...@@ -44,13 +44,13 @@ function cm.initial_effect(c) ...@@ -44,13 +44,13 @@ function cm.initial_effect(c)
c:RegisterEffect(e4) c:RegisterEffect(e4)
c22348200.discard_effect=e3 c22348200.discard_effect=e3
--count --count
local e4=Effect.CreateEffect(c) local e5=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e5:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e4:SetCode(EVENT_TO_HAND) e5:SetCode(EVENT_TO_HAND)
e4:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e5:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e4:SetCondition(c22348200.checkcon) e5:SetCondition(c22348200.checkcon)
e4:SetOperation(c22348200.checkop) e5:SetOperation(c22348200.checkop)
c:RegisterEffect(e4) c:RegisterEffect(e5)
end end
function c22348200.checkcon(e,tp,eg,ep,ev,re,r,rp) function c22348200.checkcon(e,tp,eg,ep,ev,re,r,rp)
return not e:GetHandler():IsReason(REASON_DRAW) return not e:GetHandler():IsReason(REASON_DRAW)
...@@ -78,13 +78,14 @@ function c22348200.spop1(e,tp,eg,ep,ev,re,r,rp) ...@@ -78,13 +78,14 @@ function c22348200.spop1(e,tp,eg,ep,ev,re,r,rp)
Duel.SendtoHand(tc,tp,REASON_EFFECT) Duel.SendtoHand(tc,tp,REASON_EFFECT)
end end
end end
function c22348200.thhfilter(c,e)
return c:IsRelateToEffect(e) and c:IsType(TYPE_MONSTER) and c:IsAbleToHand() and (c:IsFaceupEx() or c:IsLocation(LOCATION_ONFIELD))
end
function c22348200.spop2(e,tp,eg,ep,ev,re,r,rp) function c22348200.spop2(e,tp,eg,ep,ev,re,r,rp)
local ag=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS) local ag=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS)
local tg=ag:Filter(Card.IsRelateToEffect,nil,re) local gg=ag:Filter(c22348200.thhfilter,nil,re)
local g=tg:Filter(Card.IsType,nil,TYPE_MONSTER)
local gg=g:Filter(Card.IsAbleToHand,nil)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)~=0 and g:GetCount()~=0 and Duel.SelectYesNo(tp,aux.Stringid(22348200,3)) then if c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)~=0 and gg:GetCount()~=0 and Duel.SelectYesNo(tp,aux.Stringid(22348200,3)) then
Duel.BreakEffect() Duel.BreakEffect()
Duel.SendtoHand(gg,tp,REASON_EFFECT) Duel.SendtoHand(gg,tp,REASON_EFFECT)
end end
...@@ -93,7 +94,7 @@ function c22348200.sccon(e,tp,eg,ep,ev,re,r,rp) ...@@ -93,7 +94,7 @@ function c22348200.sccon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetFlagEffect(22348200)>0 return e:GetHandler():GetFlagEffect(22348200)>0
end end
function c22348200.sccon2(e,tp,eg,ep,ev,re,r,rp) function c22348200.sccon2(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsPlayerAffectedByEffect(tp,22348205) return Duel.IsPlayerAffectedByEffect(tp,22348205) and not (e:GetHandler():GetFlagEffect(22348200)>0)
end end
function c22348200.sccost(e,tp,eg,ep,ev,re,r,rp,chk) function c22348200.sccost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsDiscardable() end if chk==0 then return e:GetHandler():IsDiscardable() end
......
...@@ -45,13 +45,13 @@ function cm.initial_effect(c) ...@@ -45,13 +45,13 @@ function cm.initial_effect(c)
c:RegisterEffect(e4) c:RegisterEffect(e4)
c22348201.discard_effect=e3 c22348201.discard_effect=e3
--count --count
local e4=Effect.CreateEffect(c) local e5=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e5:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e4:SetCode(EVENT_TO_HAND) e5:SetCode(EVENT_TO_HAND)
e4:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e5:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e4:SetCondition(c22348201.checkcon) e5:SetCondition(c22348201.checkcon)
e4:SetOperation(c22348201.checkop) e5:SetOperation(c22348201.checkop)
c:RegisterEffect(e4) c:RegisterEffect(e5)
end end
function c22348201.checkcon(e,tp,eg,ep,ev,re,r,rp) function c22348201.checkcon(e,tp,eg,ep,ev,re,r,rp)
return not e:GetHandler():IsReason(REASON_DRAW) return not e:GetHandler():IsReason(REASON_DRAW)
...@@ -79,13 +79,14 @@ function c22348201.spop1(e,tp,eg,ep,ev,re,r,rp) ...@@ -79,13 +79,14 @@ function c22348201.spop1(e,tp,eg,ep,ev,re,r,rp)
Duel.SendtoHand(tc,tp,REASON_EFFECT) Duel.SendtoHand(tc,tp,REASON_EFFECT)
end end
end end
function c22348201.thhfilter(c,e)
return c:IsRelateToEffect(e) and c:IsType(TYPE_MONSTER) and c:IsAbleToHand() and (c:IsFaceupEx() or c:IsLocation(LOCATION_ONFIELD))
end
function c22348201.spop2(e,tp,eg,ep,ev,re,r,rp) function c22348201.spop2(e,tp,eg,ep,ev,re,r,rp)
local ag=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS) local ag=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS)
local tg=ag:Filter(Card.IsRelateToEffect,nil,re) local gg=ag:Filter(c22348201.thhfilter,nil,re)
local g=tg:Filter(Card.IsType,nil,TYPE_MONSTER)
local gg=g:Filter(Card.IsAbleToHand,nil)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)~=0 and g:GetCount()~=0 and Duel.SelectYesNo(tp,aux.Stringid(22348201,3)) then if c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)~=0 and gg:GetCount()~=0 and Duel.SelectYesNo(tp,aux.Stringid(22348201,3)) then
Duel.BreakEffect() Duel.BreakEffect()
Duel.SendtoHand(gg,tp,REASON_EFFECT) Duel.SendtoHand(gg,tp,REASON_EFFECT)
end end
...@@ -96,7 +97,7 @@ function c22348201.xyzcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -96,7 +97,7 @@ function c22348201.xyzcon(e,tp,eg,ep,ev,re,r,rp)
end end
function c22348201.xyzcon2(e,tp,eg,ep,ev,re,r,rp) function c22348201.xyzcon2(e,tp,eg,ep,ev,re,r,rp)
local ttp=e:GetHandler():GetControler() local ttp=e:GetHandler():GetControler()
return Duel.IsPlayerAffectedByEffect(tp,22348205) and Duel.GetFlagEffect(ttp,22349201)==0 return Duel.IsPlayerAffectedByEffect(tp,22348205) and Duel.GetFlagEffect(ttp,22349201)==0 and not (e:GetHandler():GetFlagEffect(22348201)>0)
end end
function c22348201.xyzcost(e,tp,eg,ep,ev,re,r,rp,chk) function c22348201.xyzcost(e,tp,eg,ep,ev,re,r,rp,chk)
local ttp=e:GetHandler():GetControler() local ttp=e:GetHandler():GetControler()
......
...@@ -45,7 +45,7 @@ function c22348205.ntcon(e,c,minc) ...@@ -45,7 +45,7 @@ function c22348205.ntcon(e,c,minc)
return minc==0 and Duel.GetLocationCount(c:GetControler(),LOCATION_MZONE)>0 return minc==0 and Duel.GetLocationCount(c:GetControler(),LOCATION_MZONE)>0
end end
function c22348205.nttg(e,c) function c22348205.nttg(e,c)
return c:IsRace(RACE_PLANT) return c:IsRace(RACE_PLANT) and c:IsLevelAbove(5)
end end
function c22348205.thcon(e,tp,eg,ep,ev,re,r,rp) function c22348205.thcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()==tp return Duel.GetTurnPlayer()==tp
......
...@@ -43,13 +43,13 @@ function c22348207.initial_effect(c) ...@@ -43,13 +43,13 @@ function c22348207.initial_effect(c)
c:RegisterEffect(e4) c:RegisterEffect(e4)
c22348207.discard_effect=e3 c22348207.discard_effect=e3
--count --count
local e4=Effect.CreateEffect(c) local e5=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e5:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e4:SetCode(EVENT_TO_HAND) e5:SetCode(EVENT_TO_HAND)
e4:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e5:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e4:SetCondition(c22348207.checkcon) e5:SetCondition(c22348207.checkcon)
e4:SetOperation(c22348207.checkop) e5:SetOperation(c22348207.checkop)
c:RegisterEffect(e4) c:RegisterEffect(e5)
end end
function c22348207.checkcon(e,tp,eg,ep,ev,re,r,rp) function c22348207.checkcon(e,tp,eg,ep,ev,re,r,rp)
return not e:GetHandler():IsReason(REASON_DRAW) return not e:GetHandler():IsReason(REASON_DRAW)
...@@ -77,13 +77,14 @@ function c22348207.spop1(e,tp,eg,ep,ev,re,r,rp) ...@@ -77,13 +77,14 @@ function c22348207.spop1(e,tp,eg,ep,ev,re,r,rp)
Duel.SendtoHand(tc,tp,REASON_EFFECT) Duel.SendtoHand(tc,tp,REASON_EFFECT)
end end
end end
function c22348207.thhfilter(c,e)
return c:IsRelateToEffect(e) and c:IsType(TYPE_MONSTER) and c:IsAbleToHand() and (c:IsFaceupEx() or c:IsLocation(LOCATION_ONFIELD))
end
function c22348207.spop2(e,tp,eg,ep,ev,re,r,rp) function c22348207.spop2(e,tp,eg,ep,ev,re,r,rp)
local ag=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS) local ag=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS)
local tg=ag:Filter(Card.IsRelateToEffect,nil,re) local gg=ag:Filter(c22348207.thhfilter,nil,re)
local g=tg:Filter(Card.IsType,nil,TYPE_MONSTER)
local gg=g:Filter(Card.IsAbleToHand,nil)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)~=0 and g:GetCount()~=0 and Duel.SelectYesNo(tp,aux.Stringid(22348207,3)) then if c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)~=0 and gg:GetCount()~=0 and Duel.SelectYesNo(tp,aux.Stringid(22348207,3)) then
Duel.BreakEffect() Duel.BreakEffect()
Duel.SendtoHand(gg,tp,REASON_EFFECT) Duel.SendtoHand(gg,tp,REASON_EFFECT)
end end
...@@ -92,7 +93,7 @@ function c22348207.sccon(e,tp,eg,ep,ev,re,r,rp) ...@@ -92,7 +93,7 @@ function c22348207.sccon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetFlagEffect(22348207)>0 return e:GetHandler():GetFlagEffect(22348207)>0
end end
function c22348207.sccon2(e,tp,eg,ep,ev,re,r,rp) function c22348207.sccon2(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsPlayerAffectedByEffect(tp,22348205) return Duel.IsPlayerAffectedByEffect(tp,22348205) and not (e:GetHandler():GetFlagEffect(22348207)>0)
end end
function c22348207.sccost(e,tp,eg,ep,ev,re,r,rp,chk) function c22348207.sccost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsDiscardable() end if chk==0 then return e:GetHandler():IsDiscardable() end
......
...@@ -44,13 +44,13 @@ function c22348208.initial_effect(c) ...@@ -44,13 +44,13 @@ function c22348208.initial_effect(c)
c:RegisterEffect(e4) c:RegisterEffect(e4)
c22348208.discard_effect=e3 c22348208.discard_effect=e3
--count --count
local e4=Effect.CreateEffect(c) local e5=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e5:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e4:SetCode(EVENT_TO_HAND) e5:SetCode(EVENT_TO_HAND)
e4:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e5:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e4:SetCondition(c22348208.checkcon) e5:SetCondition(c22348208.checkcon)
e4:SetOperation(c22348208.checkop) e5:SetOperation(c22348208.checkop)
c:RegisterEffect(e4) c:RegisterEffect(e5)
end end
function c22348208.checkcon(e,tp,eg,ep,ev,re,r,rp) function c22348208.checkcon(e,tp,eg,ep,ev,re,r,rp)
return not e:GetHandler():IsReason(REASON_DRAW) return not e:GetHandler():IsReason(REASON_DRAW)
...@@ -78,13 +78,14 @@ function c22348208.spop1(e,tp,eg,ep,ev,re,r,rp) ...@@ -78,13 +78,14 @@ function c22348208.spop1(e,tp,eg,ep,ev,re,r,rp)
Duel.SendtoHand(tc,tp,REASON_EFFECT) Duel.SendtoHand(tc,tp,REASON_EFFECT)
end end
end end
function c22348208.thhfilter(c,e)
return c:IsRelateToEffect(e) and c:IsType(TYPE_MONSTER) and c:IsAbleToHand() and (c:IsFaceupEx() or c:IsLocation(LOCATION_ONFIELD))
end
function c22348208.spop2(e,tp,eg,ep,ev,re,r,rp) function c22348208.spop2(e,tp,eg,ep,ev,re,r,rp)
local ag=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS) local ag=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS)
local tg=ag:Filter(Card.IsRelateToEffect,nil,re) local gg=ag:Filter(c22348208.thhfilter,nil,re)
local g=tg:Filter(Card.IsType,nil,TYPE_MONSTER)
local gg=g:Filter(Card.IsAbleToHand,nil)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)~=0 and g:GetCount()~=0 and Duel.SelectYesNo(tp,aux.Stringid(22348208,3)) then if c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)~=0 and gg:GetCount()~=0 and Duel.SelectYesNo(tp,aux.Stringid(22348208,3)) then
Duel.BreakEffect() Duel.BreakEffect()
Duel.SendtoHand(gg,tp,REASON_EFFECT) Duel.SendtoHand(gg,tp,REASON_EFFECT)
end end
...@@ -93,7 +94,7 @@ function c22348208.sccon(e,tp,eg,ep,ev,re,r,rp) ...@@ -93,7 +94,7 @@ function c22348208.sccon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetFlagEffect(22348208)>0 return e:GetHandler():GetFlagEffect(22348208)>0
end end
function c22348208.sccon2(e,tp,eg,ep,ev,re,r,rp) function c22348208.sccon2(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsPlayerAffectedByEffect(tp,22348205) return Duel.IsPlayerAffectedByEffect(tp,22348205) and not (e:GetHandler():GetFlagEffect(22348208)>0)
end end
function c22348208.spfilter(c,e,tp) function c22348208.spfilter(c,e,tp)
return c:IsLevelAbove(1) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:IsSetCard(0x707) return c:IsLevelAbove(1) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:IsSetCard(0x707)
......
...@@ -1257,7 +1257,8 @@ function s.Checkmate_chop(_op,_g) ...@@ -1257,7 +1257,8 @@ function s.Checkmate_chop(_op,_g)
end end
end end
function s.Sarcoveil_Sort(c) function s.Sarcoveil_Sort(c)
if not CATEGORY_MSET then CATEGORY_MSET=0 en if not CATEGORY_MSET then CATEGORY_MSET=0 end
if not CATEGORY_SSET then CATEGORY_SSET=0 end
if s.Sarcoveil_Grave_Sort then return end if s.Sarcoveil_Grave_Sort then return end
s.Sarcoveil_Grave_Sort=true s.Sarcoveil_Grave_Sort=true
local ge1=Effect.CreateEffect(c) local ge1=Effect.CreateEffect(c)
......
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