Commit a1118c51 authored by Nemo Ma's avatar Nemo Ma

fix

parent 5edb25b1
......@@ -37,7 +37,7 @@ function cm.spfilter(c,e,tp)
return c:IsRace(RACE_MACHINE) and c:IsLevel(10) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function cm.fselect(g,tp)
return Duel.IsExistingMatchingCard(cm.xyzfilter,tp,LOCATION_EXTRA,0,1,nil,g,tp) and g:GetClassCount(Card.GetAttribute)==#g
return Duel.IsExistingMatchingCard(cm.xyzfilter,tp,LOCATION_EXTRA,0,1,nil,g,tp)
end
function cm.xyzfilter(c,g,tp)
return c:IsRace(RACE_MACHINE) and c:IsXyzSummonable(g,#g,#g) and Duel.GetLocationCountFromEx(tp,tp,g,c)>0
......@@ -51,7 +51,10 @@ function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
local g=Duel.GetMatchingGroup(cm.spfilter,tp,LOCATION_DECK,0,nil,e,tp)
if #g==0 then return false end
ft=math.min(g:GetClassCount(Card.GetAttribute),ft)
return g:CheckSubGroup(cm.fselect,1,ft,tp)
aux.GCheckAdditional=aux.dabcheck
local res=g:CheckSubGroup(cm.fselect,1,ft,tp)
aux.GCheckAdditional=nil
return res
end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
end
......@@ -65,9 +68,11 @@ function cm.activate(e,tp,eg,ep,ev,re,r,rp)
local g=ag:Filter(cm.spfilter,nil,e,tp)
if #g==0 then return false end
ft=math.min(g:GetClassCount(Card.GetAttribute),ft)
aux.GCheckAdditional=aux.dabcheck
if g:CheckSubGroup(cm.fselect,1,ft,tp) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=g:SelectSubGroup(tp,cm.fselect,false,1,ft,tp)
aux.GCheckAdditional=nil
if not sg then return end
for tc in aux.Next(sg) do
Duel.DisableShuffleCheck()
......@@ -87,7 +92,7 @@ function cm.activate(e,tp,eg,ep,ev,re,r,rp)
if #og>0 then
Duel.BreakEffect()
Duel.DisableShuffleCheck()
if Duel.SendtoHand(ag-og,1-tp,REASON_EFFECT) then Duel.ShuffleHand(1-tp) end
if Duel.SendtoHand(ag-og,1-tp,REASON_EFFECT)>0 then Duel.ShuffleHand(1-tp) end
if og:FilterCount(Card.IsLocation,nil,LOCATION_MZONE)==#sg then
local tg=Duel.GetMatchingGroup(cm.xyzfilter,tp,LOCATION_EXTRA,0,nil,og,tp)
if #tg>0 then
......@@ -98,6 +103,7 @@ function cm.activate(e,tp,eg,ep,ev,re,r,rp)
end
end
else
aux.GCheckAdditional=nil
Duel.ShuffleDeck(tp)
end
end
......
--救祓少女·斯塔米罗
--21.12.31
local m=11451644
local cm=_G["c"..m]
local cm,m=GetID()
function cm.initial_effect(c)
--link summon
aux.AddLinkProcedure(c,cm.matfilter,1,1)
......@@ -32,6 +31,21 @@ function cm.initial_effect(c)
e2:SetTarget(cm.sptg)
e2:SetOperation(cm.spop)
c:RegisterEffect(e2)
if cm.global_check==nil then
cm.global_check=true
local _SpecialSummon=Duel.SpecialSummon
local _SpecialSummonStep=Duel.SpecialSummonStep
function Duel.SpecialSummon(tg,...)
tg:KeepAlive()
cm[1]=tg
return _SpecialSummon(tg,...)
end
function Duel.SpecialSummonStep(tg,...)
tg:KeepAlive()
cm[1]=tg
return _SpecialSummonStep(tg,...)
end
end
end
function cm.matfilter(c)
return c:IsLinkSetCard(0x172) and not c:IsLinkType(TYPE_LINK)
......@@ -41,13 +55,16 @@ function cm.costcon(e)
if Duel.GetFieldGroupCount(tp,0,LOCATION_GRAVE)==0 then return false end
return true
end
function cm.tdfilter(c)
return c:IsAbleToDeckOrExtraAsCost() and not (cm[1] and aux.GetValueType(cm[1])=="Group" and cm[1]:IsContains(c))
end
function cm.costchk(e,te_or_c,tp)
local p=e:GetHandlerPlayer()
if p==tp then
return true
elseif cm[0] and (cm[0]:IsStatus(STATUS_SPSUMMON_STEP) or cm[0]:IsStatus(STATUS_SUMMONING)) then
return true
elseif Duel.IsExistingMatchingCard(Card.IsAbleToDeckOrExtraAsCost,tp,LOCATION_GRAVE,0,1,te_or_c) then
elseif Duel.IsExistingMatchingCard(cm.tdfilter,tp,LOCATION_GRAVE,0,1,te_or_c) then
e:SetLabelObject(te_or_c)
cm[0]=nil
return true
......@@ -60,7 +77,7 @@ function cm.costop(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetLabelObject()
if cm[0] then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local sg=Duel.SelectMatchingCard(tp,Card.IsAbleToDeckOrExtraAsCost,tp,LOCATION_GRAVE,0,1,1,tc)
local sg=Duel.SelectMatchingCard(tp,cm.tdfilter,tp,LOCATION_GRAVE,0,1,1,tc)
Duel.SendtoDeck(sg,nil,2,REASON_COST)
cm[0]=tc
end
......
......@@ -56,8 +56,7 @@ function s.mixop(e,tp,eg,ep,ev,re,r,rp)
else
local c = e:GetHandler()
if cct >= 3 then
if c:IsRelateToChain(0) and Duel.GetLocationCount(tp,LOCATION_MZONE) > 0 and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP) > 0 then
if c:IsRelateToChain(0) and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP) > 0 then
Duel.DiscardHand(1-tp,nil,1,1,REASON_EFFECT,nil)
end
end
......
......@@ -55,8 +55,7 @@ function s.mixop(e,tp,eg,ep,ev,re,r,rp)
else
local c = e:GetHandler()
if cct >= 3 then
if c:IsRelateToChain(0) and Duel.GetLocationCount(tp,LOCATION_MZONE) > 0 and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP) > 0 then
if c:IsRelateToChain(0) and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP) > 0 then
local dg = Duel.GetDecktopGroup(1-tp, 3)
if #dg > 0 then
Duel.Remove(dg,POS_FACEDOWN,REASON_EFFECT)
......
......@@ -19,34 +19,52 @@ function c29002020.initial_effect(c)
e2:SetCode(EFFECT_SPSUMMON_CONDITION)
e2:SetValue(c29002020.splimit)
c:RegisterEffect(e2)
--immune
--indes
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_IMMUNE_EFFECT)
e3:SetDescription(aux.Stringid(29002020,1))
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetRange(LOCATION_MZONE)
e3:SetTargetRange(LOCATION_MZONE,0)
e3:SetValue(c29002020.efilter)
c:RegisterEffect(e3)
end
e3:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e3:SetCountLimit(1)
e3:SetTarget(c29002020.itarget)
e3:SetOperation(c29002020.ioperation)
c:RegisterEffect(e3)
if not c29002020.global_check then
c29002020.global_check=true
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_SUMMON_SUCCESS)
ge1:SetOperation(c29002020.checkop)
Duel.RegisterEffect(ge1,0)
local ge2=ge1:Clone()
ge2:SetCode(EVENT_SPSUMMON_SUCCESS)
Duel.RegisterEffect(ge2,0)
end
end
function c29002020.checkop(e,tp,eg,ep,ev,re,r,rp)
local tc=eg:GetFirst()
while tc do
Duel.RegisterFlagEffect(0,29002020,RESET_PHASE+PHASE_END,0,1)
tc=eg:GetNext()
end
end
function c29002020.splimit(e,se,sp,st)
return not e:GetHandler():IsLocation(LOCATION_EXTRA)
end
function c29002020.hspfilter(c,ft,tp)
return (c:IsSetCard(0x87af) or (_G["c"..c:GetCode()] and _G["c"..c:GetCode()].named_with_Arknight))
and (ft>0 or c:IsControler(tp)) and (c:IsControler(tp) or c:IsFaceup())
end
function c29002020.sprcon(e,c)
if c==nil then return true end
local tp=c:GetControler()
local g=Duel.GetReleaseGroup(tp)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
local x=Duel.GetActivityCount(tp,ACTIVITY_SUMMON)+Duel.GetActivityCount(tp,ACTIVITY_SPSUMMON)+Duel.GetActivityCount(1-tp,ACTIVITY_SUMMON)+Duel.GetActivityCount(1-tp,ACTIVITY_SPSUMMON)
return x>=12 and Duel.GetLocationCountFromEx(tp,tp,nil,c)>0 and Duel.CheckReleaseGroup(tp,c29002020.mfilter,3,nil,ft,tp)
local x=Duel.GetFlagEffect(0,29002020)
return x>=12 and Duel.GetLocationCountFromEx(tp,tp,nil,c)>0 and (Duel.IsCanRemoveCounter(c:GetControler(),1,0,0x10ae,3,REASON_COST) or (Duel.GetFlagEffect(tp,29096814)==1 and Duel.IsCanRemoveCounter(c:GetControler(),1,0,0x10ae,2,REASON_COST)))
end
function c29002020.sprop(e,tp,eg,ep,ev,re,r,rp,c)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
local g=Duel.SelectReleaseGroup(tp,c29002020.mfilter,3,3,nil,ft,tp)
Duel.Release(g,REASON_RULE)
if Duel.GetFlagEffect(tp,29096814)==1 then
Duel.ResetFlagEffect(tp,29096814)
Duel.RemoveCounter(tp,1,0,0x10ae,2,REASON_RULE)
else
Duel.RemoveCounter(tp,1,0,0x10ae,3,REASON_RULE)
end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
......@@ -55,6 +73,28 @@ function c29002020.sprop(e,tp,eg,ep,ev,re,r,rp,c)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
function c29002020.itarget(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return true end
end
function c29002020.ioperation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_IMMUNE_EFFECT)
e2:SetValue(c29002020.efilter)
e2:SetTargetRange(LOCATION_MZONE,0)
e2:SetReset(RESET_PHASE+PHASE_END)
e2:SetOwnerPlayer(tp)
Duel.RegisterEffect(e2,tp)
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(29002020,2))
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(29002020)
e3:SetRange(LOCATION_MZONE)
e3:SetProperty(EFFECT_FLAG_CLIENT_HINT)
e3:SetTargetRange(1,0)
Duel.RegisterEffect(e3,tp)
end
function c29002020.efilter(e,te)
if te:GetOwnerPlayer()==e:GetHandlerPlayer() then return false end
if not te:IsHasProperty(EFFECT_FLAG_CARD_TARGET) then return true end
......
--方舟骑士·夕
c29002021.named_with_Arknight=1
function c29002021.initial_effect(c)
--xyz summon
c:EnableReviveLimit()
--indes
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(29002021,1))
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetRange(LOCATION_MZONE)
e3:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e3:SetCountLimit(1)
e3:SetCost(c29002021.icost)
e3:SetTarget(c29002021.itarget)
e3:SetOperation(c29002021.ioperation)
c:RegisterEffect(e3)
--
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e4:SetCode(EVENT_SPSUMMON_SUCCESS)
e4:SetOperation(c29002021.lrop)
c:RegisterEffect(e4)
end
function c29002021.ovfilter(c)
local tp=c:GetControler()
local x=Duel.GetActivityCount(tp,ACTIVITY_SUMMON)+Duel.GetActivityCount(tp,ACTIVITY_SPSUMMON)+Duel.GetActivityCount(1-tp,ACTIVITY_SUMMON)+Duel.GetActivityCount(1-tp,ACTIVITY_SPSUMMON)
return c:IsFaceup() and x>=12 and (c:IsSetCard(0x87af) or (_G["c"..c:GetCode()] and _G["c"..c:GetCode()].named_with_Arknight))
end
function c29002021.xyzop(e,tp,chk)
if chk==0 then return true end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetTargetRange(1,0)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
function c29002021.effcon(e)
return e:GetHandler():IsSummonType(SUMMON_TYPE_XYZ)
end
function c29002021.icost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end
e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST)
end
function c29002021.itarget(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return true end
end
function c29002021.ioperation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
--
c:EnableReviveLimit()
--spsummon condition
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_IMMUNE_EFFECT)
e1:SetValue(c29002021.efilter)
e1:SetTargetRange(0,LOCATION_ONFIELD)
e1:SetProperty(EFFECT_FLAG_SET_AVAILABLE)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
--poschange
local g=Duel.GetMatchingGroup(Card.IsFacedown,tp,0,LOCATION_MZONE,nil)
if g:GetCount()>0 then
Duel.ChangePosition(g,POS_FACEUP_ATTACK,POS_FACEUP_ATTACK,POS_FACEUP_ATTACK,POS_FACEUP_ATTACK,false)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetCode(EFFECT_SPSUMMON_CONDITION)
e1:SetValue(aux.ritlimit)
c:RegisterEffect(e1)
--token
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOKEN)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetTarget(c29002021.tktg)
e2:SetOperation(c29002021.tkop)
c:RegisterEffect(e2)
local e3=e2:Clone()
e3:SetCode(EVENT_ATTACK_ANNOUNCE)
e3:SetProperty(0)
c:RegisterEffect(e3)
end
function c29002021.tktg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsPlayerCanSpecialSummonMonster(tp,29020211,0,TYPES_TOKEN_MONSTER,2400,2400,12,RACE_WYRM,ATTRIBUTE_WATER) end
Duel.SetOperationInfo(0,CATEGORY_TOKEN,nil,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,0)
end
function c29002021.tkop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
if Duel.IsPlayerCanSpecialSummonMonster(tp,29020211,0,TYPES_TOKEN_MONSTER,2400,2400,12,RACE_WYRM,ATTRIBUTE_WATER) then
local token=Duel.CreateToken(tp,29020211)
Duel.SpecialSummon(token,0,tp,tp,false,false,POS_FACEUP)
end
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_FIELD)
e5:SetCode(EFFECT_SET_POSITION)
e5:SetTargetRange(0,LOCATION_MZONE)
e5:SetValue(POS_FACEUP_ATTACK)
e5:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e5,tp)
end
function c29002021.efilter(e,te,c)
return te:GetOwner()~=c and te:GetOwnerPlayer()~=e:GetOwnerPlayer()
end
function c29002021.lrop(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsSummonType(SUMMON_TYPE_XYZ) then return false end
end
\ No newline at end of file
......@@ -38,6 +38,24 @@ function c29002023.initial_effect(c)
e4:SetRange(LOCATION_MZONE)
e4:SetOperation(c29002023.atkop)
c:RegisterEffect(e4)
if not c29002023.global_check then
c29002023.global_check=true
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_SUMMON_SUCCESS)
ge1:SetOperation(c29002023.checkop)
Duel.RegisterEffect(ge1,0)
local ge2=ge1:Clone()
ge2:SetCode(EVENT_SPSUMMON_SUCCESS)
Duel.RegisterEffect(ge2,0)
end
end
function c29002023.checkop(e,tp,eg,ep,ev,re,r,rp)
local tc=eg:GetFirst()
while tc do
Duel.RegisterFlagEffect(0,29002023,RESET_PHASE+PHASE_END,0,1)
tc=eg:GetNext()
end
end
function c29002023.op0(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(24,0,aux.Stringid(29002023,0))
......@@ -54,7 +72,7 @@ function c29002023.damcon(e)
end
function c29002023.ovfilter(c)
local tp=c:GetControler()
local x=Duel.GetActivityCount(tp,ACTIVITY_SUMMON)+Duel.GetActivityCount(tp,ACTIVITY_SPSUMMON)+Duel.GetActivityCount(1-tp,ACTIVITY_SUMMON)+Duel.GetActivityCount(1-tp,ACTIVITY_SPSUMMON)
local x=Duel.GetFlagEffect(0,29002023)
return c:IsFaceup() and x>=12 and (c:IsSetCard(0x87af) or (_G["c"..c:GetCode()] and _G["c"..c:GetCode()].named_with_Arknight))
end
function c29002023.xyzop(e,tp,chk)
......
--画中人
function c29009255.initial_effect(c)
aux.AddCodeList(c,29002021)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_DECKDES)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,29009255+EFFECT_COUNT_CODE_OATH)
e1:SetTarget(c29009255.target)
e1:SetOperation(c29009255.activate)
c:RegisterEffect(e1)
if not c29009255.global_check then
c29009255.global_check=true
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_SUMMON_SUCCESS)
ge1:SetOperation(c29009255.checkop)
Duel.RegisterEffect(ge1,0)
local ge2=ge1:Clone()
ge2:SetCode(EVENT_SPSUMMON_SUCCESS)
Duel.RegisterEffect(ge2,0)
end
end
function c29009255.checkop(e,tp,eg,ep,ev,re,r,rp)
local tc=eg:GetFirst()
while tc do
Duel.RegisterFlagEffect(0,29009255,RESET_PHASE+PHASE_END,0,1)
tc=eg:GetNext()
end
end
function c29009255.dfilter(c,x)
return (c:IsSetCard(0x87af) or (_G["c"..c:GetCode()] and _G["c"..c:GetCode()].named_with_Arknight))
and c:IsLevelAbove(1) and c:IsAbleToGrave() and x>=12
end
function c29009255.filter(c)
return (c:IsSetCard(0x87af) or (_G["c"..c:GetCode()] and _G["c"..c:GetCode()].named_with_Arknight))
end
function c29009255.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
local mg=Duel.GetRitualMaterial(tp)
local x=Duel.GetFlagEffect(0,29009255)
local dg=Duel.GetMatchingGroup(c29009255.dfilter,tp,LOCATION_DECK,0,nil,x)
local res=Duel.IsExistingMatchingCard(aux.RitualUltimateFilter,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,nil,c29009255.filter,e,tp,mg,dg,Card.GetLevel,"Greater")
return res
end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND+LOCATION_GRAVE)
end
function c29009255.activate(e,tp,eg,ep,ev,re,r,rp)
::cancel::
local m=Duel.GetRitualMaterial(tp)
local x=Duel.GetFlagEffect(0,29009255)
local dg=Duel.GetMatchingGroup(c29009255.dfilter,tp,LOCATION_DECK,0,nil,x)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tg=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(aux.RitualUltimateFilter),tp,LOCATION_HAND+LOCATION_GRAVE,0,1,1,nil,c29009255.filter,e,tp,m,dg,Card.GetLevel,"Greater")
local tc=tg:GetFirst()
if tc then
local mg=m:Filter(Card.IsCanBeRitualMaterial,tc,tc)
mg:Merge(dg)
if tc.mat_filter then
mg=mg:Filter(tc.mat_filter,tc,tp)
else
mg:RemoveCard(tc)
end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
aux.GCheckAdditional=aux.RitualCheckAdditional(tc,tc:GetLevel(),"Greater")
local mat=mg:SelectSubGroup(tp,aux.RitualCheck,true,1,tc:GetLevel(),tp,tc,tc:GetLevel(),"Greater")
aux.GCheckAdditional=nil
if not mat then
goto cancel
end
tc:SetMaterial(mat)
local dmat=mat:Filter(Card.IsLocation,nil,LOCATION_DECK)
if dmat:GetCount()>0 then
mat:Sub(dmat)
Duel.SendtoGrave(dmat,REASON_EFFECT+REASON_MATERIAL+REASON_RITUAL)
end
Duel.ReleaseRitualMaterial(mat)
Duel.BreakEffect()
Duel.SpecialSummon(tc,SUMMON_TYPE_RITUAL,tp,tp,false,true,POS_FACEUP)
tc:CompleteProcedure()
end
end
--方舟骑士 泥岩
c72410180.named_with_Arknight=1
function c72410180.initial_effect(c)
--special summon rule
local e1=Effect.CreateEffect(c)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment