Commit 7acf288c authored by Uytrewq's avatar Uytrewq Committed by GitHub

missing change "update Duel.CheckReleaseGroup" (#2253)

* fix REASON_EFFECT

* fix & update REASON_RULE

* fix ヴェンデット・リユニオン

* fix 突撃指令, 玉砕指令

* fix opponent release

* fix ビーストアイズ・ペンデュラム・ドラゴン, 覇王眷竜スターヴ・ヴェノム

* fix fusion monster

* fix 古代の機械城

* fix 真魔獣 ガーゼット, 智天の神星龍, ゴッドアイズ・ファントム・ドラゴン
parent cce20913
...@@ -40,11 +40,11 @@ end ...@@ -40,11 +40,11 @@ end
function c102380.spcon(e,c) function c102380.spcon(e,c)
if c==nil then return true end if c==nil then return true end
local tp=c:GetControler() local tp=c:GetControler()
local rg=Duel.GetMatchingGroup(Card.IsReleasable,tp,0,LOCATION_MZONE,nil) local rg=Duel.GetMatchingGroup(Card.IsReleasable,tp,0,LOCATION_MZONE,nil,REASON_SPSUMMON)
return rg:CheckSubGroup(c102380.fselect,2,2,tp) return rg:CheckSubGroup(c102380.fselect,2,2,tp)
end end
function c102380.sptg(e,tp,eg,ep,ev,re,r,rp,chk,c) function c102380.sptg(e,tp,eg,ep,ev,re,r,rp,chk,c)
local rg=Duel.GetMatchingGroup(Card.IsReleasable,tp,0,LOCATION_MZONE,nil) local rg=Duel.GetMatchingGroup(Card.IsReleasable,tp,0,LOCATION_MZONE,nil,REASON_SPSUMMON)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local sg=rg:SelectSubGroup(tp,c102380.fselect,true,2,2,tp) local sg=rg:SelectSubGroup(tp,c102380.fselect,true,2,2,tp)
if sg then if sg then
...@@ -55,7 +55,7 @@ function c102380.sptg(e,tp,eg,ep,ev,re,r,rp,chk,c) ...@@ -55,7 +55,7 @@ function c102380.sptg(e,tp,eg,ep,ev,re,r,rp,chk,c)
end end
function c102380.spop(e,tp,eg,ep,ev,re,r,rp,c) function c102380.spop(e,tp,eg,ep,ev,re,r,rp,c)
local g=e:GetLabelObject() local g=e:GetLabelObject()
Duel.Release(g,REASON_COST) Duel.Release(g,REASON_SPSUMMON)
g:DeleteGroup() g:DeleteGroup()
end end
function c102380.damcon(e,tp,eg,ep,ev,re,r,rp) function c102380.damcon(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -4,7 +4,7 @@ function s.initial_effect(c) ...@@ -4,7 +4,7 @@ function s.initial_effect(c)
c:EnableReviveLimit() c:EnableReviveLimit()
--fusion summon --fusion summon
aux.AddFusionProcFunRep(c,s.ffilter,2,true) aux.AddFusionProcFunRep(c,s.ffilter,2,true)
aux.AddContactFusionProcedure(c,Card.IsReleasable,LOCATION_MZONE,0,Duel.Release,REASON_COST+REASON_MATERIAL) aux.AddContactFusionProcedure(c,aux.FilterBoolFunction(Card.IsReleasable,REASON_SPSUMMON),LOCATION_MZONE,0,Duel.Release,REASON_SPSUMMON+REASON_MATERIAL)
--splimit --splimit
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
......
...@@ -27,7 +27,7 @@ function c12338068.spcon(e,c) ...@@ -27,7 +27,7 @@ function c12338068.spcon(e,c)
local tp=c:GetControler() local tp=c:GetControler()
local g=Duel.GetFieldGroup(tp,LOCATION_MZONE,0) local g=Duel.GetFieldGroup(tp,LOCATION_MZONE,0)
local rg=Duel.GetReleaseGroup(tp,false,REASON_SPSUMMON) local rg=Duel.GetReleaseGroup(tp,false,REASON_SPSUMMON)
return (g:GetCount()>0 or rg:GetCount()>0) and g:FilterCount(Card.IsReleasable,nil)==g:GetCount() return (g:GetCount()>0 or rg:GetCount()>0) and g:FilterCount(Card.IsReleasable,nil,REASON_SPSUMMON)==g:GetCount()
end end
function c12338068.spop(e,tp,eg,ep,ev,re,r,rp,c) function c12338068.spop(e,tp,eg,ep,ev,re,r,rp,c)
local g=Duel.GetReleaseGroup(tp) local g=Duel.GetReleaseGroup(tp)
......
...@@ -5,7 +5,7 @@ function s.initial_effect(c) ...@@ -5,7 +5,7 @@ function s.initial_effect(c)
--material --material
aux.AddFusionProcFunRep(c,s.mfilter,2,true) aux.AddFusionProcFunRep(c,s.mfilter,2,true)
--spsum condition --spsum condition
aux.AddContactFusionProcedure(c,Card.IsReleasable,LOCATION_MZONE,0,Duel.Release,REASON_COST+REASON_MATERIAL) aux.AddContactFusionProcedure(c,aux.FilterBoolFunction(Card.IsReleasable,REASON_SPSUMMON),LOCATION_MZONE,0,Duel.Release,REASON_SPSUMMON+REASON_MATERIAL)
--splimit --splimit
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
......
...@@ -25,7 +25,7 @@ function c14644902.rfilter2(c,tp) ...@@ -25,7 +25,7 @@ function c14644902.rfilter2(c,tp)
end end
function c14644902.operation(e,tp,eg,ep,ev,re,r,rp) function c14644902.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local rg=Duel.SelectReleaseGroup(REASON_COST,tp,c14644902.rfilter,1,1,aux.ExceptThisCard(e),e,tp) local rg=Duel.SelectReleaseGroup(REASON_EFFECT,tp,c14644902.rfilter,1,1,aux.ExceptThisCard(e),e,tp)
if Duel.Release(rg,REASON_EFFECT)>0 then if Duel.Release(rg,REASON_EFFECT)>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=Duel.SelectMatchingCard(tp,c14644902.filter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp) local sg=Duel.SelectMatchingCard(tp,c14644902.filter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp)
...@@ -47,7 +47,7 @@ function c14644902.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -47,7 +47,7 @@ function c14644902.operation(e,tp,eg,ep,ev,re,r,rp)
end end
end end
if #rg==0 then if #rg==0 then
rg=Duel.SelectReleaseGroup(REASON_COST,tp,c14644902.rfilter2,1,1,aux.ExceptThisCard(e),tp) rg=Duel.SelectReleaseGroup(REASON_EFFECT,tp,c14644902.rfilter2,1,1,aux.ExceptThisCard(e),tp)
if #rg>0 then if #rg>0 then
Duel.Release(rg,REASON_EFFECT) Duel.Release(rg,REASON_EFFECT)
end end
......
...@@ -32,7 +32,7 @@ function c16886617.initial_effect(c) ...@@ -32,7 +32,7 @@ function c16886617.initial_effect(c)
c:RegisterEffect(e5) c:RegisterEffect(e5)
end end
function c16886617.rfilter(c) function c16886617.rfilter(c)
return c:IsFaceup() and c:IsAttack(0) and c:IsReleasable() return c:IsFaceup() and c:IsAttack(0) and c:IsReleasable(REASON_SPSUMMON)
end end
function c16886617.spcon(e,c) function c16886617.spcon(e,c)
if c==nil then return true end if c==nil then return true end
...@@ -52,7 +52,7 @@ function c16886617.sptg(e,tp,eg,ep,ev,re,r,rp,chk,c) ...@@ -52,7 +52,7 @@ function c16886617.sptg(e,tp,eg,ep,ev,re,r,rp,chk,c)
end end
function c16886617.spop(e,tp,eg,ep,ev,re,r,rp,c) function c16886617.spop(e,tp,eg,ep,ev,re,r,rp,c)
local g=e:GetLabelObject() local g=e:GetLabelObject()
Duel.Release(g,REASON_COST) Duel.Release(g,REASON_SPSUMMON)
g:DeleteGroup() g:DeleteGroup()
end end
function c16886617.desfilter(c) function c16886617.desfilter(c)
......
...@@ -19,7 +19,7 @@ function c22138839.initial_effect(c) ...@@ -19,7 +19,7 @@ function c22138839.initial_effect(c)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c22138839.rfilter(c) function c22138839.rfilter(c)
return c:GetCounter(0x1041)>0 and c:IsReleasable() return c:GetCounter(0x1041)>0 and c:IsReleasable(REASON_SPSUMMON)
end end
function c22138839.hspcon(e,c) function c22138839.hspcon(e,c)
if c==nil then return true end if c==nil then return true end
...@@ -30,7 +30,7 @@ end ...@@ -30,7 +30,7 @@ end
function c22138839.hspop(e,tp,eg,ep,ev,re,r,rp,c) function c22138839.hspop(e,tp,eg,ep,ev,re,r,rp,c)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local g=Duel.SelectMatchingCard(tp,c22138839.rfilter,tp,0,LOCATION_MZONE,1,1,nil) local g=Duel.SelectMatchingCard(tp,c22138839.rfilter,tp,0,LOCATION_MZONE,1,1,nil)
Duel.Release(g,REASON_COST) Duel.Release(g,REASON_SPSUMMON)
end end
function c22138839.ccon(e,tp,eg,ep,ev,re,r,rp) function c22138839.ccon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsPreviousLocation(LOCATION_ONFIELD) return e:GetHandler():IsPreviousLocation(LOCATION_ONFIELD)
......
...@@ -3,7 +3,7 @@ function c22638495.initial_effect(c) ...@@ -3,7 +3,7 @@ function c22638495.initial_effect(c)
--fusion material --fusion material
c:EnableReviveLimit() c:EnableReviveLimit()
aux.AddFusionProcFun2(c,aux.FilterBoolFunction(Card.IsFusionType,TYPE_PENDULUM),aux.AND(aux.FilterBoolFunction(Card.IsFusionType,TYPE_PENDULUM),aux.FilterBoolFunction(Card.IsFusionSetCard,0xc7)),false) aux.AddFusionProcFun2(c,aux.FilterBoolFunction(Card.IsFusionType,TYPE_PENDULUM),aux.AND(aux.FilterBoolFunction(Card.IsFusionType,TYPE_PENDULUM),aux.FilterBoolFunction(Card.IsFusionSetCard,0xc7)),false)
aux.AddContactFusionProcedure(c,Card.IsReleasable,LOCATION_MZONE,0,Duel.Release,REASON_COST+REASON_MATERIAL) aux.AddContactFusionProcedure(c,aux.FilterBoolFunction(Card.IsReleasable,REASON_SPSUMMON),LOCATION_MZONE,0,Duel.Release,REASON_SPSUMMON+REASON_MATERIAL)
--spsummon condition --spsummon condition
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
......
...@@ -24,7 +24,7 @@ function c2266498.fselect(g,mc) ...@@ -24,7 +24,7 @@ function c2266498.fselect(g,mc)
return aux.dncheck(g) and g:CheckWithSumEqual(Card.GetRitualLevel,mc:GetLevel(),g:GetCount(),g:GetCount(),mc) return aux.dncheck(g) and g:CheckWithSumEqual(Card.GetRitualLevel,mc:GetLevel(),g:GetCount(),g:GetCount(),mc)
end end
function c2266498.filter(c,e,tp) function c2266498.filter(c,e,tp)
return c:IsFaceup() and c:IsSetCard(0x106) and Duel.IsPlayerCanRelease(tp,c) return c:IsFaceup() and c:IsSetCard(0x106) and Duel.IsPlayerCanRelease(tp,c,REASON_EFFECT)
and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEDOWN_DEFENSE) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEDOWN_DEFENSE)
end end
function c2266498.target(e,tp,eg,ep,ev,re,r,rp,chk) function c2266498.target(e,tp,eg,ep,ev,re,r,rp,chk)
......
...@@ -36,7 +36,7 @@ function c25920413.initial_effect(c) ...@@ -36,7 +36,7 @@ function c25920413.initial_effect(c)
end end
c25920413.counter_add_list={0x100e} c25920413.counter_add_list={0x100e}
function c25920413.spfilter(c) function c25920413.spfilter(c)
return c:IsLevelBelow(3) and c:IsFaceup() and c:IsReleasable() return c:IsLevelBelow(3) and c:IsFaceup() and c:IsReleasable(REASON_SPSUMMON)
end end
function c25920413.spcon(e,c) function c25920413.spcon(e,c)
if c==nil then return true end if c==nil then return true end
...@@ -47,7 +47,7 @@ end ...@@ -47,7 +47,7 @@ end
function c25920413.spop(e,tp,eg,ep,ev,re,r,rp,c) function c25920413.spop(e,tp,eg,ep,ev,re,r,rp,c)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local g=Duel.SelectMatchingCard(c:GetControler(),c25920413.spfilter,c:GetControler(),0,LOCATION_MZONE,1,1,nil) local g=Duel.SelectMatchingCard(c:GetControler(),c25920413.spfilter,c:GetControler(),0,LOCATION_MZONE,1,1,nil)
Duel.Release(g,REASON_COST) Duel.Release(g,REASON_SPSUMMON)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_SUMMON) e1:SetCode(EFFECT_CANNOT_SUMMON)
......
...@@ -32,7 +32,7 @@ function c28674152.initial_effect(c) ...@@ -32,7 +32,7 @@ function c28674152.initial_effect(c)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c28674152.spfilter(c,tp) function c28674152.spfilter(c,tp)
return c:IsReleasable() and Duel.GetMZoneCount(1-tp,c,tp)>0 return c:IsReleasable(REASON_SPSUMMON) and Duel.GetMZoneCount(1-tp,c,tp)>0
end end
function c28674152.spcon(e,c) function c28674152.spcon(e,c)
if c==nil then return true end if c==nil then return true end
...@@ -42,7 +42,7 @@ end ...@@ -42,7 +42,7 @@ end
function c28674152.spop(e,tp,eg,ep,ev,re,r,rp,c) function c28674152.spop(e,tp,eg,ep,ev,re,r,rp,c)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local g=Duel.SelectMatchingCard(tp,c28674152.spfilter,tp,0,LOCATION_MZONE,1,1,nil,tp) local g=Duel.SelectMatchingCard(tp,c28674152.spfilter,tp,0,LOCATION_MZONE,1,1,nil,tp)
Duel.Release(g,REASON_COST) Duel.Release(g,REASON_SPSUMMON)
end end
function c28674152.cfilter(c) function c28674152.cfilter(c)
return c:IsFaceup() and c:IsSetCard(0xd3) return c:IsFaceup() and c:IsSetCard(0xd3)
......
...@@ -77,7 +77,7 @@ function c29432356.hspcon(e,c) ...@@ -77,7 +77,7 @@ function c29432356.hspcon(e,c)
local tp=c:GetControler() local tp=c:GetControler()
local g=Duel.GetFieldGroup(tp,LOCATION_MZONE,0) local g=Duel.GetFieldGroup(tp,LOCATION_MZONE,0)
local rg=Duel.GetReleaseGroup(tp,false,REASON_SPSUMMON) local rg=Duel.GetReleaseGroup(tp,false,REASON_SPSUMMON)
return (g:GetCount()>0 or rg:GetCount()>0) and g:FilterCount(Card.IsReleasable,nil)==g:GetCount() return (g:GetCount()>0 or rg:GetCount()>0) and g:FilterCount(Card.IsReleasable,nil,REASON_SPSUMMON)==g:GetCount()
and g:FilterCount(Card.IsSetCard,nil,0xc4)>=3 and g:FilterCount(Card.IsSetCard,nil,0xc4)>=3
and Duel.GetLocationCountFromEx(tp,tp,g,c)>0 and Duel.GetLocationCountFromEx(tp,tp,g,c)>0
end end
......
...@@ -34,7 +34,7 @@ function c29726552.initial_effect(c) ...@@ -34,7 +34,7 @@ function c29726552.initial_effect(c)
c:RegisterEffect(e4) c:RegisterEffect(e4)
end end
function c29726552.spfilter(c,tp) function c29726552.spfilter(c,tp)
return c:IsReleasable() and Duel.GetMZoneCount(1-tp,c,tp)>0 return c:IsReleasable(REASON_SPSUMMON) and Duel.GetMZoneCount(1-tp,c,tp)>0
end end
function c29726552.spcon(e,c) function c29726552.spcon(e,c)
if c==nil then return true end if c==nil then return true end
...@@ -44,7 +44,7 @@ end ...@@ -44,7 +44,7 @@ end
function c29726552.spop(e,tp,eg,ep,ev,re,r,rp,c) function c29726552.spop(e,tp,eg,ep,ev,re,r,rp,c)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local g=Duel.SelectMatchingCard(tp,c29726552.spfilter,tp,0,LOCATION_MZONE,1,1,nil,tp) local g=Duel.SelectMatchingCard(tp,c29726552.spfilter,tp,0,LOCATION_MZONE,1,1,nil,tp)
Duel.Release(g,REASON_COST) Duel.Release(g,REASON_SPSUMMON)
end end
function c29726552.cfilter(c) function c29726552.cfilter(c)
return c:IsFaceup() and c:IsSetCard(0xd3) return c:IsFaceup() and c:IsSetCard(0xd3)
......
...@@ -38,7 +38,7 @@ function c33331231.checkfilter(c) ...@@ -38,7 +38,7 @@ function c33331231.checkfilter(c)
return c:IsSetCard(0x1115) and c:IsFaceup() return c:IsSetCard(0x1115) and c:IsFaceup()
end end
function c33331231.sprfilter(c,tp,sp) function c33331231.sprfilter(c,tp,sp)
return c:IsReleasable() and Duel.GetMZoneCount(tp,c,sp)>0 return c:IsReleasable(REASON_SPSUMMON) and Duel.GetMZoneCount(tp,c,sp)>0
end end
function c33331231.spcon(e,c) function c33331231.spcon(e,c)
if c==nil then return true end if c==nil then return true end
...@@ -49,7 +49,7 @@ end ...@@ -49,7 +49,7 @@ end
function c33331231.spop(e,tp,eg,ep,ev,re,r,rp,c) function c33331231.spop(e,tp,eg,ep,ev,re,r,rp,c)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local g=Duel.SelectMatchingCard(tp,c33331231.sprfilter,tp,LOCATION_MZONE,0,1,1,nil,tp,tp) local g=Duel.SelectMatchingCard(tp,c33331231.sprfilter,tp,LOCATION_MZONE,0,1,1,nil,tp,tp)
Duel.Release(g,REASON_COST) Duel.Release(g,REASON_SPSUMMON)
end end
function c33331231.spcon2(e,c) function c33331231.spcon2(e,c)
if c==nil then return true end if c==nil then return true end
...@@ -60,7 +60,7 @@ end ...@@ -60,7 +60,7 @@ end
function c33331231.spop2(e,tp,eg,ep,ev,re,r,rp,c) function c33331231.spop2(e,tp,eg,ep,ev,re,r,rp,c)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local g=Duel.SelectMatchingCard(tp,c33331231.sprfilter,tp,0,LOCATION_MZONE,1,1,nil,1-tp,tp) local g=Duel.SelectMatchingCard(tp,c33331231.sprfilter,tp,0,LOCATION_MZONE,1,1,nil,1-tp,tp)
Duel.Release(g,REASON_COST) Duel.Release(g,REASON_SPSUMMON)
end end
function c33331231.dstg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c33331231.dstg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsControler(1-tp) and chkc:IsOnField() end if chkc then return chkc:IsControler(1-tp) and chkc:IsOnField() end
......
...@@ -61,11 +61,11 @@ function s.sprcon(e,c) ...@@ -61,11 +61,11 @@ function s.sprcon(e,c)
local r2=Duel.GetMatchingGroupCount(s.rfilter,tp,0,LOCATION_MZONE,nil,1-tp) local r2=Duel.GetMatchingGroupCount(s.rfilter,tp,0,LOCATION_MZONE,nil,1-tp)
if t1-r1+1 > t2-r2 then return false end if t1-r1+1 > t2-r2 then return false end
end end
return rg:GetCount()>0 and rg:FilterCount(Card.IsReleasable,nil)==rg:GetCount() and aux.mzctcheck(rg,tp) return rg:GetCount()>0 and rg:FilterCount(Card.IsReleasable,nil,REASON_SPSUMMON)==rg:GetCount() and aux.mzctcheck(rg,tp)
end end
function s.sprop(e,tp,eg,ep,ev,re,r,rp,c) function s.sprop(e,tp,eg,ep,ev,re,r,rp,c)
local rg=Duel.GetMatchingGroup(s.rfilter,tp,LOCATION_MZONE,LOCATION_MZONE,nil,1-tp) local rg=Duel.GetMatchingGroup(s.rfilter,tp,LOCATION_MZONE,LOCATION_MZONE,nil,1-tp)
Duel.Release(rg,REASON_COST) Duel.Release(rg,REASON_SPSUMMON)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK) e1:SetCode(EFFECT_UPDATE_ATTACK)
......
...@@ -36,7 +36,7 @@ function c36956512.initial_effect(c) ...@@ -36,7 +36,7 @@ function c36956512.initial_effect(c)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c36956512.spfilter(c,tp) function c36956512.spfilter(c,tp)
return c:IsReleasable() and Duel.GetMZoneCount(1-tp,c,tp)>0 return c:IsReleasable(REASON_SPSUMMON) and Duel.GetMZoneCount(1-tp,c,tp)>0
end end
function c36956512.spcon(e,c) function c36956512.spcon(e,c)
if c==nil then return true end if c==nil then return true end
...@@ -46,7 +46,7 @@ end ...@@ -46,7 +46,7 @@ end
function c36956512.spop(e,tp,eg,ep,ev,re,r,rp,c) function c36956512.spop(e,tp,eg,ep,ev,re,r,rp,c)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local g=Duel.SelectMatchingCard(tp,c36956512.spfilter,tp,0,LOCATION_MZONE,1,1,nil,tp) local g=Duel.SelectMatchingCard(tp,c36956512.spfilter,tp,0,LOCATION_MZONE,1,1,nil,tp)
Duel.Release(g,REASON_COST) Duel.Release(g,REASON_SPSUMMON)
end end
function c36956512.cfilter(c) function c36956512.cfilter(c)
return c:IsFaceup() and c:IsSetCard(0xd3) return c:IsFaceup() and c:IsSetCard(0xd3)
......
...@@ -14,7 +14,7 @@ end ...@@ -14,7 +14,7 @@ end
function c39019325.rfilter(c,e) function c39019325.rfilter(c,e)
local tpe=c:GetType() local tpe=c:GetType()
return bit.band(tpe,TYPE_NORMAL)~=0 and bit.band(tpe,TYPE_TOKEN)==0 return bit.band(tpe,TYPE_NORMAL)~=0 and bit.band(tpe,TYPE_TOKEN)==0
and c:IsFaceup() and c:IsLevelBelow(2) and c:IsReleasable() and c:IsReleasableByEffect() and not c:IsImmuneToEffect(e) and c:IsFaceup() and c:IsLevelBelow(2) and c:IsReleasableByEffect() and not c:IsImmuneToEffect(e)
end end
function c39019325.dfilter(c) function c39019325.dfilter(c)
return c:IsType(TYPE_SPELL+TYPE_TRAP) return c:IsType(TYPE_SPELL+TYPE_TRAP)
......
...@@ -3,7 +3,7 @@ function c43387895.initial_effect(c) ...@@ -3,7 +3,7 @@ function c43387895.initial_effect(c)
--fusion material --fusion material
c:EnableReviveLimit() c:EnableReviveLimit()
aux.AddFusionProcFunRep(c,c43387895.ffilter,2,false) aux.AddFusionProcFunRep(c,c43387895.ffilter,2,false)
aux.AddContactFusionProcedure(c,Card.IsReleasable,LOCATION_MZONE,0,Duel.Release,REASON_COST+REASON_MATERIAL) aux.AddContactFusionProcedure(c,aux.FilterBoolFunction(Card.IsReleasable,REASON_SPSUMMON),LOCATION_MZONE,0,Duel.Release,REASON_SPSUMMON+REASON_MATERIAL)
--spsummon condition --spsummon condition
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
......
...@@ -12,7 +12,7 @@ function c46565218.initial_effect(c) ...@@ -12,7 +12,7 @@ function c46565218.initial_effect(c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c46565218.spfilter(c,tp) function c46565218.spfilter(c,tp)
return c:IsReleasable() and Duel.GetMZoneCount(1-tp,c,tp)>0 return c:IsReleasable(REASON_SPSUMMON) and Duel.GetMZoneCount(1-tp,c,tp)>0
end end
function c46565218.spcon(e,c) function c46565218.spcon(e,c)
if c==nil then return true end if c==nil then return true end
...@@ -22,7 +22,7 @@ end ...@@ -22,7 +22,7 @@ end
function c46565218.spop(e,tp,eg,ep,ev,re,r,rp,c) function c46565218.spop(e,tp,eg,ep,ev,re,r,rp,c)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local g=Duel.SelectMatchingCard(tp,c46565218.spfilter,tp,0,LOCATION_MZONE,1,1,nil,tp) local g=Duel.SelectMatchingCard(tp,c46565218.spfilter,tp,0,LOCATION_MZONE,1,1,nil,tp)
Duel.Release(g,REASON_COST) Duel.Release(g,REASON_SPSUMMON)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(46565218,0)) e1:SetDescription(aux.Stringid(46565218,0))
e1:SetCategory(CATEGORY_DRAW) e1:SetCategory(CATEGORY_DRAW)
......
...@@ -31,7 +31,7 @@ function c48770333.initial_effect(c) ...@@ -31,7 +31,7 @@ function c48770333.initial_effect(c)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c48770333.spfilter(c,tp) function c48770333.spfilter(c,tp)
return c:IsReleasable() and Duel.GetMZoneCount(1-tp,c,tp)>0 return c:IsReleasable(REASON_SPSUMMON) and Duel.GetMZoneCount(1-tp,c,tp)>0
end end
function c48770333.spcon(e,c) function c48770333.spcon(e,c)
if c==nil then return true end if c==nil then return true end
...@@ -41,7 +41,7 @@ end ...@@ -41,7 +41,7 @@ end
function c48770333.spop(e,tp,eg,ep,ev,re,r,rp,c) function c48770333.spop(e,tp,eg,ep,ev,re,r,rp,c)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local g=Duel.SelectMatchingCard(tp,c48770333.spfilter,tp,0,LOCATION_MZONE,1,1,nil,tp) local g=Duel.SelectMatchingCard(tp,c48770333.spfilter,tp,0,LOCATION_MZONE,1,1,nil,tp)
Duel.Release(g,REASON_COST) Duel.Release(g,REASON_SPSUMMON)
end end
function c48770333.cfilter(c) function c48770333.cfilter(c)
return c:IsFaceup() and c:IsSetCard(0xd3) return c:IsFaceup() and c:IsSetCard(0xd3)
......
...@@ -3,7 +3,7 @@ local s,id,o=GetID() ...@@ -3,7 +3,7 @@ local s,id,o=GetID()
function s.initial_effect(c) function s.initial_effect(c)
aux.EnablePendulumAttribute(c,false) aux.EnablePendulumAttribute(c,false)
aux.AddFusionProcFunRep(c,s.matfilter,2,true) aux.AddFusionProcFunRep(c,s.matfilter,2,true)
aux.AddContactFusionProcedure(c,Card.IsReleasable,LOCATION_MZONE,0,Duel.Release,REASON_COST+REASON_MATERIAL) aux.AddContactFusionProcedure(c,aux.FilterBoolFunction(Card.IsReleasable,REASON_SPSUMMON),LOCATION_MZONE,0,Duel.Release,REASON_SPSUMMON+REASON_MATERIAL)
c:EnableReviveLimit() c:EnableReviveLimit()
--spsummon condition --spsummon condition
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
...@@ -34,7 +34,7 @@ function c55063751.initial_effect(c) ...@@ -34,7 +34,7 @@ function c55063751.initial_effect(c)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c55063751.spfilter(c,tp) function c55063751.spfilter(c,tp)
return c:IsReleasable() and Duel.GetMZoneCount(1-tp,c,tp)>0 return c:IsReleasable(REASON_SPSUMMON) and Duel.GetMZoneCount(1-tp,c,tp)>0
end end
function c55063751.spcon(e,c) function c55063751.spcon(e,c)
if c==nil then return true end if c==nil then return true end
...@@ -44,7 +44,7 @@ end ...@@ -44,7 +44,7 @@ end
function c55063751.spop(e,tp,eg,ep,ev,re,r,rp,c) function c55063751.spop(e,tp,eg,ep,ev,re,r,rp,c)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local g=Duel.SelectMatchingCard(tp,c55063751.spfilter,tp,0,LOCATION_MZONE,1,1,nil,tp) local g=Duel.SelectMatchingCard(tp,c55063751.spfilter,tp,0,LOCATION_MZONE,1,1,nil,tp)
Duel.Release(g,REASON_COST) Duel.Release(g,REASON_SPSUMMON)
end end
function c55063751.cfilter(c) function c55063751.cfilter(c)
return c:IsFaceup() and c:IsSetCard(0xd3) return c:IsFaceup() and c:IsSetCard(0xd3)
......
...@@ -15,9 +15,12 @@ function c56830749.cost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -15,9 +15,12 @@ function c56830749.cost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.Release(g,REASON_COST) Duel.Release(g,REASON_COST)
end end
function c56830749.target(e,tp,eg,ep,ev,re,r,rp,chk) function c56830749.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckReleaseGroup(REASON_COST,1-tp,nil,1,nil) end if chk==0 then return Duel.CheckReleaseGroup(REASON_RULE,1-tp,nil,1,nil) end
end end
function c56830749.activate(e,tp,eg,ep,ev,re,r,rp) function c56830749.activate(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.SelectReleaseGroup(REASON_COST,1-tp,nil,1,1,nil) local g=Duel.SelectReleaseGroup(REASON_RULE,1-tp,nil,1,1,nil)
Duel.Release(g,REASON_RULE,1-tp) if g:GetCount()>0 then
Duel.HintSelection(g)
Duel.Release(g,REASON_RULE,1-tp)
end
end end
...@@ -44,7 +44,7 @@ function c63014935.initial_effect(c) ...@@ -44,7 +44,7 @@ function c63014935.initial_effect(c)
c:RegisterEffect(e4) c:RegisterEffect(e4)
end end
function c63014935.spfilter(c,tp) function c63014935.spfilter(c,tp)
return c:IsReleasable() and Duel.GetMZoneCount(1-tp,c,tp)>0 return c:IsReleasable(REASON_SPSUMMON) and Duel.GetMZoneCount(1-tp,c,tp)>0
end end
function c63014935.spcon(e,c) function c63014935.spcon(e,c)
if c==nil then return true end if c==nil then return true end
......
...@@ -33,7 +33,7 @@ function c63941210.initial_effect(c) ...@@ -33,7 +33,7 @@ function c63941210.initial_effect(c)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c63941210.spfilter(c,tp) function c63941210.spfilter(c,tp)
return c:IsReleasable() and Duel.GetMZoneCount(1-tp,c,tp)>0 return c:IsReleasable(REASON_SPSUMMON) and Duel.GetMZoneCount(1-tp,c,tp)>0
end end
function c63941210.spcon(e,c) function c63941210.spcon(e,c)
if c==nil then return true end if c==nil then return true end
...@@ -43,7 +43,7 @@ end ...@@ -43,7 +43,7 @@ end
function c63941210.spop(e,tp,eg,ep,ev,re,r,rp,c) function c63941210.spop(e,tp,eg,ep,ev,re,r,rp,c)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local g=Duel.SelectMatchingCard(tp,c63941210.spfilter,tp,0,LOCATION_MZONE,1,1,nil,tp) local g=Duel.SelectMatchingCard(tp,c63941210.spfilter,tp,0,LOCATION_MZONE,1,1,nil,tp)
Duel.Release(g,REASON_COST) Duel.Release(g,REASON_SPSUMMON)
end end
function c63941210.cfilter(c) function c63941210.cfilter(c)
return c:IsFaceup() and c:IsSetCard(0xd3) return c:IsFaceup() and c:IsSetCard(0xd3)
......
...@@ -116,7 +116,7 @@ function c70335319.hspcon(e,c) ...@@ -116,7 +116,7 @@ function c70335319.hspcon(e,c)
if c==nil then return true end if c==nil then return true end
local tp=c:GetControler() local tp=c:GetControler()
local g=Duel.GetReleaseGroup(tp,false,REASON_SPSUMMON) local g=Duel.GetReleaseGroup(tp,false,REASON_SPSUMMON)
return g:GetCount()>=2 and g:FilterCount(Card.IsReleasable,nil)==g:GetCount() return g:GetCount()>=2 and g:FilterCount(Card.IsReleasable,nil,REASON_SPSUMMON)==g:GetCount()
and g:IsExists(c70335319.hspfilter,1,nil) and g:IsExists(c70335319.hspfilter,1,nil)
and (c:IsLocation(LOCATION_EXTRA) and Duel.GetLocationCountFromEx(tp,tp,g,c)>0 and (c:IsLocation(LOCATION_EXTRA) and Duel.GetLocationCountFromEx(tp,tp,g,c)>0
or c:IsLocation(LOCATION_HAND) and Duel.GetMZoneCount(tp,g,tp)>0) or c:IsLocation(LOCATION_HAND) and Duel.GetMZoneCount(tp,g,tp)>0)
......
...@@ -3,7 +3,7 @@ function c72378329.initial_effect(c) ...@@ -3,7 +3,7 @@ function c72378329.initial_effect(c)
--fusion material --fusion material
c:EnableReviveLimit() c:EnableReviveLimit()
aux.AddFusionProcFun2(c,c72378329.ffilter,aux.FilterBoolFunction(Card.IsRace,RACE_BEAST),true) aux.AddFusionProcFun2(c,c72378329.ffilter,aux.FilterBoolFunction(Card.IsRace,RACE_BEAST),true)
aux.AddContactFusionProcedure(c,Card.IsReleasable,LOCATION_MZONE,0,Duel.Release,REASON_COST+REASON_MATERIAL) aux.AddContactFusionProcedure(c,aux.FilterBoolFunction(Card.IsReleasable,REASON_SPSUMMON),LOCATION_MZONE,0,Duel.Release,REASON_SPSUMMON+REASON_MATERIAL)
--spsummon condition --spsummon condition
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
......
...@@ -43,11 +43,11 @@ end ...@@ -43,11 +43,11 @@ end
function s.otcon(e,c,minc) function s.otcon(e,c,minc)
if c==nil then return true end if c==nil then return true end
local tp=c:GetControler() local tp=c:GetControler()
local g=Duel.GetMatchingGroup(Card.IsReleasable,tp,LOCATION_MZONE,LOCATION_MZONE,nil) local g=Duel.GetMatchingGroup(Card.IsReleasable,tp,LOCATION_MZONE,LOCATION_MZONE,nil,REASON_SUMMON)
return c:IsLevelAbove(7) and minc<=2 and g:CheckSubGroup(s.tcheck,2,2,tp) return c:IsLevelAbove(7) and minc<=2 and g:CheckSubGroup(s.tcheck,2,2,tp)
end end
function s.otop(e,tp,eg,ep,ev,re,r,rp,c) function s.otop(e,tp,eg,ep,ev,re,r,rp,c)
local g=Duel.GetMatchingGroup(Card.IsReleasable,tp,LOCATION_MZONE,LOCATION_MZONE,nil) local g=Duel.GetMatchingGroup(Card.IsReleasable,tp,LOCATION_MZONE,LOCATION_MZONE,nil,REASON_SUMMON)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local sg=g:SelectSubGroup(tp,s.tcheck,false,2,2,tp) local sg=g:SelectSubGroup(tp,s.tcheck,false,2,2,tp)
c:SetMaterial(sg) c:SetMaterial(sg)
......
...@@ -14,7 +14,7 @@ end ...@@ -14,7 +14,7 @@ end
function c78986941.rfilter(c,e) function c78986941.rfilter(c,e)
local tpe=c:GetType() local tpe=c:GetType()
return bit.band(tpe,TYPE_NORMAL)~=0 and bit.band(tpe,TYPE_TOKEN)==0 return bit.band(tpe,TYPE_NORMAL)~=0 and bit.band(tpe,TYPE_TOKEN)==0
and c:IsFaceup() and c:IsReleasable() and c:IsReleasableByEffect() and c:IsFaceup() and c:IsReleasableByEffect()
end end
function c78986941.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c78986941.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c78986941.rfilter(chkc,e) end if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c78986941.rfilter(chkc,e) end
......
...@@ -42,13 +42,13 @@ function c92001300.addc(e,tp,eg,ep,ev,re,r,rp) ...@@ -42,13 +42,13 @@ function c92001300.addc(e,tp,eg,ep,ev,re,r,rp)
e:GetHandler():AddCounter(0xb,1) e:GetHandler():AddCounter(0xb,1)
end end
function c92001300.sumcon(e,c,minc) function c92001300.sumcon(e,c,minc)
if c==nil then return e:GetHandler():IsReleasable() end if c==nil then return e:GetHandler():IsReleasable(REASON_SUMMON) end
local mi,ma=c:GetTributeRequirement() local mi,ma=c:GetTributeRequirement()
if mi<minc then mi=minc end if mi<minc then mi=minc end
if ma<mi then return false end if ma<mi then return false end
return ma>0 and e:GetHandler():GetCounter(0xb)>=mi and Duel.GetLocationCount(c:GetControler(),LOCATION_MZONE)>0 return ma>0 and e:GetHandler():GetCounter(0xb)>=mi and Duel.GetLocationCount(c:GetControler(),LOCATION_MZONE)>0
end end
function c92001300.sumop(e,tp,eg,ep,ev,re,r,rp,c) function c92001300.sumop(e,tp,eg,ep,ev,re,r,rp,c)
Duel.Release(e:GetHandler(),REASON_COST) Duel.Release(e:GetHandler(),REASON_SUMMON)
c:SetMaterial(Group.FromCards(e:GetHandler())) c:SetMaterial(Group.FromCards(e:GetHandler()))
end end
...@@ -31,7 +31,7 @@ function c93332803.initial_effect(c) ...@@ -31,7 +31,7 @@ function c93332803.initial_effect(c)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c93332803.spfilter(c,tp) function c93332803.spfilter(c,tp)
return c:IsReleasable() and Duel.GetMZoneCount(1-tp,c,tp)>0 return c:IsReleasable(REASON_SPSUMMON) and Duel.GetMZoneCount(1-tp,c,tp)>0
end end
function c93332803.spcon(e,c) function c93332803.spcon(e,c)
if c==nil then return true end if c==nil then return true end
...@@ -41,7 +41,7 @@ end ...@@ -41,7 +41,7 @@ end
function c93332803.spop(e,tp,eg,ep,ev,re,r,rp,c) function c93332803.spop(e,tp,eg,ep,ev,re,r,rp,c)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local g=Duel.SelectMatchingCard(tp,c93332803.spfilter,tp,0,LOCATION_MZONE,1,1,nil,tp) local g=Duel.SelectMatchingCard(tp,c93332803.spfilter,tp,0,LOCATION_MZONE,1,1,nil,tp)
Duel.Release(g,REASON_COST) Duel.Release(g,REASON_SPSUMMON)
end end
function c93332803.cfilter(c) function c93332803.cfilter(c)
return c:IsFaceup() and c:IsSetCard(0xd3) return c:IsFaceup() and c:IsSetCard(0xd3)
......
...@@ -3,7 +3,7 @@ function c95793022.initial_effect(c) ...@@ -3,7 +3,7 @@ function c95793022.initial_effect(c)
--fusion material --fusion material
c:EnableReviveLimit() c:EnableReviveLimit()
aux.AddFusionProcFunRep(c,c95793022.ffilter,3,true) aux.AddFusionProcFunRep(c,c95793022.ffilter,3,true)
aux.AddContactFusionProcedure(c,Card.IsReleasable,LOCATION_MZONE,0,Duel.Release,REASON_COST+REASON_MATERIAL) aux.AddContactFusionProcedure(c,aux.FilterBoolFunction(Card.IsReleasable,REASON_SPSUMMON),LOCATION_MZONE,0,Duel.Release,REASON_SPSUMMON+REASON_MATERIAL)
--spsummon condition --spsummon condition
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
......
...@@ -38,16 +38,14 @@ function c96162588.rlcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -38,16 +38,14 @@ function c96162588.rlcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c96162588.cfilter,1,nil,tp) and e:GetHandler():IsStatus(STATUS_EFFECT_ENABLED) return eg:IsExists(c96162588.cfilter,1,nil,tp) and e:GetHandler():IsStatus(STATUS_EFFECT_ENABLED)
end end
function c96162588.rltg(e,tp,eg,ep,ev,re,r,rp,chk) function c96162588.rltg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsReleasable,1-tp,LOCATION_MZONE,0,1,nil,REASON_RULE) end if chk==0 then return Duel.CheckReleaseGroup(REASON_RULE,1-tp,nil,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_RELEASE,nil,1,1-tp,LOCATION_MZONE) Duel.SetOperationInfo(0,CATEGORY_RELEASE,nil,1,1-tp,LOCATION_MZONE)
end end
function c96162588.rlop(e,tp,eg,ep,ev,re,r,rp) function c96162588.rlop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(Card.IsReleasable,1-tp,LOCATION_MZONE,0,nil,REASON_RULE) local g=Duel.SelectReleaseGroup(REASON_RULE,1-tp,nil,1,1,nil)
if g:GetCount()>0 then if g:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,1-tp,HINTMSG_RELEASE) Duel.HintSelection(g)
local sg=g:Select(1-tp,1,1,nil) Duel.Release(g,REASON_RULE,1-tp)
Duel.HintSelection(sg)
Duel.Release(sg,REASON_RULE,1-tp)
end end
end end
function c96162588.desfilter(c) function c96162588.desfilter(c)
......
...@@ -31,7 +31,7 @@ function c97342942.rfilter(c,e) ...@@ -31,7 +31,7 @@ function c97342942.rfilter(c,e)
end end
function c97342942.operation(e,tp,eg,ep,ev,re,r,rp) function c97342942.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local rg=Duel.SelectReleaseGroup(REASON_COST,tp,c97342942.rfilter,1,1,e:GetHandler(),e) local rg=Duel.SelectReleaseGroup(REASON_EFFECT,tp,c97342942.rfilter,1,1,e:GetHandler(),e)
if Duel.Release(rg,REASON_EFFECT)>0 then if Duel.Release(rg,REASON_EFFECT)>0 then
local atk=math.floor(rg:GetFirst():GetBaseAttack()/2) local atk=math.floor(rg:GetFirst():GetBaseAttack()/2)
Duel.Damage(1-tp,atk,REASON_EFFECT) Duel.Damage(1-tp,atk,REASON_EFFECT)
......
...@@ -27,7 +27,7 @@ function c99913726.initial_effect(c) ...@@ -27,7 +27,7 @@ function c99913726.initial_effect(c)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c99913726.rfilter(c) function c99913726.rfilter(c)
return c:GetCounter(0x1041)>0 and c:IsReleasable() return c:GetCounter(0x1041)>0 and c:IsReleasable(REASON_SPSUMMON)
end end
function c99913726.hspcon(e,c) function c99913726.hspcon(e,c)
if c==nil then return true end if c==nil then return true end
...@@ -44,7 +44,7 @@ function c99913726.hspop(e,tp,eg,ep,ev,re,r,rp,c) ...@@ -44,7 +44,7 @@ function c99913726.hspop(e,tp,eg,ep,ev,re,r,rp,c)
if ft>0 then m=LOCATION_MZONE end if ft>0 then m=LOCATION_MZONE end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local g=Duel.SelectMatchingCard(tp,c99913726.rfilter,tp,LOCATION_MZONE,m,1,1,nil) local g=Duel.SelectMatchingCard(tp,c99913726.rfilter,tp,LOCATION_MZONE,m,1,1,nil)
Duel.Release(g,REASON_COST) Duel.Release(g,REASON_SPSUMMON)
end end
function c99913726.cfilter(c) function c99913726.cfilter(c)
return c:IsSetCard(0x10f3) and c:IsType(TYPE_MONSTER) and c:IsAbleToRemoveAsCost() return c:IsSetCard(0x10f3) and c:IsType(TYPE_MONSTER) and c:IsAbleToRemoveAsCost()
......
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