Commit 8d126928 authored by Peter W's avatar Peter W

adapt release reason

Signed-off-by: default avatarPeter W <wyykak@PeterdeMacBook-Air.local>
parent d84d89ff
Pipeline #24606 passed with stage
in 20 seconds
......@@ -30,8 +30,8 @@ function c1153602.cfilter1(c,ft,tp)
end
function c1153602.cost1(e,tp,eg,ep,ev,re,r,rp,chk)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
if chk==0 then return ft>-1 and Duel.CheckReleaseGroup(tp,c1153602.cfilter1,1,nil,ft,tp) end
local g=Duel.SelectReleaseGroup(tp,c1153602.cfilter1,1,1,nil,ft,tp)
if chk==0 then return ft>-1 and Duel.CheckReleaseGroup(REASON_COST,tp,c1153602.cfilter1,1,nil,ft,tp) end
local g=Duel.SelectReleaseGroup(REASON_COST,tp,c1153602.cfilter1,1,1,nil,ft,tp)
Duel.Release(g,REASON_COST)
end
--
......
......@@ -56,12 +56,12 @@ function this.tg1(e,tp,eg,ep,ev,re,r,rp,chk)
return aux.MustMaterialCheck(c,tp,EFFECT_MUST_BE_XMATERIAL)
and Duel.IsExistingMatchingCard(this.spfilter1,tp,LOCATION_EXTRA,0,1,nil,e,tp,c)
else
return Duel.CheckReleaseGroup(tp,this.costfilter,1,c,e,tp,c)
return Duel.CheckReleaseGroup(REASON_COST,tp,this.costfilter,1,c,e,tp,c)
and aux.MustMaterialCheck(c,tp,EFFECT_MUST_BE_XMATERIAL)
end
end
if e:GetLabel()==100 then
local costc=Duel.SelectReleaseGroup(tp,this.costfilter,1,1,e:GetHandler(),e,tp,e:GetHandler())
local costc=Duel.SelectReleaseGroup(REASON_COST,tp,this.costfilter,1,1,e:GetHandler(),e,tp,e:GetHandler())
Duel.Release(costc,REASON_COST)
end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
......
......@@ -28,8 +28,8 @@ function cm.cfilter(c)
return c:IsType(TYPE_MONSTER) and (not c:IsType(TYPE_TUNER)) and not c:IsStatus(STATUS_BATTLE_DESTROYED)
end
function cm.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckReleaseGroup(tp,cm.cfilter,1,nil) end
local g=Duel.SelectReleaseGroup(tp,cm.cfilter,1,1,nil)
if chk==0 then return Duel.CheckReleaseGroup(REASON_COST,tp,cm.cfilter,1,nil) end
local g=Duel.SelectReleaseGroup(REASON_COST,tp,cm.cfilter,1,1,nil)
Duel.Release(g,REASON_COST)
end
function cm.filter(c,e,tp)
......
......@@ -42,14 +42,14 @@ function cm.cfilter(c)
end
function cm.scost(e,tp,eg,ep,ev,re,r,rp,chk)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
if chk==0 then return Duel.CheckReleaseGroupEx(tp,cm.cfilter,2,nil) end
if chk==0 then return Duel.CheckReleaseGroupEx(REASON_COST,tp,cm.cfilter,2,nil) end
local g=nil
if ft>0 then
g=Duel.SelectReleaseGroupEx(tp,cm.cfilter,1,1,nil)
g=Duel.SelectReleaseGroupEx(REASON_COST,tp,cm.cfilter,1,1,nil)
else
g=Duel.SelectReleaseGroup(tp,cm.cfilter,1,1,nil)
g=Duel.SelectReleaseGroup(REASON_COST,tp,cm.cfilter,1,1,nil)
end
local g1=Duel.SelectReleaseGroupEx(tp,cm.cfilter,1,1,nil)
local g1=Duel.SelectReleaseGroupEx(REASON_COST,tp,cm.cfilter,1,1,nil)
g:Merge(g1)
Duel.Release(g,REASON_COST)
end
......
......@@ -37,8 +37,8 @@ function cm.cfilter(c,ft,tp)
return cm.Skay(c) and c:IsType(TYPE_MONSTER)
end
function cm.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckReleaseGroupEx(tp,cm.cfilter,1,nil) end
local g=Duel.SelectReleaseGroupEx(tp,cm.cfilter,1,1,nil)
if chk==0 then return Duel.CheckReleaseGroupEx(REASON_COST,tp,cm.cfilter,1,nil) end
local g=Duel.SelectReleaseGroupEx(REASON_COST,tp,cm.cfilter,1,1,nil)
Duel.Release(g,REASON_COST)
end
function cm.thfilter(c)
......
......@@ -46,8 +46,8 @@ function cm.costfilter(c)
return c:IsFaceup() and cm.Skay(c) and (c:GetFlagEffect(code)~=0 or c:GetSummonType()==SUMMON_TYPE_SPECIAL+1)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckReleaseGroup(tp,cm.costfilter,1,nil) end
local g=Duel.SelectReleaseGroup(tp,cm.costfilter,1,1,nil)
if chk==0 then return Duel.CheckReleaseGroup(REASON_COST,tp,cm.costfilter,1,nil) end
local g=Duel.SelectReleaseGroup(REASON_COST,tp,cm.costfilter,1,1,nil)
Duel.Release(g,REASON_COST)
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
......
......@@ -39,8 +39,8 @@ function cm.costfilter(c,tp)
and Duel.GetMZoneCount(tp,c,tp)>0
end
function cm.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckReleaseGroup(tp,cm.costfilter,1,nil,tp) end
local g=Duel.SelectReleaseGroup(tp,cm.costfilter,1,1,nil,tp)
if chk==0 then return Duel.CheckReleaseGroup(REASON_COST,tp,cm.costfilter,1,nil,tp) end
local g=Duel.SelectReleaseGroup(REASON_COST,tp,cm.costfilter,1,1,nil,tp)
Duel.Release(g,REASON_COST)
end
function cm.spcon(e,tp,eg,ep,ev,re,r,rp)
......
......@@ -85,19 +85,19 @@ function c15019.spcon(e,c)
local m=Duel.GetMatchingGroupCount(c15019.spfilter1,c:GetControler(),LOCATION_HAND,0,nil)
if m > 3 then m = 3 end
return Duel.GetLocationCount(c:GetControler(),LOCATION_MZONE)>m-3
and Duel.CheckReleaseGroupEx(c:GetControler(),c15019.spfilter,3,e:GetHandler())
and Duel.CheckReleaseGroupEx(REASON_COST,c:GetControler(),c15019.spfilter,3,e:GetHandler())
end
function c15019.spop(e,tp,eg,ep,ev,re,r,rp,c)
local m=Duel.GetMatchingGroupCount(c15019.spfilter1,c:GetControler(),LOCATION_HAND,0,nil)
if m > 3 then m = 3 end
if Duel.GetLocationCount(c:GetControler(),LOCATION_MZONE)==0 then
local g1=Duel.SelectReleaseGroup(c:GetControler(),c15019.spfilter,1,3,e:GetHandler())
local g1=Duel.SelectReleaseGroup(REASON_COST,c:GetControler(),c15019.spfilter,1,3,e:GetHandler())
Duel.Release(g1,REASON_COST)
gc=g1:GetCount()
local g2=Duel.SelectReleaseGroupEx(c:GetControler(),c15019.spfilter,3-gc,3-gc,e:GetHandler())
local g2=Duel.SelectReleaseGroupEx(REASON_COST,c:GetControler(),c15019.spfilter,3-gc,3-gc,e:GetHandler())
Duel.Release(g2,REASON_COST)
else
local g=Duel.SelectReleaseGroupEx(c:GetControler(),c15019.spfilter,3,3,e:GetHandler())
local g=Duel.SelectReleaseGroupEx(REASON_COST,c:GetControler(),c15019.spfilter,3,3,e:GetHandler())
Duel.Release(g,REASON_COST)
end
end
......
......@@ -80,8 +80,8 @@ function c16011501.cfilter(c,ft,tp)
end
function c16011501.tkcost(e,tp,eg,ep,ev,re,r,rp,chk)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
if chk==0 then return ft>-1 and Duel.CheckReleaseGroup(tp,c16011501.cfilter,1,nil,ft,tp) end
local g=Duel.SelectReleaseGroup(tp,c16011501.cfilter,1,1,nil,ft,tp)
if chk==0 then return ft>-1 and Duel.CheckReleaseGroup(REASON_COST,tp,c16011501.cfilter,1,nil,ft,tp) end
local g=Duel.SelectReleaseGroup(REASON_COST,tp,c16011501.cfilter,1,1,nil,ft,tp)
Duel.Release(g,REASON_COST)
end
function c16011501.tktg(e,tp,eg,ep,ev,re,r,rp,chk)
......@@ -102,8 +102,8 @@ function c16011501.shfilter(c,ft,tp)
end
function c16011501.shcost(e,tp,eg,ep,ev,re,r,rp,chk)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
if chk==0 then return ft>-1 and Duel.CheckReleaseGroup(tp,c16011501.shfilter,1,nil,ft,tp) end
local g=Duel.SelectReleaseGroup(tp,c16011501.shfilter,1,1,nil,ft,tp)
if chk==0 then return ft>-1 and Duel.CheckReleaseGroup(REASON_COST,tp,c16011501.shfilter,1,nil,ft,tp) end
local g=Duel.SelectReleaseGroup(REASON_COST,tp,c16011501.shfilter,1,1,nil,ft,tp)
Duel.Release(g,REASON_COST)
end
function c16011501.shfilter1(c)
......
......@@ -45,8 +45,8 @@ function c16032001.cfilter1(c,tp)
return c:IsRace(RACE_PLANT) and c:IsType(TYPE_TOKEN) and Duel.GetMZoneCount(tp,c)>0
end
function c16032001.spcost1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckReleaseGroup(tp,c16032001.cfilter1,1,nil,tp) end
local g=Duel.SelectReleaseGroup(tp,c16032001.cfilter1,1,1,nil,tp)
if chk==0 then return Duel.CheckReleaseGroup(REASON_COST,tp,c16032001.cfilter1,1,nil,tp) end
local g=Duel.SelectReleaseGroup(REASON_COST,tp,c16032001.cfilter1,1,1,nil,tp)
Duel.Release(g,REASON_COST)
end
function c16032001.spfilter1(c,e,tp)
......
......@@ -62,8 +62,8 @@ function c16040001.spcostfilter(c,ft,tp)
end
function c16040001.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
if chk==0 then return ft>-1 and Duel.CheckReleaseGroup(tp,c16040001.spcostfilter,1,nil,ft,tp) end
local g=Duel.SelectReleaseGroup(tp,c16040001.spcostfilter,1,1,nil,ft,tp)
if chk==0 then return ft>-1 and Duel.CheckReleaseGroup(REASON_COST,tp,c16040001.spcostfilter,1,nil,ft,tp) end
local g=Duel.SelectReleaseGroup(REASON_COST,tp,c16040001.spcostfilter,1,1,nil,ft,tp)
Duel.Release(g,REASON_COST)
end
function c16040001.sptgfliter(c,e,tp)
......
......@@ -79,8 +79,8 @@ function cm.cfilter(c,tp)
return c:IsRace(RACE_MACHINE) and c:GetLevel()>0 and Duel.GetMZoneCount(tp,c)>0
end
function cm.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckReleaseGroup(tp,cm.cfilter,1,nil,tp) end
local g=Duel.SelectReleaseGroup(tp,cm.cfilter,1,1,nil,tp)
if chk==0 then return Duel.CheckReleaseGroup(REASON_COST,tp,cm.cfilter,1,nil,tp) end
local g=Duel.SelectReleaseGroup(REASON_COST,tp,cm.cfilter,1,1,nil,tp)
Duel.Release(g,REASON_COST)
e:SetLabel(g:GetFirst():GetLevel())
end
......
......@@ -48,9 +48,9 @@ function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
if e:GetLabel()~=1 then return false end
e:SetLabel(0)
return Duel.CheckReleaseGroup(tp,cm.filter1,1,nil,e,tp)
return Duel.CheckReleaseGroup(REASON_COST,tp,cm.filter1,1,nil,e,tp)
end
local rg=Duel.SelectReleaseGroup(tp,cm.filter1,1,1,nil,e,tp)
local rg=Duel.SelectReleaseGroup(REASON_COST,tp,cm.filter1,1,1,nil,e,tp)
e:SetLabel(rg:GetFirst():GetCode())
Duel.Release(rg,REASON_COST)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND+LOCATION_DECK)
......
......@@ -55,7 +55,7 @@ end
function cm.fgoal(sg,tp)
if sg:GetCount()>0 and Duel.GetMZoneCount(tp,sg)>0 then
Duel.SetSelectedCard(sg)
return Duel.CheckReleaseGroup(tp,nil,0,nil)
return Duel.CheckReleaseGroup(REASON_COST,tp,nil,0,nil)
else return false end
end
function cm.pspcost(e,tp,eg,ep,ev,re,r,rp,chk)
......
......@@ -76,8 +76,8 @@ function cm.cfilter(c)
return c:IsSetCard(0x7f0)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckReleaseGroup(tp,cm.cfilter,1,e:GetHandler()) end
local g=Duel.SelectReleaseGroup(tp,cm.cfilter,1,1,e:GetHandler())
if chk==0 then return Duel.CheckReleaseGroup(REASON_COST,tp,cm.cfilter,1,e:GetHandler()) end
local g=Duel.SelectReleaseGroup(REASON_COST,tp,cm.cfilter,1,1,e:GetHandler())
Duel.Release(g,REASON_COST)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
......
......@@ -88,11 +88,11 @@ function cm.hspcon(e,c)
if c==nil then return true end
local tp=c:GetControler()
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
return ft>-1 and Duel.CheckReleaseGroup(tp,cm.hspfilter,1,nil,ft,tp)
return ft>-1 and Duel.CheckReleaseGroup(REASON_COST,tp,cm.hspfilter,1,nil,ft,tp)
end
function cm.hspop(e,tp,eg,ep,ev,re,r,rp,c)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
local g=Duel.SelectReleaseGroup(tp,cm.hspfilter,1,1,nil,ft,tp)
local g=Duel.SelectReleaseGroup(REASON_COST,tp,cm.hspfilter,1,1,nil,ft,tp)
Duel.Release(g,REASON_COST)
end
function cm.pencon(e,tp,eg,ep,ev,re,r,rp)
......
......@@ -74,11 +74,11 @@ function cm.hspcon(e,c)
if c==nil then return true end
local tp=c:GetControler()
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
return ft>-1 and Duel.CheckReleaseGroup(tp,cm.hspfilter,1,nil,ft,tp)
return ft>-1 and Duel.CheckReleaseGroup(REASON_COST,tp,cm.hspfilter,1,nil,ft,tp)
end
function cm.hspop(e,tp,eg,ep,ev,re,r,rp,c)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
local g=Duel.SelectReleaseGroup(tp,cm.hspfilter,1,1,nil,ft,tp)
local g=Duel.SelectReleaseGroup(REASON_COST,tp,cm.hspfilter,1,1,nil,ft,tp)
Duel.Release(g,REASON_COST)
end
function cm.discon(e,tp,eg,ep,ev,re,r,rp)
......
......@@ -127,7 +127,7 @@ function c20032.filter(c)
return (c:IsRace(RACE_WINDBEAST)) and c:IsReleasableByEffect()
end
function c20032.tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetCurrentPhase()==PHASE_MAIN1 and Duel.CheckReleaseGroupEx(tp,c20032.filter,1,nil)
if chk==0 then return Duel.GetCurrentPhase()==PHASE_MAIN1 and Duel.CheckReleaseGroupEx(REASON_EFFECT,tp,c20032.filter,1,nil)
end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
......@@ -138,7 +138,7 @@ function c20032.tg(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.RegisterEffect(e1,tp)
end
function c20032.op(e,tp,eg,ep,ev,re,r,rp)
local rg=Duel.SelectReleaseGroupEx(tp,c20032.filter,1,1,nil)
local rg=Duel.SelectReleaseGroupEx(REASON_EFFECT,tp,c20032.filter,1,1,nil)
Duel.Release(rg,REASON_EFFECT)
Duel.BreakEffect()
Duel.SetLP(1-tp,Duel.GetLP(1-tp)/2)
......
......@@ -168,7 +168,7 @@ function c2003200.filter(c)
return (c:IsType(TYPE_SPIRIT) or c:IsRace(RACE_WINDBEAST)) and c:IsReleasableByEffect()
end
function c2003200.tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetCurrentPhase()==PHASE_MAIN1 and Duel.CheckReleaseGroupEx(tp,c2003200.filter,1,nil)
if chk==0 then return Duel.GetCurrentPhase()==PHASE_MAIN1 and Duel.CheckReleaseGroupEx(REASON_EFFECT,tp,c2003200.filter,1,nil)
end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
......@@ -179,7 +179,7 @@ function c2003200.tg(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.RegisterEffect(e1,tp)
end
function c2003200.op(e,tp,eg,ep,ev,re,r,rp)
local rg=Duel.SelectReleaseGroupEx(tp,c2003200.filter,1,1,nil)
local rg=Duel.SelectReleaseGroupEx(REASON_EFFECT,tp,c2003200.filter,1,1,nil)
Duel.Release(rg,REASON_EFFECT)
Duel.BreakEffect()
Duel.SetLP(1-tp,Duel.GetLP(1-tp)/2)
......
......@@ -29,8 +29,8 @@ function cm.costfilter(c,ft)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
if chk==0 then return ft>-1 and Duel.CheckReleaseGroup(tp,cm.costfilter,1,nil,ft) end
local g=Duel.SelectReleaseGroup(tp,cm.costfilter,1,1,nil,ft)
if chk==0 then return ft>-1 and Duel.CheckReleaseGroup(REASON_COST,tp,cm.costfilter,1,nil,ft) end
local g=Duel.SelectReleaseGroup(REASON_COST,tp,cm.costfilter,1,1,nil,ft)
Duel.Release(g,REASON_COST)
end
function cm.filter(c,e,tp)
......
......@@ -17,8 +17,8 @@ function c20148.refilter(c)
end
function c20148.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,20148)==0 and e:GetHandler():IsReleasable()
and Duel.CheckReleaseGroup(tp,c20148.refilter,1,e:GetHandler()) end
local g=Duel.SelectReleaseGroup(tp,c20148.refilter,1,1,e:GetHandler())
and Duel.CheckReleaseGroup(REASON_COST,tp,c20148.refilter,1,e:GetHandler()) end
local g=Duel.SelectReleaseGroup(REASON_COST,tp,c20148.refilter,1,1,e:GetHandler())
Duel.Release(e:GetHandler(),REASON_COST)
Duel.Release(g,REASON_COST)
Duel.RegisterFlagEffect(tp,20148,RESET_PHASE+PHASE_END,0,1)
......
......@@ -17,8 +17,8 @@ function c20149.refilter(c)
end
function c20149.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,20149)==0 and e:GetHandler():IsReleasable()
and Duel.CheckReleaseGroup(tp,c20149.refilter,1,e:GetHandler()) end
local g=Duel.SelectReleaseGroup(tp,c20149.refilter,1,1,e:GetHandler())
and Duel.CheckReleaseGroup(REASON_COST,tp,c20149.refilter,1,e:GetHandler()) end
local g=Duel.SelectReleaseGroup(REASON_COST,tp,c20149.refilter,1,1,e:GetHandler())
Duel.Release(e:GetHandler(),REASON_COST)
Duel.Release(g,REASON_COST)
Duel.RegisterFlagEffect(tp,20149,RESET_PHASE+PHASE_END,0,1)
......
......@@ -15,7 +15,7 @@ function c20168.initial_effect(c)
end
function c20168.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local g=Duel.GetMatchingGroup(aux.TRUE,tp,LOCATION_MZONE,0,nil)
if chk==0 then return Duel.CheckReleaseGroup(tp,aux.TRUE,1,nil) and g:GetCount()==1 end
if chk==0 then return Duel.CheckReleaseGroup(REASON_COST,tp,aux.TRUE,1,nil) and g:GetCount()==1 end
Duel.Release(g:GetFirst(),REASON_COST)
end
function c20168.filter(c,e,tp)
......
......@@ -97,8 +97,8 @@ function c20235.cfilter(c)
return c:IsType(TYPE_SPIRIT) and c:GetAttack()<=1800
end
function c20235.descost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckReleaseGroup(tp,c20235.cfilter,1,nil) end
local g=Duel.SelectReleaseGroup(tp,c20235.cfilter,1,1,nil)
if chk==0 then return Duel.CheckReleaseGroup(REASON_COST,tp,c20235.cfilter,1,nil) end
local g=Duel.SelectReleaseGroup(REASON_COST,tp,c20235.cfilter,1,1,nil)
Duel.Release(g,REASON_COST)
end
function c20235.filter(c)
......
......@@ -36,7 +36,7 @@ function c20242.sfilter(c)
end
function c20242.cost1(e,tp,eg,ep,ev,re,r,rp,chk)
local c1=e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST)
local c2=Duel.CheckReleaseGroup(tp,c20242.sfilter,1,nil)
local c2=Duel.CheckReleaseGroup(REASON_COST,tp,c20242.sfilter,1,nil)
if chk==0 then return c1 or c2 end
local opt=2
if c1 then opt=0 end
......@@ -46,7 +46,7 @@ function c20242.cost1(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription())
e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST)
else
local sg=Duel.SelectReleaseGroup(tp,c20242.sfilter,1,1,nil)
local sg=Duel.SelectReleaseGroup(REASON_COST,tp,c20242.sfilter,1,1,nil)
Duel.Release(sg,REASON_COST)
end
end
......
......@@ -18,12 +18,12 @@ function c21033.filter(c,e,tp)
return (c:IsCode(21024) or c:IsCode(20061)) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and Duel.GetLocationCountFromEx(tp,tp,nil,c)>0
end
function c21033.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.CheckReleaseGroup(1-tp,c21033.costfilter,1,nil)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.CheckReleaseGroup(REASON_EFFECT,1-tp,c21033.costfilter,1,nil)
and Duel.IsExistingMatchingCard(c21033.filter,tp,LOCATION_EXTRA,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end
function c21033.activate(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.SelectReleaseGroup(1-tp,c21033.costfilter,1,1,nil)
local g=Duel.SelectReleaseGroup(REASON_EFFECT,1-tp,c21033.costfilter,1,1,nil)
if Duel.Release(g,REASON_EFFECT)==0 then return end
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
if Duel.GetLocationCountFromEx(tp)<=0 then return end
......
......@@ -11,9 +11,9 @@ function c21125.initial_effect(c)
c:RegisterEffect(e1)
end
function c21125.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckReleaseGroup(tp,c21125.cfilter,1,nil) end
if chk==0 then return Duel.CheckReleaseGroup(REASON_COST,tp,c21125.cfilter,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local g=Duel.SelectReleaseGroup(tp,c21125.cfilter,1,1,nil)
local g=Duel.SelectReleaseGroup(REASON_COST,tp,c21125.cfilter,1,1,nil)
Duel.Release(g,REASON_COST)
end
function c21125.cfilter(c)
......
......@@ -27,8 +27,8 @@ function c21133.rfilter(c)
return c:IsSetCard(0x208) and c:IsType(TYPE_MONSTER)
end
function c21133.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckReleaseGroupEx(tp,c21133.rfilter,1,nil) end
local g=Duel.SelectReleaseGroupEx(tp,c21133.rfilter,1,1,nil)
if chk==0 then return Duel.CheckReleaseGroupEx(REASON_COST,tp,c21133.rfilter,1,nil) end
local g=Duel.SelectReleaseGroupEx(REASON_COST,tp,c21133.rfilter,1,1,nil)
Duel.Release(g,REASON_COST)
end
function c21133.filter(c)
......
......@@ -28,8 +28,8 @@ function c21136.rfilter(c)
return c:GetLevel()==2
end
function c21136.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckReleaseGroupEx(tp,c21136.rfilter,1,nil) end
local g=Duel.SelectReleaseGroupEx(tp,c21136.rfilter,1,1,nil)
if chk==0 then return Duel.CheckReleaseGroupEx(REASON_COST,tp,c21136.rfilter,1,nil) end
local g=Duel.SelectReleaseGroupEx(REASON_COST,tp,c21136.rfilter,1,1,nil)
Duel.Release(g,REASON_COST)
end
function c21136.filter(c)
......
......@@ -14,8 +14,8 @@ function c21145.filter(c)
return (math.abs(c:GetAttack()-c:GetDefense())==200 or math.abs(c:GetAttack()-c:GetDefense())==2000) and not c:IsType(TYPE_LINK)
end
function c21145.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckReleaseGroupEx(tp,c21145.filter,1,e:GetHandler()) end
local g=Duel.SelectReleaseGroupEx(tp,c21145.filter,1,1,e:GetHandler())
if chk==0 then return Duel.CheckReleaseGroupEx(REASON_COST,tp,c21145.filter,1,e:GetHandler()) end
local g=Duel.SelectReleaseGroupEx(REASON_COST,tp,c21145.filter,1,1,e:GetHandler())
Duel.Release(g,REASON_COST)
if g:GetFirst():IsSetCard(0x522) then
e:SetLabel(1)
......
......@@ -15,8 +15,8 @@ function c21146.filter(c)
return (math.abs(c:GetAttack()-c:GetDefense())==200 or math.abs(c:GetAttack()-c:GetDefense())==2000) and not c:IsType(TYPE_LINK)
end
function c21146.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckReleaseGroupEx(tp,c21146.filter,1,e:GetHandler()) end
local g=Duel.SelectReleaseGroupEx(tp,c21146.filter,1,1,e:GetHandler())
if chk==0 then return Duel.CheckReleaseGroupEx(REASON_COST,tp,c21146.filter,1,e:GetHandler()) end
local g=Duel.SelectReleaseGroupEx(REASON_COST,tp,c21146.filter,1,1,e:GetHandler())
Duel.Release(g,REASON_COST)
end
function c21146.target(e,tp,eg,ep,ev,re,r,rp,chk)
......
......@@ -45,8 +45,8 @@ function c21154.cfilter(c,e,tp)
return c:IsRace(RACE_WINDBEAST) and c:IsSetCard(0x208)
end
function c21154.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckReleaseGroupEx(tp,c21154.cfilter,1,nil) end
local g=Duel.SelectReleaseGroupEx(tp,c21154.cfilter,1,1,nil)
if chk==0 then return Duel.CheckReleaseGroupEx(REASON_COST,tp,c21154.cfilter,1,nil) end
local g=Duel.SelectReleaseGroupEx(REASON_COST,tp,c21154.cfilter,1,1,nil)
Duel.Release(g,REASON_COST)
end
function c21154.spfilter(c,e,tp)
......
......@@ -24,8 +24,8 @@ function c21160.initial_effect(c)
end
function c21160.cost(e,tp,eg,ep,ev,re,r,rp,chk)
e:SetLabel(1)
if chk==0 then return Duel.CheckReleaseGroup(tp,Card.IsAttribute,1,nil,ATTRIBUTE_FIRE) end
local g=Duel.SelectReleaseGroup(tp,Card.IsAttribute,1,1,nil,ATTRIBUTE_FIRE)
if chk==0 then return Duel.CheckReleaseGroup(REASON_COST,tp,Card.IsAttribute,1,nil,ATTRIBUTE_FIRE) end
local g=Duel.SelectReleaseGroup(REASON_COST,tp,Card.IsAttribute,1,1,nil,ATTRIBUTE_FIRE)
local atk=g:GetFirst():GetTextAttack()
if atk<0 then atk=0 end
e:SetLabel(atk)
......
......@@ -27,8 +27,8 @@ function c21200.condition(e,tp,eg,ep,ev,re,r,rp)
return ep==1-tp
end
function c21200.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckReleaseGroup(tp,Card.IsAttribute,1,nil,ATTRIBUTE_EARTH) end
local g=Duel.SelectReleaseGroup(tp,Card.IsAttribute,1,1,nil,ATTRIBUTE_EARTH)
if chk==0 then return Duel.CheckReleaseGroup(REASON_COST,tp,Card.IsAttribute,1,nil,ATTRIBUTE_EARTH) end
local g=Duel.SelectReleaseGroup(REASON_COST,tp,Card.IsAttribute,1,1,nil,ATTRIBUTE_EARTH)
Duel.Release(g,REASON_COST)
end
function c21200.filter(c,e,tp)
......
......@@ -15,8 +15,8 @@ function c22084.cfilter(c)
return c:GetDefense()==900
end
function c22084.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckReleaseGroupEx(tp,c22084.cfilter,1,nil) end
local g=Duel.SelectReleaseGroupEx(tp,c22084.cfilter,1,1,nil)
if chk==0 then return Duel.CheckReleaseGroupEx(REASON_COST,tp,c22084.cfilter,1,nil) end
local g=Duel.SelectReleaseGroupEx(REASON_COST,tp,c22084.cfilter,1,1,nil)
Duel.Release(g,REASON_COST)
end
function c22084.filter(c)
......
......@@ -29,9 +29,9 @@ function c22115.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
if e:GetLabel()~=1 then return false end
e:SetLabel(0)
return ft>-1 and Duel.CheckReleaseGroup(tp,c22115.filter1,1,nil,e,tp,ft)
return ft>-1 and Duel.CheckReleaseGroup(REASON_COST,tp,c22115.filter1,1,nil,e,tp,ft)
end
local rc=Duel.SelectReleaseGroup(tp,c22115.filter1,1,1,nil,e,tp,ft):GetFirst()
local rc=Duel.SelectReleaseGroup(REASON_COST,tp,c22115.filter1,1,1,nil,e,tp,ft):GetFirst()
e:SetLabelObject(rc)
Duel.Release(rc,REASON_COST)
if e:GetHandler():IsCode(22115) then rc:RegisterFlagEffect(22115,RESET_EVENT+RESETS_STANDARD,0,1) end
......
......@@ -27,10 +27,10 @@ function c22201.cfilter(c,e,tp)
return c:IsSetCard(0x111) and Duel.IsExistingMatchingCard(c22201.filter,tp,LOCATION_EXTRA,0,1,nil,e,tp,c)
end
function c22201.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckReleaseGroup(tp,c22201.cfilter,1,nil,e,tp)
if chk==0 then return Duel.CheckReleaseGroup(REASON_COST,tp,c22201.cfilter,1,nil,e,tp)
and Duel.CheckLPCost(tp,1000) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local g=Duel.SelectReleaseGroup(tp,c22201.cfilter,1,1,nil,e,tp)
local g=Duel.SelectReleaseGroup(REASON_COST,tp,c22201.cfilter,1,1,nil,e,tp)
Duel.Release(g,REASON_COST)
Duel.PayLPCost(tp,1000)
end
......
......@@ -25,8 +25,8 @@ function c22211.costfilter(c,ft,tp)
end
function c22211.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
if chk==0 then return ft>-1 and Duel.CheckReleaseGroup(tp,c22211.costfilter,1,nil,ft,tp) end
local g=Duel.SelectReleaseGroup(tp,c22211.costfilter,1,1,nil,ft,tp)
if chk==0 then return ft>-1 and Duel.CheckReleaseGroup(REASON_COST,tp,c22211.costfilter,1,nil,ft,tp) end
local g=Duel.SelectReleaseGroup(REASON_COST,tp,c22211.costfilter,1,1,nil,ft,tp)
Duel.Release(g,REASON_COST)
end
function c22211.filter(c,e,tp)
......
......@@ -38,8 +38,8 @@ function c22221.costfilter(c,ft,tp)
end
function c22221.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
if chk==0 then return ft>-1 and Duel.CheckReleaseGroup(tp,c22221.costfilter,1,nil,ft,tp) end
local g=Duel.SelectReleaseGroup(tp,c22221.costfilter,1,1,nil,ft,tp)
if chk==0 then return ft>-1 and Duel.CheckReleaseGroup(REASON_COST,tp,c22221.costfilter,1,nil,ft,tp) end
local g=Duel.SelectReleaseGroup(REASON_COST,tp,c22221.costfilter,1,1,nil,ft,tp)
Duel.Release(g,REASON_COST)
end
function c22221.filter(c,e,tp)
......
......@@ -80,8 +80,8 @@ function c22222.ctcon(e)
end
function c22222.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.IsPlayerCanRelease(tp,c) and Duel.CheckReleaseGroup(tp,nil,1,c) end
local sg=Duel.SelectReleaseGroup(tp,nil,1,1,c)
if chk==0 then return Duel.IsPlayerCanRelease(tp,c) and Duel.CheckReleaseGroup(REASON_COST,tp,nil,1,c) end
local sg=Duel.SelectReleaseGroup(REASON_COST,tp,nil,1,1,c)
sg:AddCard(c)
Duel.Release(sg,REASON_COST)
end
......
......@@ -72,8 +72,8 @@ function c23150.condition(e,tp,eg,ep,ev,re,r,rp)
end
function c23150.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return c:GetAttackAnnouncedCount()==0 and Duel.CheckReleaseGroup(tp,aux.TRUE,1,nil) end
local g=Duel.SelectReleaseGroup(tp,aux.TRUE,1,10,nil)
if chk==0 then return c:GetAttackAnnouncedCount()==0 and Duel.CheckReleaseGroup(REASON_COST,tp,aux.TRUE,1,nil) end
local g=Duel.SelectReleaseGroup(REASON_COST,tp,aux.TRUE,1,10,nil)
e:SetLabel(g:GetCount()*500)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
......
......@@ -14,8 +14,8 @@ function c24036.costfilter(c)
return c:IsSetCard(0x625) and c:IsAttribute(ATTRIBUTE_FIRE)
end
function c24036.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckReleaseGroup(tp,c24036.costfilter,1,nil) end
local g=Duel.SelectReleaseGroup(tp,c24036.costfilter,1,1,nil)
if chk==0 then return Duel.CheckReleaseGroup(REASON_COST,tp,c24036.costfilter,1,nil) end
local g=Duel.SelectReleaseGroup(REASON_COST,tp,c24036.costfilter,1,1,nil)
Duel.Release(g,REASON_COST)
end
function c24036.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
......
......@@ -16,8 +16,8 @@ function c24038.costfilter(c)
return c:IsSetCard(0x625)
end
function c24038.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckReleaseGroup(tp,c24038.costfilter,1,nil) end
local g=Duel.SelectReleaseGroup(tp,c24038.costfilter,1,1,nil)
if chk==0 then return Duel.CheckReleaseGroup(REASON_COST,tp,c24038.costfilter,1,nil) end
local g=Duel.SelectReleaseGroup(REASON_COST,tp,c24038.costfilter,1,1,nil)
Duel.Release(g,REASON_COST)
end
function c24038.filter(c,e,tp)
......
......@@ -25,8 +25,8 @@ function c24049.filter(c)
return (math.abs(c:GetAttack()-c:GetDefense())==200 or math.abs(c:GetAttack()-c:GetDefense())==2000) and not c:IsType(TYPE_LINK)
end
function c24049.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckReleaseGroup(tp,c24049.filter,1,nil) end
local g=Duel.SelectReleaseGroup(tp,c24049.filter,1,1,nil)
if chk==0 then return Duel.CheckReleaseGroup(REASON_COST,tp,c24049.filter,1,nil) end
local g=Duel.SelectReleaseGroup(REASON_COST,tp,c24049.filter,1,1,nil)
Duel.Release(g,REASON_COST)
end
function c24049.activate(e,tp,eg,ep,ev,re,r,rp)
......
......@@ -30,16 +30,16 @@ function c24051.yfilter(c)
end
function c24051.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local ct=0
if Duel.CheckReleaseGroupEx(tp,c24051.cfilter,2,nil) then ct=ct+1 end
if Duel.CheckReleaseGroupEx(tp,c24051.yfilter,1,nil) then ct=ct+1 end
if Duel.CheckReleaseGroupEx(REASON_COST,tp,c24051.cfilter,2,nil) then ct=ct+1 end
if Duel.CheckReleaseGroupEx(REASON_COST,tp,c24051.yfilter,1,nil) then ct=ct+1 end
if chk==0 then return ct>0 end
local g=Duel.SelectReleaseGroupEx(tp,c24051.cfilter,1,1,nil)
local g=Duel.SelectReleaseGroupEx(REASON_COST,tp,c24051.cfilter,1,1,nil)
if g and g:GetFirst():IsSetCard(0x262) then
elseif g then
g1=Duel.SelectReleaseGroupEx(tp,c24051.cfilter,1,1,g:GetFirst())
g1=Duel.SelectReleaseGroupEx(REASON_COST,tp,c24051.cfilter,1,1,g:GetFirst())
g:Merge(g1)
else
g=Duel.SelectReleaseGroupEx(tp,c24051.yfilter,1,1,nil)
g=Duel.SelectReleaseGroupEx(REASON_COST,tp,c24051.yfilter,1,1,nil)
end
Duel.Release(g,REASON_COST)
end
......
......@@ -14,8 +14,8 @@ function c24055.filter(c)
return c:IsSetCard(0x262)
end
function c24055.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckReleaseGroup(tp,c24055.filter,1,nil) end
local g=Duel.SelectReleaseGroup(tp,c24055.filter,1,1,nil)
if chk==0 then return Duel.CheckReleaseGroup(REASON_COST,tp,c24055.filter,1,nil) end
local g=Duel.SelectReleaseGroup(REASON_COST,tp,c24055.filter,1,1,nil)
Duel.Release(g,REASON_COST)
end
function c24055.activate(e,tp,eg,ep,ev,re,r,rp)
......
......@@ -15,8 +15,8 @@ function c24057.filter(c)
return (math.abs(c:GetAttack()-c:GetDefense())==200 or math.abs(c:GetAttack()-c:GetDefense())==2000) and not c:IsType(TYPE_LINK)
end
function c24057.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckReleaseGroupEx(tp,c24057.filter,1,nil) end
local g=Duel.SelectReleaseGroupEx(tp,c24057.filter,1,1,nil)
if chk==0 then return Duel.CheckReleaseGroupEx(REASON_COST,tp,c24057.filter,1,nil) end
local g=Duel.SelectReleaseGroupEx(REASON_COST,tp,c24057.filter,1,1,nil)
e:SetLabelObject(g:GetFirst())
Duel.Release(g,REASON_COST)
end
......
......@@ -20,8 +20,8 @@ function c24059.filter(c)
return (math.abs(c:GetAttack()-c:GetDefense())==200 or math.abs(c:GetAttack()-c:GetDefense())==2000) and not c:IsType(TYPE_LINK)
end
function c24059.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckReleaseGroup(tp,c24059.filter,1,nil) end
local g=Duel.SelectReleaseGroup(tp,c24059.filter,1,1,nil)
if chk==0 then return Duel.CheckReleaseGroup(REASON_COST,tp,c24059.filter,1,nil) end
local g=Duel.SelectReleaseGroup(REASON_COST,tp,c24059.filter,1,1,nil)
Duel.Release(g,REASON_COST)
end
function c24059.activate(e,tp,eg,ep,ev,re,r,rp)
......
......@@ -74,7 +74,7 @@ function c24164.sfilter(c)
end
function c24164.cost1(e,tp,eg,ep,ev,re,r,rp,chk)
local c1=e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST)
local c2=Duel.CheckReleaseGroupEx(tp,c24164.sfilter,1,nil)
local c2=Duel.CheckReleaseGroupEx(REASON_COST,tp,c24164.sfilter,1,nil)
if chk==0 then return c1 or c2 end
local opt=2
if c1 then opt=0 end
......@@ -84,7 +84,7 @@ function c24164.cost1(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription())
e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST)
else
local sg=Duel.SelectReleaseGroupEx(tp,c24164.sfilter,1,1,nil)
local sg=Duel.SelectReleaseGroupEx(REASON_COST,tp,c24164.sfilter,1,1,nil)
Duel.Release(sg,REASON_COST)
end
end
......
......@@ -26,8 +26,8 @@ function c25030.cfilter(c)
return c:IsSetCard(0x999)
end
function c25030.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckReleaseGroup(tp,c25030.cfilter,1,nil) end
local g=Duel.SelectReleaseGroup(tp,c25030.cfilter,1,1,nil)
if chk==0 then return Duel.CheckReleaseGroup(REASON_COST,tp,c25030.cfilter,1,nil) end
local g=Duel.SelectReleaseGroup(REASON_COST,tp,c25030.cfilter,1,1,nil)
Duel.Release(g,REASON_COST)
end
function c25030.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
......
......@@ -45,18 +45,18 @@ end
function c25043.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return (Duel.GetLocationCount(tp,LOCATION_MZONE)>0
or Duel.IsExistingMatchingCard(c25043.cfilter,tp,LOCATION_MZONE,0,1,e:GetHandler()))
and Duel.CheckReleaseGroupEx(tp,c25043.cfilter,1,e:GetHandler()) end
and Duel.CheckReleaseGroupEx(REASON_COST,tp,c25043.cfilter,1,e:GetHandler()) end
if Duel.GetLocationCount(tp,LOCATION_MZONE)>0 then
local g=Duel.SelectReleaseGroupEx(tp,c25043.cfilter,1,2,e:GetHandler())
local g=Duel.SelectReleaseGroupEx(REASON_COST,tp,c25043.cfilter,1,2,e:GetHandler())
e:SetLabel(g:GetCount())
Duel.Release(g,REASON_COST)
else
local g=Duel.SelectReleaseGroupEx(tp,c25043.cfilter,1,1,e:GetHandler())
local g=Duel.SelectReleaseGroupEx(REASON_COST,tp,c25043.cfilter,1,1,e:GetHandler())
if g:GetFirst():GetLocation()==LOCATION_HAND then
local g1=Duel.SelectReleaseGroup(tp,c25043.cfilter,1,1,e:GetHandler())
local g1=Duel.SelectReleaseGroup(REASON_COST,tp,c25043.cfilter,1,1,e:GetHandler())
g:Merge(g1)
elseif Duel.SelectYesNo(tp,aux.Stringid(25043,3)) then
local g1=Duel.SelectReleaseGroupEx(tp,c25043.cfilter,1,1,e:GetHandler())
local g1=Duel.SelectReleaseGroupEx(REASON_COST,tp,c25043.cfilter,1,1,e:GetHandler())
g:Merge(g1)
end
e:SetLabel(g:GetCount())
......
......@@ -13,8 +13,8 @@ function c25046.filter(c)
return (math.abs(c:GetAttack()-c:GetDefense())==200 or math.abs(c:GetAttack()-c:GetDefense())==2000) and not c:IsType(TYPE_LINK)
end
function c25046.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckReleaseGroup(tp,c25046.filter,1,nil) end
local g=Duel.SelectReleaseGroup(tp,c25046.filter,1,1,nil)
if chk==0 then return Duel.CheckReleaseGroup(REASON_COST,tp,c25046.filter,1,nil) end
local g=Duel.SelectReleaseGroup(REASON_COST,tp,c25046.filter,1,1,nil)
Duel.Release(g,REASON_COST)
end
function c25046.activate(e,tp,eg,ep,ev,re,r,rp)
......
......@@ -15,8 +15,8 @@ function c25050.filter(c)
return (math.abs(c:GetAttack()-c:GetDefense())==200 or math.abs(c:GetAttack()-c:GetDefense())==2000) and not c:IsType(TYPE_LINK)
end
function c25050.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckReleaseGroup(tp,c25050.filter,1,e:GetHandler()) end
local g=Duel.SelectReleaseGroup(tp,c25050.filter,1,1,e:GetHandler())
if chk==0 then return Duel.CheckReleaseGroup(REASON_COST,tp,c25050.filter,1,e:GetHandler()) end
local g=Duel.SelectReleaseGroup(REASON_COST,tp,c25050.filter,1,1,e:GetHandler())
Duel.Release(g,REASON_COST)
end
function c25050.sfilter(c)
......
......@@ -97,8 +97,8 @@ function c25167.rfilter(c)
return c:IsRace(RACE_PLANT)
end
function c25167.atkcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckReleaseGroup(tp,c25167.rfilter,2,e:GetHandler()) end
local g=Duel.SelectReleaseGroup(tp,c25167.rfilter,2,2,e:GetHandler())
if chk==0 then return Duel.CheckReleaseGroup(REASON_COST,tp,c25167.rfilter,2,e:GetHandler()) end
local g=Duel.SelectReleaseGroup(REASON_COST,tp,c25167.rfilter,2,2,e:GetHandler())
Duel.Release(g,REASON_COST)
end
function c25167.atktg(e,tp,eg,ep,ev,re,r,rp,chk)
......
......@@ -20,8 +20,8 @@ function c26055.condition(e,tp,eg,ep,ev,re,r,rp)
and (re:IsActiveType(TYPE_MONSTER) or (re:IsActiveType(TYPE_TRAP) and re:IsHasType(EFFECT_TYPE_ACTIVATE)))
end
function c26055.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckReleaseGroup(tp,c26055.cfilter,1,nil) end
local g=Duel.SelectReleaseGroup(tp,c26055.cfilter,1,1,nil)
if chk==0 then return Duel.CheckReleaseGroup(REASON_COST,tp,c26055.cfilter,1,nil) end
local g=Duel.SelectReleaseGroup(REASON_COST,tp,c26055.cfilter,1,1,nil)
Duel.Release(g,REASON_COST)
end
function c26055.target(e,tp,eg,ep,ev,re,r,rp,chk)
......
......@@ -56,8 +56,8 @@ function c26057.drop(e,tp,eg,ep,ev,re,r,rp)
end
end
function c26057.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckReleaseGroup(tp,aux.TRUE,1,e:GetHandler()) end
local sg=Duel.SelectReleaseGroup(tp,aux.TRUE,1,1,e:GetHandler())
if chk==0 then return Duel.CheckReleaseGroup(REASON_COST,tp,aux.TRUE,1,e:GetHandler()) end
local sg=Duel.SelectReleaseGroup(REASON_COST,tp,aux.TRUE,1,1,e:GetHandler())
Duel.Release(sg,REASON_COST)
end
function c26057.filter(c)
......
......@@ -52,7 +52,7 @@ function c26078.ffilter(c)
return c:IsFusionSetCard(0x229)
end
function c26078.spfilter1(c,tp)
return c:IsSetCard(0x229) and c:IsCanBeFusionMaterial() and Duel.CheckReleaseGroup(tp,c26078.spfilter2,1,c)
return c:IsSetCard(0x229) and c:IsCanBeFusionMaterial() and Duel.CheckReleaseGroup(REASON_COST,tp,c26078.spfilter2,1,c)
end
function c26078.spfilter2(c)
return c:IsType(TYPE_FLIP) and c:IsCanBeFusionMaterial()
......@@ -66,7 +66,7 @@ function c26078.spcon(e,c)
local g=Duel.GetMatchingGroup(c26078.spfilter1,tp,LOCATION_MZONE,0,nil,tp)
local g2=Duel.GetMatchingGroup(c26078.spfilter2,tp,LOCATION_MZONE,0,nil)
g:Merge(g2)
return g:FilterCount(c26078.exfilter,nil,tp,c)>0 and Duel.CheckReleaseGroup(tp,c26078.spfilter1,1,nil,tp)
return g:FilterCount(c26078.exfilter,nil,tp,c)>0 and Duel.CheckReleaseGroup(REASON_COST,tp,c26078.spfilter1,1,nil,tp)
end
function c26078.spop(e,tp,eg,ep,ev,re,r,rp,c)
local g0=Duel.GetReleaseGroup(tp)
......@@ -85,8 +85,8 @@ function c26078.spop(e,tp,eg,ep,ev,re,r,rp,c)
rg2=g1:Select(tp,1,1,rg1)
end
else
rg1=Duel.SelectReleaseGroup(tp,c26078.spfilter1,1,1,nil,tp)
rg2=Duel.SelectReleaseGroup(tp,c26078.spfilter2,1,1,rg1)
rg1=Duel.SelectReleaseGroup(REASON_COST,tp,c26078.spfilter1,1,1,nil,tp)
rg2=Duel.SelectReleaseGroup(REASON_COST,tp,c26078.spfilter2,1,1,rg1)
end
rg1:Merge(rg2)
c:SetMaterial(rg1)
......
......@@ -84,8 +84,8 @@ function c26138.op(e,tp,eg,ep,ev,re,r,rp)
end
end
function c26138.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckReleaseGroupEx(tp,aux.TRUE,1,e:GetHandler()) end
local sg=Duel.SelectReleaseGroupEx(tp,aux.TRUE,1,1,e:GetHandler())
if chk==0 then return Duel.CheckReleaseGroupEx(REASON_COST,tp,aux.TRUE,1,e:GetHandler()) end
local sg=Duel.SelectReleaseGroupEx(REASON_COST,tp,aux.TRUE,1,1,e:GetHandler())
Duel.Release(sg,REASON_COST)
end
function c26138.filter(c)
......
......@@ -19,9 +19,9 @@ function c27035.filter(c)
return (math.abs(c:GetAttack()-c:GetDefense())==200 or math.abs(c:GetAttack()-c:GetDefense())==2000) and not c:IsType(TYPE_LINK)
end
function c27035.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c27035.cfilter,tp,LOCATION_SZONE,0,1,nil) or Duel.CheckReleaseGroupEx(tp,c27035.filter,1,nil) end
if chk==0 then return Duel.IsExistingMatchingCard(c27035.cfilter,tp,LOCATION_SZONE,0,1,nil) or Duel.CheckReleaseGroupEx(REASON_COST,tp,c27035.filter,1,nil) end
if Duel.IsExistingMatchingCard(c27035.cfilter,tp,LOCATION_SZONE,0,1,nil) then return end
local g=Duel.SelectReleaseGroupEx(tp,c27035.filter,1,1,nil)
local g=Duel.SelectReleaseGroupEx(REASON_COST,tp,c27035.filter,1,1,nil)
Duel.Release(g,REASON_COST)
end
function c27035.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
......
......@@ -19,9 +19,9 @@ function c27036.filter(c)
return c:IsSetCard(0x208) and c:IsAttackAbove(1800)
end
function c27036.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c27036.cfilter,tp,LOCATION_SZONE,0,1,nil) or Duel.CheckReleaseGroup(tp,c27036.filter,1,nil) end
if chk==0 then return Duel.IsExistingMatchingCard(c27036.cfilter,tp,LOCATION_SZONE,0,1,nil) or Duel.CheckReleaseGroup(REASON_COST,tp,c27036.filter,1,nil) end
if Duel.IsExistingMatchingCard(c27036.cfilter,tp,LOCATION_SZONE,0,1,nil) then return end
local g=Duel.SelectReleaseGroup(tp,c27036.filter,1,1,nil)
local g=Duel.SelectReleaseGroup(REASON_COST,tp,c27036.filter,1,1,nil)
Duel.Release(g,REASON_COST)
end
function c27036.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
......
......@@ -76,9 +76,9 @@ function c27038.cfilter(c)
return c:IsSetCard(0x242)
end
function c27038.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c27038.cofilter,tp,LOCATION_SZONE,0,1,nil) or Duel.CheckReleaseGroupEx(tp,c27038.cfilter,1,nil) end
if chk==0 then return Duel.IsExistingMatchingCard(c27038.cofilter,tp,LOCATION_SZONE,0,1,nil) or Duel.CheckReleaseGroupEx(REASON_COST,tp,c27038.cfilter,1,nil) end
if Duel.IsExistingMatchingCard(c27038.cofilter,tp,LOCATION_SZONE,0,1,nil) then return end
local g=Duel.SelectReleaseGroupEx(tp,c27038.cfilter,1,1,nil)
local g=Duel.SelectReleaseGroupEx(REASON_COST,tp,c27038.cfilter,1,1,nil)
Duel.Release(g,REASON_COST)
end
function c27038.dfilter(c)
......
......@@ -33,8 +33,8 @@ function c27046.filter(c)
return c:IsSetCard(0x242) or c:GetLevel()>4
end
function c27046.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckReleaseGroup(tp,c27046.filter,1,nil) end
local g=Duel.SelectReleaseGroup(tp,c27046.filter,1,1,nil)
if chk==0 then return Duel.CheckReleaseGroup(REASON_COST,tp,c27046.filter,1,nil) end
local g=Duel.SelectReleaseGroup(REASON_COST,tp,c27046.filter,1,1,nil)
Duel.Release(g,REASON_COST)
end
function c27046.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
......
......@@ -15,8 +15,8 @@ function c27061.rfilter(c)
return c:IsReleasable() and c:IsLocation(LOCATION_HAND)
end
function c27061.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckReleaseGroupEx(tp,c27061.rfilter,1,nil) end
local rg=Duel.SelectReleaseGroupEx(tp,c27061.rfilter,1,1,nil)
if chk==0 then return Duel.CheckReleaseGroupEx(REASON_COST,tp,c27061.rfilter,1,nil) end
local rg=Duel.SelectReleaseGroupEx(REASON_COST,tp,c27061.rfilter,1,1,nil)
Duel.Release(rg,REASON_COST)
if rg:GetFirst():IsLevelBelow(4) then
e:SetLabel(1)
......
......@@ -52,7 +52,7 @@ function c27085.sfilter(c)
end
function c27085.cost1(e,tp,eg,ep,ev,re,r,rp,chk)
local c1=e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST)
local c2=Duel.CheckReleaseGroup(tp,c27085.sfilter,1,nil)
local c2=Duel.CheckReleaseGroup(REASON_COST,tp,c27085.sfilter,1,nil)
if chk==0 then return c1 or c2 end
local opt=2
if c1 then opt=0 end
......@@ -62,7 +62,7 @@ function c27085.cost1(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription())
e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST)
else
local sg=Duel.SelectReleaseGroup(tp,c27085.sfilter,1,1,nil)
local sg=Duel.SelectReleaseGroup(REASON_COST,tp,c27085.sfilter,1,1,nil)
Duel.Release(sg,REASON_COST)
end
end
......@@ -82,7 +82,7 @@ function c27085.operation(e,tp,eg,ep,ev,re,r,rp)
end
function c27085.cost2(e,tp,eg,ep,ev,re,r,rp,chk)
local c1=e:GetHandler():CheckRemoveOverlayCard(tp,2,REASON_COST)
local c2=Duel.CheckReleaseGroup(tp,c27085.sfilter,1,nil)
local c2=Duel.CheckReleaseGroup(REASON_COST,tp,c27085.sfilter,1,nil)
if chk==0 then return c1 or c2 end
local opt=2
if c1 then opt=0 end
......@@ -92,7 +92,7 @@ function c27085.cost2(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription())
e:GetHandler():RemoveOverlayCard(tp,2,2,REASON_COST)
else
local sg=Duel.SelectReleaseGroup(tp,c27085.sfilter,1,1,nil)
local sg=Duel.SelectReleaseGroup(REASON_COST,tp,c27085.sfilter,1,1,nil)
Duel.Release(sg,REASON_COST)
end
end
......
......@@ -50,8 +50,8 @@ function c27139.rfilter(c)
return c:IsSetCard(0x208) and c:IsLocation(LOCATION_HAND)
end
function c27139.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckReleaseGroupEx(tp,c27139.rfilter,1,nil) end
local g=Duel.SelectReleaseGroupEx(tp,c27139.rfilter,1,1,nil)
if chk==0 then return Duel.CheckReleaseGroupEx(REASON_COST,tp,c27139.rfilter,1,nil) end
local g=Duel.SelectReleaseGroupEx(REASON_COST,tp,c27139.rfilter,1,1,nil)
Duel.Release(g,REASON_COST)
end
function c27139.target(e,tp,eg,ep,ev,re,r,rp,chk)
......
......@@ -18,17 +18,17 @@ function c28050.initial_effect(c)
c:RegisterEffect(e0)
end
function c28050.cfilter1_1(c,tp)
return c:IsSetCard(0xc211) and Duel.CheckReleaseGroup(tp,c28050.cfilter1_2,1,c)
return c:IsSetCard(0xc211) and Duel.CheckReleaseGroup(REASON_COST,tp,c28050.cfilter1_2,1,c)
end
function c28050.cfilter1_2(c)
return c:IsSetCard(0xa211)
end
function c28050.cost1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckReleaseGroup(tp,c28050.cfilter1_1,1,nil,tp) end
if chk==0 then return Duel.CheckReleaseGroup(REASON_COST,tp,c28050.cfilter1_1,1,nil,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local g1=Duel.SelectReleaseGroup(tp,c28050.cfilter1_1,1,1,nil,tp)
local g1=Duel.SelectReleaseGroup(REASON_COST,tp,c28050.cfilter1_1,1,1,nil,tp)
local tc=g1:GetFirst()
local g2=Duel.SelectReleaseGroup(tp,c28050.cfilter1_2,1,1,tc)
local g2=Duel.SelectReleaseGroup(REASON_COST,tp,c28050.cfilter1_2,1,1,tc)
g1:Merge(g2)
Duel.Release(g1,REASON_COST)
end
......
......@@ -40,10 +40,10 @@ end
function c421408.hspcon(e,c)
if c==nil then return true end
return Duel.GetLocationCount(c:GetControler(),LOCATION_MZONE)>-1
and Duel.CheckReleaseGroup(c:GetControler(),c421408.filter,1,nil)
and Duel.CheckReleaseGroup(REASON_COST,c:GetControler(),c421408.filter,1,nil)
end
function c421408.hspop(e,tp,eg,ep,ev,re,r,rp,c)
local g=Duel.SelectReleaseGroup(c:GetControler(),c421408.filter,1,1,nil)
local g=Duel.SelectReleaseGroup(REASON_COST,c:GetControler(),c421408.filter,1,1,nil)
Duel.Release(g,REASON_COST)
c:RegisterFlagEffect(0,RESET_EVENT+0x4fc0000,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(421408,2))
end
......
......@@ -63,8 +63,8 @@ function c431402.hdcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetSummonType()==SUMMON_TYPE_SYNCHRO
end
function c431402.hdcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckReleaseGroup(tp,Card.IsLevelBelow,1,e:GetHandler(),3) end
local g=Duel.SelectReleaseGroup(tp,Card.IsLevelBelow,1,10,e:GetHandler(),3)
if chk==0 then return Duel.CheckReleaseGroup(REASON_COST,tp,Card.IsLevelBelow,1,e:GetHandler(),3) end
local g=Duel.SelectReleaseGroup(REASON_COST,tp,Card.IsLevelBelow,1,10,e:GetHandler(),3)
local ct=Duel.Release(g,REASON_COST)
e:SetLabel(ct)
end
......
......@@ -55,8 +55,8 @@ function c66919005.cfilter(c,ft,tp)
end
function c66919005.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
if chk==0 then return ft>-1 and Duel.CheckReleaseGroup(tp,c66919005.cfilter,1,nil,ft,tp) end
local sg=Duel.SelectReleaseGroup(tp,c66919005.cfilter,1,1,nil,ft,tp)
if chk==0 then return ft>-1 and Duel.CheckReleaseGroup(REASON_COST,tp,c66919005.cfilter,1,nil,ft,tp) end
local sg=Duel.SelectReleaseGroup(REASON_COST,tp,c66919005.cfilter,1,1,nil,ft,tp)
Duel.Release(sg,REASON_COST)
end
function c66919005.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
......
......@@ -36,8 +36,8 @@ function c66919012.costfilter(c)
return c:IsRace(RACE_FAIRY) and (c:IsControler(tp) or c:IsFaceup())
end
function c66919012.negcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckReleaseGroup(tp,c66919012.costfilter,1,nil) end
local sg=Duel.SelectReleaseGroup(tp,c66919012.costfilter,1,1,nil)
if chk==0 then return Duel.CheckReleaseGroup(REASON_COST,tp,c66919012.costfilter,1,nil) end
local sg=Duel.SelectReleaseGroup(REASON_COST,tp,c66919012.costfilter,1,1,nil)
e:SetLabel(sg:GetFirst():GetType())
Duel.Release(sg,REASON_COST)
end
......@@ -78,8 +78,8 @@ function c66919012.cfilter(c)
return c:IsCode(66919001) and c:IsReleasable()
end
function c66919012.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckReleaseGroup(tp,c66919012.cfilter,1,e:GetHandler()) end
local sg=Duel.SelectReleaseGroup(tp,c66919012.cfilter,1,1,e:GetHandler())
if chk==0 then return Duel.CheckReleaseGroup(REASON_COST,tp,c66919012.cfilter,1,e:GetHandler()) end
local sg=Duel.SelectReleaseGroup(REASON_COST,tp,c66919012.cfilter,1,1,e:GetHandler())
Duel.Release(sg,REASON_COST)
end
function c66919012.operation(e,tp,eg,ep,ev,re,r,rp)
......
......@@ -61,8 +61,8 @@ function c66919014.filter(c)
return c:IsFaceup() and c:IsAttribute(ATTRIBUTE_DARK) and c:IsControlerCanBeChanged()
end
function c66919014.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckReleaseGroup(tp,c66919014.cfilter,1,e:GetHandler()) end
local sg=Duel.SelectReleaseGroup(tp,c66919014.cfilter,1,1,e:GetHandler())
if chk==0 then return Duel.CheckReleaseGroup(REASON_COST,tp,c66919014.cfilter,1,e:GetHandler()) end
local sg=Duel.SelectReleaseGroup(REASON_COST,tp,c66919014.cfilter,1,1,e:GetHandler())
Duel.Release(sg,REASON_COST)
end
function c66919014.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
......
......@@ -29,8 +29,8 @@ function c7001201.refilter(c)
return c:IsSetCard(0x137)
end
function c7001201.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckReleaseGroup(tp,c7001201.refilter,1,e:GetHandler()) end
local sg=Duel.SelectReleaseGroup(tp,c7001201.refilter,1,1,e:GetHandler())
if chk==0 then return Duel.CheckReleaseGroup(REASON_COST,tp,c7001201.refilter,1,e:GetHandler()) end
local sg=Duel.SelectReleaseGroup(REASON_COST,tp,c7001201.refilter,1,1,e:GetHandler())
Duel.Release(sg,REASON_COST)
end
function c7001201.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
......@@ -50,8 +50,8 @@ function c7001201.filter(c)
return c:IsCode(21024)
end
function c7001201.descost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckReleaseGroup(tp,c7001201.filter,1,e:GetHandler()) and e:GetHandler():IsAbleToRemoveAsCost() end
local sg=Duel.SelectReleaseGroup(tp,c7001201.filter,1,1,e:GetHandler())
if chk==0 then return Duel.CheckReleaseGroup(REASON_COST,tp,c7001201.filter,1,e:GetHandler()) and e:GetHandler():IsAbleToRemoveAsCost() end
local sg=Duel.SelectReleaseGroup(REASON_COST,tp,c7001201.filter,1,1,e:GetHandler())
Duel.Release(sg,REASON_COST)
Duel.Remove(e:GetHandler(),POS_FACEUP,REASON_COST)
end
......
......@@ -52,10 +52,10 @@ end
function c71105.hspcon(e,c)
if c==nil then return true end
return Duel.GetLocationCount(c:GetControler(),LOCATION_MZONE)>-1
and Duel.CheckReleaseGroup(c:GetControler(),Card.IsSetCard,1,nil,0x711)
and Duel.CheckReleaseGroup(REASON_COST,c:GetControler(),Card.IsSetCard,1,nil,0x711)
end
function c71105.hspop(e,tp,eg,ep,ev,re,r,rp,c)
local g=Duel.SelectReleaseGroup(c:GetControler(),Card.IsSetCard,1,1,nil,0x711)
local g=Duel.SelectReleaseGroup(REASON_COST,c:GetControler(),Card.IsSetCard,1,1,nil,0x711)
Duel.Release(g,REASON_COST)
c:RegisterFlagEffect(0,RESET_EVENT+0x4fc0000,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(71105,2))
end
\ No newline at end of file
......@@ -32,8 +32,8 @@ function cCardno.rfilter(c)
return c:IsLevel(2) and c:IsSetCard(0x208)
end
function cCardno.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckReleaseGroupEx(tp,cCardno.rfilter,1,nil) end
local g=Duel.SelectReleaseGroupEx(tp,cCardno.rfilter,1,1,nil)
if chk==0 then return Duel.CheckReleaseGroupEx(REASON_COST,tp,cCardno.rfilter,1,nil) end
local g=Duel.SelectReleaseGroupEx(REASON_COST,tp,cCardno.rfilter,1,1,nil)
local rc=g:GetFirst()
Duel.SetTargetCard(rc)
Duel.Release(rc,REASON_COST)
......
......@@ -66,7 +66,7 @@ end
function cCardno.spfilter1(c,tp,fc)
local flag = Duel.GetLocationCountFromEx(tp, tp, c, fc) < 1
return cCardno.mfilter1(c) and c:IsCanBeFusionMaterial()
and Duel.CheckReleaseGroup(tp, cCardno.spfilter2, 1, c, tp, flag,fc)
and Duel.CheckReleaseGroup(REASON_COST,tp, cCardno.spfilter2, 1, c, tp, flag,fc)
end
function cCardno.spfilter2(c,tp,flag,fc)
if flag and Duel.GetLocationCountFromEx(tp, tp, c, fc) < 1 then return false end
......@@ -75,13 +75,13 @@ end
function cCardno.spcon(e,c)
if c==nil then return true end
local tp=c:GetControler()
return Duel.CheckReleaseGroup(tp, cCardno.spfilter1, 1, nil, tp,c)
return Duel.CheckReleaseGroup(REASON_COST,tp, cCardno.spfilter1, 1, nil, tp,c)
end
function cCardno.spop(e,tp,eg,ep,ev,re,r,rp,c)
local g1 = Duel.SelectReleaseGroup(tp, cCardno.spfilter1, 1, 1, nil, tp,c)
local g1 = Duel.SelectReleaseGroup(REASON_COST,tp, cCardno.spfilter1, 1, 1, nil, tp,c)
local c1 = g1:GetFirst()
local flag = Duel.GetLocationCountFromEx(tp, tp, c1, c) < 1
local g2 = Duel.SelectReleaseGroup(tp, cCardno.spfilter2, 1, 1, c1, tp, flag,c)
local g2 = Duel.SelectReleaseGroup(REASON_COST,tp, cCardno.spfilter2, 1, 1, c1, tp, flag,c)
g1:Merge(g2)
c:SetMaterial(g1)
Duel.Release(g1,REASON_COST)
......
......@@ -28,7 +28,7 @@ end
function c7770007.activate(e,tp,eg,ep,ev,re,r,rp)
if Duel.IsExistingMatchingCard(c7770007.filter,tp,LOCATION_EXTRA,0,1,nil,e,tp) and Duel.IsExistingMatchingCard(c7770007.cfilter,tp,LOCATION_MZONE,0,1,nil,e,tp)
then
local cost=Duel.SelectReleaseGroup(tp,c7770007.cfilter,1,1,nil,tp)
local cost=Duel.SelectReleaseGroup(REASON_COST,tp,c7770007.cfilter,1,1,nil,tp)
if Duel.Release(cost,REASON_RELEASE)>=1 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c7770007.filter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp)
......
......@@ -46,16 +46,16 @@ end
function c7770021.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local ct=0
if Duel.CheckReleaseGroup(tp,c7770021.filter2,2,nil) then ct=ct+1 end
if Duel.CheckReleaseGroup(tp,c7770021.filter3,1,nil) then ct=ct+1 end
if Duel.CheckReleaseGroup(REASON_COST,tp,c7770021.filter2,2,nil) then ct=ct+1 end
if Duel.CheckReleaseGroup(REASON_COST,tp,c7770021.filter3,1,nil) then ct=ct+1 end
if chk==0 then return ct>0 end
local g=Duel.SelectReleaseGroup(tp,c7770021.filter2,1,1,nil)
local g=Duel.SelectReleaseGroup(REASON_COST,tp,c7770021.filter2,1,1,nil)
if g and g:GetFirst():IsSetCard(0x262) then
elseif g then
g1=Duel.SelectReleaseGroup(tp,c7770021.filter2,1,1,g:GetFirst())
g1=Duel.SelectReleaseGroup(REASON_COST,tp,c7770021.filter2,1,1,g:GetFirst())
g:Merge(g1)
else
g=Duel.SelectReleaseGroup(tp,c7770021.filter3,1,1,nil)
g=Duel.SelectReleaseGroup(REASON_COST,tp,c7770021.filter3,1,1,nil)
end
Duel.Release(g,REASON_COST)
end
......
......@@ -42,9 +42,9 @@ function l.activate2filter(c)
end
function l.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckReleaseGroup(tp,l.costfilter,1,nil,tp) end
if chk==0 then return Duel.CheckReleaseGroup(REASON_COST,tp,l.costfilter,1,nil,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local g=Duel.SelectReleaseGroup(tp,l.costfilter,1,1,nil,tp)
local g=Duel.SelectReleaseGroup(REASON_COST,tp,l.costfilter,1,1,nil,tp)
Duel.Release(g,REASON_COST)
end
......
......@@ -40,9 +40,9 @@ function c86379267.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
if e:GetLabel()~=100 then return false end
e:SetLabel(0)
return aux.MustMaterialCheck(nil,tp,EFFECT_MUST_BE_FMATERIAL) and Duel.CheckReleaseGroup(tp,c86379267.filter1,1,nil,e,tp)
return aux.MustMaterialCheck(nil,tp,EFFECT_MUST_BE_FMATERIAL) and Duel.CheckReleaseGroup(REASON_COST,tp,c86379267.filter1,1,nil,e,tp)
end
local rg=Duel.SelectReleaseGroup(tp,c86379267.filter1,1,1,nil,e,tp)
local rg=Duel.SelectReleaseGroup(REASON_COST,tp,c86379267.filter1,1,1,nil,e,tp)
e:SetLabel(rg:GetFirst():GetOriginalAttribute())
Duel.Release(rg,REASON_COST)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
......
......@@ -27,9 +27,9 @@ function c86379807.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
if e:GetLabel()~=100 then return false end
e:SetLabel(0)
return aux.MustMaterialCheck(nil,tp,EFFECT_MUST_BE_FMATERIAL) and Duel.CheckReleaseGroup(tp,c86379807.filter1,1,nil,e,tp)
return aux.MustMaterialCheck(nil,tp,EFFECT_MUST_BE_FMATERIAL) and Duel.CheckReleaseGroup(REASON_COST,tp,c86379807.filter1,1,nil,e,tp)
end
local rg=Duel.SelectReleaseGroup(tp,c86379807.filter1,1,1,nil,e,tp)
local rg=Duel.SelectReleaseGroup(REASON_COST,tp,c86379807.filter1,1,1,nil,e,tp)
Duel.Release(rg,REASON_COST)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end
......
......@@ -57,9 +57,9 @@ function M.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
if e:GetLabel() ~= 100 then return false end
e:SetLabel(0)
return Duel.GetLocationCount(tp, LOCATION_MZONE) >- 1 and Duel.CheckReleaseGroup(tp, M.cfilter, 1, nil, e, tp)
return Duel.GetLocationCount(tp, LOCATION_MZONE) >- 1 and Duel.CheckReleaseGroup(REASON_COST,tp, M.cfilter, 1, nil, e, tp)
end
local rg = Duel.SelectReleaseGroup(tp, M.cfilter, 1, 1, nil, e, tp)
local rg = Duel.SelectReleaseGroup(REASON_COST,tp, M.cfilter, 1, 1, nil, e, tp)
e:SetLabel(rg:GetFirst():GetLevel())
Duel.Release(rg, REASON_COST)
Duel.SetOperationInfo(0, CATEGORY_SPECIAL_SUMMON, nil, 1, tp, LOCATION_DECK)
......@@ -81,8 +81,8 @@ function M.cfilter2(c)
end
function M.cost2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckReleaseGroup(tp, M.cfilter2, 1, nil) end
local g = Duel.SelectReleaseGroup(tp, M.cfilter2, 1, 1, nil)
if chk==0 then return Duel.CheckReleaseGroup(REASON_COST,tp, M.cfilter2, 1, nil) end
local g = Duel.SelectReleaseGroup(REASON_COST,tp, M.cfilter2, 1, 1, nil)
Duel.Release(g, REASON_COST)
end
......
......@@ -20,8 +20,8 @@ function M.addEff1(c)
end
local function target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk == 0 then return Duel.CheckReleaseGroupEx(tp, costfilter, 1, nil, tp) end
local g = Duel.SelectReleaseGroupEx(tp, costfilter, 1, 1, nil, tp)
if chk == 0 then return Duel.CheckReleaseGroupEx(REASON_COST,tp, costfilter, 1, nil, tp) end
local g = Duel.SelectReleaseGroupEx(REASON_COST,tp, costfilter, 1, 1, nil, tp)
Duel.Release(g, REASON_COST)
local atk = g:GetFirst():GetAttack()
......
......@@ -75,7 +75,7 @@ function c999304.buildval(xyz, tp)
if c:IsFaceup() and c:IsRace(RACE_PLANT) then
if c:IsCanBeXyzMaterial(xyz) and c:GetLevel() == 2 then
return 2
elseif c:IsType(TYPE_TOKEN) and Duel.CheckReleaseGroup(tp, c999304.selffilter, 1, nil, c) and c:GetLevel() < 3 then
elseif c:IsType(TYPE_TOKEN) and Duel.CheckReleaseGroup(REASON_COST,tp, c999304.selffilter, 1, nil, c) and c:GetLevel() < 3 then
return c:GetLevel()
end
end
......
......@@ -68,8 +68,8 @@ function c999306.splimit(e,c,sump,sumtype,sumpos,targetp,se)
end
function c999306.cost2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckReleaseGroup(tp,Card.IsCode,1,nil,999300) and e:GetHandler():IsAbleToRemoveAsCost() end
local g=Duel.SelectReleaseGroup(tp,Card.IsCode,1,1,nil,999300)
if chk==0 then return Duel.CheckReleaseGroup(REASON_COST,tp,Card.IsCode,1,nil,999300) and e:GetHandler():IsAbleToRemoveAsCost() end
local g=Duel.SelectReleaseGroup(REASON_COST,tp,Card.IsCode,1,1,nil,999300)
Duel.Remove(e:GetHandler(),POS_FACEUP,REASON_COST)
Duel.Release(g,REASON_COST)
end
......
......@@ -49,7 +49,7 @@ end
function M.spfilter1(c, tp)
local flag = Duel.GetLocationCountFromEx(tp, tp, c, TYPE_FUSION) < 1
return (c:IsCode(999301) or c:IsCode(23001)) and c:IsCanBeFusionMaterial()
and Duel.CheckReleaseGroup(tp, M.spfilter2, 1, c, tp, flag)
and Duel.CheckReleaseGroup(REASON_COST,tp, M.spfilter2, 1, c, tp, flag)
end
function M.spfilter2(c, tp, flag)
......@@ -60,15 +60,15 @@ end
function M.spcon(e, c)
if c==nil then return true end
local tp=c:GetControler()
return Duel.CheckReleaseGroup(tp, M.spfilter1, 1, nil, tp)
return Duel.CheckReleaseGroup(REASON_COST,tp, M.spfilter1, 1, nil, tp)
end
function M.spop(e,tp,eg,ep,ev,re,r,rp,c)
local g1 = Duel.SelectReleaseGroup(tp, M.spfilter1, 1, 1, nil, tp)
local g1 = Duel.SelectReleaseGroup(REASON_COST,tp, M.spfilter1, 1, 1, nil, tp)
local c1 = g1:GetFirst()
local flag = Duel.GetLocationCountFromEx(tp, tp, c1, TYPE_FUSION) < 1
local g2 = Duel.SelectReleaseGroup(tp, M.spfilter2, 1, 1, c1, tp, flag)
local g2 = Duel.SelectReleaseGroup(REASON_COST,tp, M.spfilter2, 1, 1, c1, tp, flag)
g1:Merge(g2)
c:SetMaterial(g1)
......
......@@ -32,8 +32,8 @@ function M.costfilter(c)
end
function M.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk == 0 then return Duel.CheckReleaseGroup(tp, M.costfilter, 1, nil) end
local g = Duel.SelectReleaseGroup(tp,M.costfilter, 1, 1, nil)
if chk == 0 then return Duel.CheckReleaseGroup(REASON_COST,tp, M.costfilter, 1, nil) end
local g = Duel.SelectReleaseGroup(REASON_COST,tp,M.costfilter, 1, 1, nil)
e:SetLabel(g:GetFirst():GetAttack())
Duel.Release(g, REASON_COST)
end
......
......@@ -73,8 +73,8 @@ end
function M.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local c = e:GetHandler()
if chk==0 then return c:IsReleasable() and Duel.CheckReleaseGroup(tp, M.cfilter, 1, c) end
local g = Duel.SelectReleaseGroup(tp, M.cfilter, 1, 1, c)
if chk==0 then return c:IsReleasable() and Duel.CheckReleaseGroup(REASON_COST,tp, M.cfilter, 1, c) end
local g = Duel.SelectReleaseGroup(REASON_COST,tp, M.cfilter, 1, 1, c)
g:AddCard(c)
Duel.Release(g, REASON_COST)
end
......
......@@ -152,9 +152,9 @@ function M.target3(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
if e:GetLabel() ~= 100 then return false end
e:SetLabel(0)
return Duel.CheckReleaseGroup(tp, M.costfilter, 1, nil, e, tp)
return Duel.CheckReleaseGroup(REASON_COST,tp, M.costfilter, 1, nil, e, tp)
end
local rg = Duel.SelectReleaseGroup(tp, M.costfilter, 1, 1, nil, e, tp)
local rg = Duel.SelectReleaseGroup(REASON_COST,tp, M.costfilter, 1, 1, nil, e, tp)
e:SetLabel(rg:GetFirst():GetLevel())
Duel.Release(rg, REASON_COST)
Duel.SetOperationInfo(0, CATEGORY_SPECIAL_SUMMON, nil, 1, tp, LOCATION_EXTRA)
......
......@@ -33,8 +33,8 @@ function M.condition(e,tp,eg,ep,ev,re,r,rp)
end
function M.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckReleaseGroup(tp,Card.IsSetCard, 1, nil, 0xaa5) end
local g=Duel.SelectReleaseGroup(tp,Card.IsSetCard, 1, 1, nil, 0xaa5)
if chk==0 then return Duel.CheckReleaseGroup(REASON_COST,tp,Card.IsSetCard, 1, nil, 0xaa5) end
local g=Duel.SelectReleaseGroup(REASON_COST,tp,Card.IsSetCard, 1, 1, nil, 0xaa5)
Duel.Release(g, REASON_COST)
end
......
......@@ -36,8 +36,8 @@ function c99999002.costcon(e,tp,eg,ep,ev,re,r,rp)
end
function c99999002.costop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.CheckReleaseGroup(tp,nil,1,c) and Duel.SelectEffectYesNo(tp,c,aux.Stringid(99999002,0)) then
local g=Duel.SelectReleaseGroup(tp,nil,1,1,c)
if Duel.CheckReleaseGroup(REASON_COST,tp,nil,1,c) and Duel.SelectEffectYesNo(tp,c,aux.Stringid(99999002,0)) then
local g=Duel.SelectReleaseGroup(REASON_COST,tp,nil,1,1,c)
Duel.Release(g,REASON_COST)
else
Duel.Destroy(c,REASON_COST)
......
......@@ -91,8 +91,8 @@ function c99999009.hspcon(e,c)
return Duel.IsExistingMatchingCard(c99999009.hspfilter1,tp,LOCATION_MZONE,0,1,nil,tp,c) and Duel.IsExistingMatchingCard(c99999009.hspfilter2,tp,LOCATION_MZONE,0,1,nil,tp,c)
end
function c99999009.hspop(e,tp,eg,ep,ev,re,r,rp,c)
local g1=Duel.SelectReleaseGroup(tp,c99999009.hspfilter1,1,1,nil,tp,c)
local g2=Duel.SelectReleaseGroup(tp,c99999009.hspfilter2,1,1,nil,tp,c)
local g1=Duel.SelectReleaseGroup(REASON_COST,tp,c99999009.hspfilter1,1,1,nil,tp,c)
local g2=Duel.SelectReleaseGroup(REASON_COST,tp,c99999009.hspfilter2,1,1,nil,tp,c)
g1:Merge(g2)
c:SetMaterial(g1)
Duel.SendtoGrave(g1,REASON_COST)
......
......@@ -36,9 +36,9 @@ function c99999013.spfilter(c,e,tp)
return c:IsSetCard(0xc999) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c99999013.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckReleaseGroup(tp,c99999013.rfilter,1,nil,e,tp) end
if chk==0 then return Duel.CheckReleaseGroup(REASON_COST,tp,c99999013.rfilter,1,nil,e,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local g=Duel.SelectReleaseGroup(tp,c99999013.rfilter,1,1,nil,e,tp)
local g=Duel.SelectReleaseGroup(REASON_COST,tp,c99999013.rfilter,1,1,nil,e,tp)
Duel.Release(g,REASON_COST)
end
function c99999013.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
......
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