Commit 2d3e8f56 authored by Nemo Ma's avatar Nemo Ma

fix

parent 02401a9c
--革命的根据地
local m=11451453
local cm=_G["c"..m]
local cm,m=GetID()
function cm.initial_effect(c)
aux.AddCodeList(c,99518961)
--activate
......@@ -48,8 +47,9 @@ function cm.filter3(c,e,tp)
end
function cm.reptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return eg:IsExists(cm.filter1,1,nil,tp) and Duel.GetTurnPlayer()~=tp end
local g=eg:Filter(cm.filter1,nil,tp)
Duel.HintSelection(g)
if Duel.SelectYesNo(tp,aux.Stringid(m,0)) then
local g=eg:Filter(cm.filter1,nil,tp)
local ct=g:GetCount()
if ct>1 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RTOHAND)
......
--灰黯音核「启」
--21.04.13
local m=11451462
local cm=_G["c"..m]
local cm,m=GetID()
function cm.initial_effect(c)
--activate
local e1=Effect.CreateEffect(c)
......@@ -111,12 +110,16 @@ function cm.spop(e,tp,eg,ep,ev,re,r,rp)
if tc then tg:AddCard(sc) end
end
if not tg or #tg==0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tc=tg:Select(tp,1,1,nil):GetFirst()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
aux.GCheckAdditional=cm.hspgcheck
local rg=mg:SelectSubGroup(tp,cm.hspcheck,false,1,#mg,cm.lvplus(tc),tp)
aux.GCheckAdditional=nil
local rg=Group.CreateGroup()
local tc=tg:GetFirst()
while not rg or #rg==0 do
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
tc=tg:Select(tp,1,1,nil):GetFirst()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
aux.GCheckAdditional=cm.hspgcheck
rg=mg:SelectSubGroup(tp,cm.hspcheck,true,1,#mg,cm.lvplus(tc),tp)
aux.GCheckAdditional=nil
end
local tg=rg:Filter(cm.filter5,nil)
if not tg or #tg==0 then
if Duel.Remove(rg,POS_FACEUP,REASON_EFFECT)>0 then Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP) end
......
--激跃和弦「涌」
local m=11451463
local cm=_G["c"..m]
local cm,m=GetID()
function cm.initial_effect(c)
--search
local e1=Effect.CreateEffect(c)
......@@ -115,12 +114,16 @@ function cm.spop(e,tp,eg,ep,ev,re,r,rp)
if tc then tg:AddCard(sc) end
end
if not tg or #tg==0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tc=tg:Select(tp,1,1,nil):GetFirst()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
aux.GCheckAdditional=cm.hspgcheck
local rg=mg:SelectSubGroup(tp,cm.hspcheck,false,1,#mg,cm.lvplus(tc),tp)
aux.GCheckAdditional=nil
local rg=Group.CreateGroup()
local tc=tg:GetFirst()
while not rg or #rg==0 do
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
tc=tg:Select(tp,1,1,nil):GetFirst()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
aux.GCheckAdditional=cm.hspgcheck
rg=mg:SelectSubGroup(tp,cm.hspcheck,true,1,#mg,cm.lvplus(tc),tp)
aux.GCheckAdditional=nil
end
local tg=rg:Filter(cm.filter5,nil)
if not tg or #tg==0 then
if Duel.Remove(rg,POS_FACEUP,REASON_EFFECT)>0 then Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP) end
......
--惊雷十进音「殛」
local m=11451464
local cm=_G["c"..m]
local cm,m=GetID()
function cm.initial_effect(c)
--public
local e1=Effect.CreateEffect(c)
......@@ -171,12 +170,16 @@ function cm.spop(e,tp,eg,ep,ev,re,r,rp)
if tc then tg:AddCard(sc) end
end
if not tg or #tg==0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tc=tg:Select(tp,1,1,nil):GetFirst()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
aux.GCheckAdditional=cm.hspgcheck
local rg=mg:SelectSubGroup(tp,cm.hspcheck,false,1,#mg,cm.lvplus(tc),tp)
aux.GCheckAdditional=nil
local rg=Group.CreateGroup()
local tc=tg:GetFirst()
while not rg or #rg==0 do
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
tc=tg:Select(tp,1,1,nil):GetFirst()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
aux.GCheckAdditional=cm.hspgcheck
rg=mg:SelectSubGroup(tp,cm.hspcheck,true,1,#mg,cm.lvplus(tc),tp)
aux.GCheckAdditional=nil
end
local tg=rg:Filter(cm.filter5,nil)
if not tg or #tg==0 then
if Duel.Remove(rg,POS_FACEUP,REASON_EFFECT)>0 then Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP) end
......
--乱躁百裂音「镇」
local m=11451465
local cm=_G["c"..m]
local cm,m=GetID()
function cm.initial_effect(c)
--change code
local e1=Effect.CreateEffect(c)
......@@ -149,12 +148,16 @@ function cm.spop(e,tp,eg,ep,ev,re,r,rp)
if tc then tg:AddCard(sc) end
end
if not tg or #tg==0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tc=tg:Select(tp,1,1,nil):GetFirst()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
aux.GCheckAdditional=cm.hspgcheck
local rg=mg:SelectSubGroup(tp,cm.hspcheck,false,1,#mg,cm.lvplus(tc),tp)
aux.GCheckAdditional=nil
local rg=Group.CreateGroup()
local tc=tg:GetFirst()
while not rg or #rg==0 do
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
tc=tg:Select(tp,1,1,nil):GetFirst()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
aux.GCheckAdditional=cm.hspgcheck
rg=mg:SelectSubGroup(tp,cm.hspcheck,true,1,#mg,cm.lvplus(tc),tp)
aux.GCheckAdditional=nil
end
local tg=rg:Filter(cm.filter5,nil)
if not tg or #tg==0 then
if Duel.Remove(rg,POS_FACEUP,REASON_EFFECT)>0 then Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP) end
......
--烈欲千变音「燎」
local m=11451466
local cm=_G["c"..m]
local cm,m=GetID()
function cm.initial_effect(c)
--act in hand
local e1=Effect.CreateEffect(c)
......@@ -78,7 +77,7 @@ end
function cm.fselect(g,ng,goal,tp)
if not (g:IsExists(cm.filter4,1,nil) and g:GetSum(cm.lvplus)>=goal) then
return false
elseif g:GetSum(cm.lvplus)==goal then
elseif g:GetSum(cm.lvplus)==goal and Duel.GetMZoneCount(tp,g)>0 then
return true
end
aux.GCheckAdditional=cm.hspgcheck2
......@@ -164,18 +163,28 @@ function cm.spop(e,tp,eg,ep,ev,re,r,rp)
if tc then tg:AddCard(sc) end
end
if not tg or #tg==0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tc=tg:Select(tp,1,1,nil):GetFirst()
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(m,6))
aux.GCheckAdditional=cm.hspgcheck
local rg=trg:SelectSubGroup(tp,cm.hspcheck,false,1,#trg,ng,cm.lvplus(tc),tp)
if rg:GetSum(cm.lvplus)>cm.lvplus(tc) then
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(m,7))
aux.GCheckAdditional=cm.hspgcheck2
local rg2=ng:SelectSubGroup(tp,cm.hspcheck2,false,1,#ng,rg,rg:GetSum(cm.lvplus)-cm.lvplus(tc),tp)
rg:Merge(rg2)
local rg,rg2=Group.CreateGroup(),Group.CreateGroup()
local tc=tg:GetFirst()
local res=false
while not res do
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
tc=tg:Select(tp,1,1,nil):GetFirst()
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(m,6))
aux.GCheckAdditional=cm.hspgcheck
rg=trg:SelectSubGroup(tp,cm.hspcheck,true,1,#trg,ng,cm.lvplus(tc),tp)
if rg and #rg>0 and rg:GetSum(cm.lvplus)>cm.lvplus(tc) then
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(m,7))
aux.GCheckAdditional=cm.hspgcheck2
rg2=ng:SelectSubGroup(tp,cm.hspcheck2,true,1,#ng,rg,rg:GetSum(cm.lvplus)-cm.lvplus(tc),tp)
if rg2 and #rg2>0 then
res=true
rg:Merge(rg2)
end
elseif rg and #rg>0 and rg:GetSum(cm.lvplus)==cm.lvplus(tc) then
res=true
end
aux.GCheckAdditional=nil
end
aux.GCheckAdditional=nil
local tg=rg:Filter(cm.filter5,nil)
if not tg or #tg==0 then
if Duel.Remove(rg,POS_FACEUP,REASON_EFFECT)>0 then Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP) end
......
--碎灭万华音「萤」
local m=11451467
local cm=_G["c"..m]
local cm,m=GetID()
function cm.initial_effect(c)
--change code
local e1=Effect.CreateEffect(c)
......@@ -81,7 +80,7 @@ end
function cm.fselect(g,ng,goal,tp)
if not (g:IsExists(cm.filter4,1,nil) and g:GetSum(cm.lvplus)>=goal) then
return false
elseif g:GetSum(cm.lvplus)==goal then
elseif g:GetSum(cm.lvplus)==goal and Duel.GetMZoneCount(tp,g)>0 then
return true
end
aux.GCheckAdditional=cm.hspgcheck2
......@@ -193,18 +192,28 @@ function cm.spop(e,tp,eg,ep,ev,re,r,rp)
if tc then tg:AddCard(sc) end
end
if not tg or #tg==0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tc=tg:Select(tp,1,1,nil):GetFirst()
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(m,6))
aux.GCheckAdditional=cm.hspgcheck
local rg=trg:SelectSubGroup(tp,cm.hspcheck,false,1,#trg,ng,cm.lvplus(tc),tp)
if rg:GetSum(cm.lvplus)>cm.lvplus(tc) then
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(m,7))
aux.GCheckAdditional=cm.hspgcheck2
local rg2=ng:SelectSubGroup(tp,cm.hspcheck2,false,1,#ng,rg,rg:GetSum(cm.lvplus)-cm.lvplus(tc),tp)
rg:Merge(rg2)
local rg,rg2=Group.CreateGroup(),Group.CreateGroup()
local tc=tg:GetFirst()
local res=false
while not res do
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
tc=tg:Select(tp,1,1,nil):GetFirst()
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(m,6))
aux.GCheckAdditional=cm.hspgcheck
rg=trg:SelectSubGroup(tp,cm.hspcheck,true,1,#trg,ng,cm.lvplus(tc),tp)
if rg and #rg>0 and rg:GetSum(cm.lvplus)>cm.lvplus(tc) then
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(m,7))
aux.GCheckAdditional=cm.hspgcheck2
rg2=ng:SelectSubGroup(tp,cm.hspcheck2,true,1,#ng,rg,rg:GetSum(cm.lvplus)-cm.lvplus(tc),tp)
if rg2 and #rg2>0 then
res=true
rg:Merge(rg2)
end
elseif rg and #rg>0 and rg:GetSum(cm.lvplus)==cm.lvplus(tc) then
res=true
end
aux.GCheckAdditional=nil
end
aux.GCheckAdditional=nil
local tg=rg:Filter(cm.filter5,nil)
if not tg or #tg==0 then
if Duel.Remove(rg,POS_FACEUP,REASON_EFFECT)>0 then Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP) end
......
--珂拉琪残像 失焦
local m=11451521
local cm=_G["c"..m]
local cm,m=GetID()
function cm.initial_effect(c)
--pendulum summon
aux.EnablePendulumAttribute(c)
......@@ -49,9 +48,11 @@ function cm.reptg(e,tp,eg,ep,ev,re,r,rp,chk)
if Duel.CheckLocation(tp,LOCATION_PZONE,0) then num=num+1 end
if Duel.CheckLocation(tp,LOCATION_PZONE,1) then num=num+1 end
if chk==0 then return (#Group.__band(tg,eg)>0 or num>0) and eg:IsExists(cm.repfilter,1,c,tp) end
if Duel.GetFlagEffect(tp,m)~=0 or not Duel.SelectYesNo(tp,aux.Stringid(m,0)) then return false end
Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1)
local g=eg:Filter(cm.repfilter,c,tp)
if Duel.GetFlagEffect(tp,m)~=0 then return false end
Duel.HintSelection(g)
if not Duel.SelectYesNo(tp,aux.Stringid(m,0)) then return false end
Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1)
if #g>1 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD)
g=g:Select(tp,1,#Group.__band(tg,eg)+num,nil)
......
--珂拉琪残像 渲染
local m=11451522
local cm=_G["c"..m]
local cm,m=GetID()
function cm.initial_effect(c)
--pendulum summon
aux.EnablePendulumAttribute(c)
......@@ -49,9 +48,11 @@ function cm.reptg(e,tp,eg,ep,ev,re,r,rp,chk)
if Duel.CheckLocation(tp,LOCATION_PZONE,0) then num=num+1 end
if Duel.CheckLocation(tp,LOCATION_PZONE,1) then num=num+1 end
if chk==0 then return (#Group.__band(tg,eg)>0 or num>0) and eg:IsExists(cm.repfilter,1,c,tp) end
if Duel.GetFlagEffect(tp,m)~=0 or not Duel.SelectYesNo(tp,aux.Stringid(m,0)) then return false end
Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1)
local g=eg:Filter(cm.repfilter,c,tp)
if Duel.GetFlagEffect(tp,m)~=0 then return false end
Duel.HintSelection(g)
if not Duel.SelectYesNo(tp,aux.Stringid(m,0)) then return false end
Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1)
if #g>1 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD)
g=g:Select(tp,1,#Group.__band(tg,eg)+num,nil)
......
--珂拉琪残像 剪影
local m=11451523
local cm=_G["c"..m]
local cm,m=GetID()
function cm.initial_effect(c)
--pendulum summon
aux.EnablePendulumAttribute(c)
......@@ -50,9 +49,11 @@ function cm.reptg(e,tp,eg,ep,ev,re,r,rp,chk)
if Duel.CheckLocation(tp,LOCATION_PZONE,0) then num=num+1 end
if Duel.CheckLocation(tp,LOCATION_PZONE,1) then num=num+1 end
if chk==0 then return (#Group.__band(tg,eg)>0 or num>0) and eg:IsExists(cm.repfilter,1,c,tp) end
if Duel.GetFlagEffect(tp,m)~=0 or not Duel.SelectYesNo(tp,aux.Stringid(m,0)) then return false end
Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1)
local g=eg:Filter(cm.repfilter,c,tp)
if Duel.GetFlagEffect(tp,m)~=0 then return false end
Duel.HintSelection(g)
if not Duel.SelectYesNo(tp,aux.Stringid(m,0)) then return false end
Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1)
if #g>1 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD)
g=g:Select(tp,1,#Group.__band(tg,eg)+num,nil)
......
--珂拉琪残像 拼贴
local m=11451524
local cm=_G["c"..m]
local cm,m=GetID()
function cm.initial_effect(c)
--pendulum summon
aux.EnablePendulumAttribute(c)
......@@ -49,9 +48,11 @@ function cm.reptg(e,tp,eg,ep,ev,re,r,rp,chk)
if Duel.CheckLocation(tp,LOCATION_PZONE,0) then num=num+1 end
if Duel.CheckLocation(tp,LOCATION_PZONE,1) then num=num+1 end
if chk==0 then return (#Group.__band(tg,eg)>0 or num>0) and eg:IsExists(cm.repfilter,1,c,tp) end
if Duel.GetFlagEffect(tp,m)~=0 or not Duel.SelectYesNo(tp,aux.Stringid(m,0)) then return false end
Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1)
local g=eg:Filter(cm.repfilter,c,tp)
if Duel.GetFlagEffect(tp,m)~=0 then return false end
Duel.HintSelection(g)
if not Duel.SelectYesNo(tp,aux.Stringid(m,0)) then return false end
Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1)
if #g>1 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD)
g=g:Select(tp,1,#Group.__band(tg,eg)+num,nil)
......
--珂拉琪虚影 逆光
local m=11451525
local cm=_G["c"..m]
local cm,m=GetID()
function cm.initial_effect(c)
--pendulum summon
aux.EnablePendulumAttribute(c)
......@@ -48,9 +47,11 @@ function cm.reptg(e,tp,eg,ep,ev,re,r,rp,chk)
if Duel.CheckLocation(tp,LOCATION_PZONE,0) then num=num+1 end
if Duel.CheckLocation(tp,LOCATION_PZONE,1) then num=num+1 end
if chk==0 then return (#Group.__band(tg,eg)>0 or num>0) and eg:IsExists(cm.repfilter,1,c,tp) end
if Duel.GetFlagEffect(tp,m)~=0 or not Duel.SelectYesNo(tp,aux.Stringid(m,0)) then return false end
Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1)
local g=eg:Filter(cm.repfilter,c,tp)
if Duel.GetFlagEffect(tp,m)~=0 then return false end
Duel.HintSelection(g)
if not Duel.SelectYesNo(tp,aux.Stringid(m,0)) then return false end
Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1)
if #g>1 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD)
g=g:Select(tp,1,#Group.__band(tg,eg)+num,nil)
......
--珂拉琪虚影 负片
local m=11451526
local cm=_G["c"..m]
local cm,m=GetID()
function cm.initial_effect(c)
--pendulum summon
aux.EnablePendulumAttribute(c)
......@@ -48,9 +47,11 @@ function cm.reptg(e,tp,eg,ep,ev,re,r,rp,chk)
if Duel.CheckLocation(tp,LOCATION_PZONE,0) then num=num+1 end
if Duel.CheckLocation(tp,LOCATION_PZONE,1) then num=num+1 end
if chk==0 then return (#Group.__band(tg,eg)>0 or num>0) and eg:IsExists(cm.repfilter,1,c,tp) end
if Duel.GetFlagEffect(tp,m)~=0 or not Duel.SelectYesNo(tp,aux.Stringid(m,0)) then return false end
Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1)
local g=eg:Filter(cm.repfilter,c,tp)
if Duel.GetFlagEffect(tp,m)~=0 then return false end
Duel.HintSelection(g)
if not Duel.SelectYesNo(tp,aux.Stringid(m,0)) then return false end
Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1)
if #g>1 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD)
g=g:Select(tp,1,#Group.__band(tg,eg)+num,nil)
......
......@@ -110,9 +110,11 @@ function cm.reptg(e,tp,eg,ep,ev,re,r,rp,chk)
if Duel.CheckLocation(tp,LOCATION_PZONE,0) then num=num+1 end
if Duel.CheckLocation(tp,LOCATION_PZONE,1) then num=num+1 end
if chk==0 then return (#Group.__band(tg,eg)>0 or num>0) and eg:IsExists(cm.repfilter,1,c,tp) end
if Duel.GetFlagEffect(tp,m)~=0 or not Duel.SelectYesNo(tp,aux.Stringid(m,0)) then return false end
Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1)
local g=eg:Filter(cm.repfilter,c,tp)
if Duel.GetFlagEffect(tp,m)~=0 then return false end
Duel.HintSelection(g)
if not Duel.SelectYesNo(tp,aux.Stringid(m,0)) then return false end
Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1)
if #g>1 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD)
g=g:Select(tp,1,#Group.__band(tg,eg)+num,nil)
......
......@@ -33,7 +33,7 @@ function c29058187.cost2(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.RemoveCounter(tp,1,0,0x10ae,2,REASON_COST)
end
function c29058187.filter2(c)
return (c:IsType(TYPE_SPELL+TYPE_TRAP) and c:IsType(TYPE_CONTINUOUS)) and (c:IsSetCard(0x87af) or (_G["c"..c:GetCode()] and _G["c"..c:GetCode()].named_with_Arknight)) and not c:IsCode(29058187) and c:IsAbleToHand()
return c:IsType(TYPE_SPELL+TYPE_TRAP) and (c:IsSetCard(0x87af) or (_G["c"..c:GetCode()] and _G["c"..c:GetCode()].named_with_Arknight)) and not c:IsCode(29058187) and c:IsAbleToHand()
end
function c29058187.tg2(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return Duel.IsExistingMatchingCard(c29058187.filter2,tp,LOCATION_DECK,0,1,nil) end
......@@ -55,7 +55,7 @@ function c29058187.nttg(e,c)
return c:IsLevelAbove(5) and (c:IsSetCard(0x87af) or (_G["c"..c:GetCode()] and _G["c"..c:GetCode()].named_with_Arknight))
end
function c29058187.cfilter(c,tp)
return c:IsFaceup() and (c:IsSetCard(0x87af) or (_G["c"..c:GetCode()] and _G["c"..c:GetCode()].named_with_Arknight)) and c:IsSummonType(SUMMON_TYPE_SPECIAL) and c:IsPreviousLocation(LOCATION_EXTRA)
return c:IsFaceup() and (c:IsSetCard(0x87af) or (_G["c"..c:GetCode()] and _G["c"..c:GetCode()].named_with_Arknight)) and c:IsSummonType(SUMMON_TYPE_SPECIAL) and c:IsPreviousLocation(LOCATION_EXTRA) and c:IsControler(tp)
end
function c29058187.counterop(e,tp,eg,ep,ev,re,r,rp)
if eg:IsExists(c29058187.cfilter,1,nil,tp) then
......
......@@ -58,7 +58,7 @@ function c29065577.nttg(e,c)
return c:IsLevelAbove(5) and (c:IsSetCard(0x87af) or (_G["c"..c:GetCode()] and _G["c"..c:GetCode()].named_with_Arknight))
end
function c29065577.cfilter(c,tp)
return c:IsFaceup() and (c:IsSetCard(0x87af) or (_G["c"..c:GetCode()] and _G["c"..c:GetCode()].named_with_Arknight)) and (c:IsSummonType(SUMMON_TYPE_NORMAL) or c:IsSummonType(SUMMON_TYPE_SPECIAL)) and c:IsPreviousLocation(LOCATION_HAND+LOCATION_DECK)
return c:IsFaceup() and (c:IsSetCard(0x87af) or (_G["c"..c:GetCode()] and _G["c"..c:GetCode()].named_with_Arknight)) and (c:IsSummonType(SUMMON_TYPE_NORMAL) or c:IsSummonType(SUMMON_TYPE_SPECIAL)) and c:IsPreviousLocation(LOCATION_HAND+LOCATION_DECK) and c:IsControler(tp)
end
function c29065577.counterop(e,tp,eg,ep,ev,re,r,rp)
if eg:IsExists(c29065577.cfilter,1,nil,tp) then
......
--方舟骑士-W
local cm,m=GetID()
cm.named_with_Arknight=1
function cm.initial_effect(c)
aux.AddCodeList(c,29065500)
--special summon
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
......@@ -48,6 +48,7 @@ function cm.destg(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
local fd=Duel.SelectDisableField(tp,1,LOCATION_MZONE,LOCATION_MZONE,0xe000e0)
Duel.SetTargetParam(fd)
Duel.Hint(HINT_ZONE,tp,fd)
end
function cm.desop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -57,7 +57,7 @@ function cm.spfilter(c,e,tp)
return cm.Revenger(c) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function cm.clfilter(c)
return c:IsType(TYPE_MONSTER) and c:IsControlerCanBeChanged()
return c:IsType(TYPE_MONSTER) and c:IsControlerCanBeChanged() and c:IsFaceup()
end
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
......@@ -65,14 +65,12 @@ function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
-- if Duel.GetLocationCount(tp,LOCATION_MZONE)<1 then loc=LOCATION_MZONE end
return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(cm.cfilter,tp,LOCATION_HAND+LOCATION_DECK,0,1,nil)
and e:GetHandler():IsCanBeSpecialSummoned(e,SUMMON_TYPE_RITUAL,tp,false,true)
and e:GetHandler():IsCanBeSpecialSummoned(e,SUMMON_TYPE_RITUAL,tp,true,false)
end
Duel.SetOperationInfo(0,CATEGORY_RELEASE,nil,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
if Duel.GetLP(tp)<=1000 and Duel.IsExistingMatchingCard(cm.clfilter,tp,0,LOCATION_MZONE,1,nil) then e:SetLabel(1)
Duel.SetOperationInfo(0,CATEGORY_CONTROL,nil,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_CONTROL,nil,1,0,0)
else
e:SetLabel(0)
end
......@@ -87,7 +85,7 @@ function cm.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
c:SetMaterial(nil)
Duel.SpecialSummon(c,SUMMON_TYPE_RITUAL,tp,tp,false,true,POS_FACEUP)
Duel.SpecialSummon(c,SUMMON_TYPE_RITUAL,tp,tp,true,false,POS_FACEUP)
c:CompleteProcedure()
if e:GetLabel()==1 and gg:GetCount()>0 then
Duel.BreakEffect()
......
......@@ -18,6 +18,7 @@ function cm.initial_effect(c)
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e2:SetRange(LOCATION_GRAVE)
e2:SetCountLimit(1,m+100)
......
......@@ -34,6 +34,7 @@ function cm.initial_effect(c)
e2:SetDescription(aux.Stringid(m,2))
e2:SetCategory(CATEGORY_TOEXTRA+CATEGORY_DRAW)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetRange(LOCATION_GRAVE)
e2:SetCountLimit(1,m+101)
e2:SetTarget(cm.tg3)
......
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