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

fix

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