Commit bee69e75 authored by Tachibana's avatar Tachibana

12

parent 24d90108
Pipeline #3753 passed with stages
in 43 minutes and 53 seconds
...@@ -878,7 +878,7 @@ ...@@ -878,7 +878,7 @@
37564324 0 --残留的愿望·Coconatsu 37564324 0 --残留的愿望·Coconatsu
37564338 0 --恋色的舞姬·纱由里 37564338 0 --恋色的舞姬·纱由里
37564342 0 --西行寺·绫 37564342 0 --西行寺·绫
37564363 1 --半世纪之梦·雪花 37564353 1 --半世纪之梦·雪花
37564415 1 --百慕 拼搏才能·香蒂 37564415 1 --百慕 拼搏才能·香蒂
37564451 1 --百慕 冲击的相遇·莉普丝 37564451 1 --百慕 冲击的相遇·莉普丝
37564455 1 --百慕 依偎的浅眠·一夏 37564455 1 --百慕 依偎的浅眠·一夏
......
...@@ -105,7 +105,7 @@ function cm.spop1(e,tp,eg,ep,ev,re,r,rp) ...@@ -105,7 +105,7 @@ function cm.spop1(e,tp,eg,ep,ev,re,r,rp)
e2:SetType(EFFECT_TYPE_SINGLE) e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_CHANGE_TYPE) e2:SetCode(EFFECT_CHANGE_TYPE)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetValue(TYPE_SYNCHRO) e2:SetValue(TYPE_SYNCHRO+TYPE_MONSTER+TYPE_EFFECT)
e2:SetReset(RESET_EVENT+RESETS_STANDARD) e2:SetReset(RESET_EVENT+RESETS_STANDARD)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
......
...@@ -28,7 +28,7 @@ function cm.initial_effect(c) ...@@ -28,7 +28,7 @@ function cm.initial_effect(c)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function cm.costfilter(c) function cm.costfilter(c)
return c:IsType(TYPE_NORMAL) and c:IsAbleToGraveAsCost() return c:IsType(TYPE_XYZ) and c:IsAbleToGraveAsCost() and c:IsSetCard(0xce0)
end end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.costfilter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(cm.costfilter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) end
...@@ -56,7 +56,7 @@ function cm.thcost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -56,7 +56,7 @@ function cm.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.Release(e:GetHandler(),REASON_COST) Duel.Release(e:GetHandler(),REASON_COST)
end end
function cm.thfilter1(c) function cm.thfilter1(c)
return c:GetType()==TYPE_COUNTER and c:IsAbleToHand() and c:IsSetCard(0xce0) return c:IsType(TYPE_COUNTER) and c:IsType(TYPE_TRAP) and c:IsAbleToHand() and c:IsSetCard(0xce0)
end end
function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.thfilter1,tp,LOCATION_DECK,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(cm.thfilter1,tp,LOCATION_DECK,0,1,nil) end
......
...@@ -45,14 +45,10 @@ function cm.hspcon(e,c) ...@@ -45,14 +45,10 @@ function cm.hspcon(e,c)
if c==nil then return true end if c==nil then return true end
local tp=c:GetControler() local tp=c:GetControler()
local g1=Duel.GetReleaseGroup(tp):Filter(cm.rspfilter,nil,tp) local g1=Duel.GetReleaseGroup(tp):Filter(cm.rspfilter,nil,tp)
local g2=Duel.GetReleaseGroup(1-tp):Filter(cm.rspfilter,nil,tp)
g1:Merge(g2)
return g1:GetCount()>0 return g1:GetCount()>0
end end
function cm.hspop(e,tp,eg,ep,ev,re,r,rp,c) function cm.hspop(e,tp,eg,ep,ev,re,r,rp,c)
local g1=Duel.GetReleaseGroup(tp):Filter(cm.rspfilter,nil,tp) local g1=Duel.GetReleaseGroup(tp):Filter(cm.rspfilter,nil,tp)
local g2=Duel.GetReleaseGroup(1-tp):Filter(cm.rspfilter,nil,tp)
g1:Merge(g2)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local tc=g1:Select(tp,1,1,nil):GetFirst() local tc=g1:Select(tp,1,1,nil):GetFirst()
Duel.Release(tc,REASON_COST) Duel.Release(tc,REASON_COST)
......
...@@ -49,14 +49,36 @@ function cm.initial_effect(c) ...@@ -49,14 +49,36 @@ function cm.initial_effect(c)
c:RegisterEffect(e4) c:RegisterEffect(e4)
end end
function cm.remfilter(c,tp) function cm.remfilter(c,tp)
return c:IsAbleToRemove(tp,POS_FACEDOWN,REASON_COST) and c:IsType(TYPE_MONSTER) return c:IsAbleToRemove(tp,POS_FACEDOWN,REASON_COST)
end
function cm.typefilter(c)
if c:GetType()&(TYPE_SPELL+TYPE_TRAP)~=0 then
return c:GetType()&(TYPE_SPELL+TYPE_TRAP)
elseif c:GetType()&(TYPE_NORMAL+TYPE_RITUAL+TYPE_FUSION+TYPE_XYZ+TYPE_SYNCHRO+TYPE_LINK)~=0 then
return c:GetType()&(TYPE_NORMAL+TYPE_RITUAL+TYPE_FUSION+TYPE_XYZ+TYPE_SYNCHRO+TYPE_LINK)
else
return TYPE_EFFECT
end
end
function cm.typefilter1(c,tc)
return cm.typefilter(c)==cm.typefilter(tc)
end
function cm.gfilter(g)
return g:GetClassCount(cm.typefilter)==#g
end end
function cm.mtop(e,tp,eg,ep,ev,re,r,rp) function cm.mtop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(cm.remfilter,tp,LOCATION_DECK+LOCATION_GRAVE+LOCATION_EXTRA,0,nil) local g=Duel.GetMatchingGroup(cm.remfilter,tp,LOCATION_DECK+LOCATION_GRAVE+LOCATION_EXTRA,0,nil)
if g:GetClassCount(Card.GetCode)>=7 then local sg=Group.CreateGroup()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE) if g:GetClassCount(cm.typefilter)>=9 then
local rg=g:SelectSubGroup(tp,aux.dncheck,false,7,7) for i=1,7 do
Duel.Remove(rg,POS_FACEDOWN,REASON_COST) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local tc=g:Select(tp,1,1,nil):GetFirst()
if tc then
sg:AddCard(tc)
g:Remove(cm.typefilter1,nil,tc)
end
end
Duel.Remove(sg,POS_FACEDOWN,REASON_COST)
else else
Duel.SendtoGrave(e:GetHandler(),REASON_COST) Duel.SendtoGrave(e:GetHandler(),REASON_COST)
end end
...@@ -102,11 +124,19 @@ end ...@@ -102,11 +124,19 @@ end
function cm.skipcost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.skipcost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
local g=Duel.GetMatchingGroup(cm.remfilter,tp,LOCATION_DECK+LOCATION_GRAVE+LOCATION_EXTRA,0,nil) local g=Duel.GetMatchingGroup(cm.remfilter,tp,LOCATION_DECK+LOCATION_GRAVE+LOCATION_EXTRA,0,nil)
if chk==0 then return c:IsAbleToRemove(tp,POS_FACEDOWN,REASON_COST) and g:GetClassCount(Card.GetCode)>=9 end if chk==0 then return c:IsAbleToRemove(tp,POS_FACEDOWN,REASON_COST) and g:GetClassCount(cm.typefilter)>=9 end
local sg=Group.CreateGroup()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local rg=g:SelectSubGroup(tp,aux.dncheck,false,9,9) for i=1,9 do
rg:AddCard(c) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
Duel.Remove(rg,POS_FACEDOWN,REASON_COST) local tc=g:Select(tp,1,1,nil):GetFirst()
if tc then
sg:AddCard(tc)
g:Remove(cm.typefilter1,nil,tc)
end
end
sg:AddCard(c)
Duel.Remove(sg,POS_FACEDOWN,REASON_COST)
end end
function cm.skiptg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.skiptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return not Duel.IsPlayerAffectedByEffect(1-tp,EFFECT_SKIP_TURN) end if chk==0 then return not Duel.IsPlayerAffectedByEffect(1-tp,EFFECT_SKIP_TURN) end
......
...@@ -24,7 +24,7 @@ function cm.atkop(e,tp,eg,ep,ev,re,r,rp) ...@@ -24,7 +24,7 @@ function cm.atkop(e,tp,eg,ep,ev,re,r,rp)
local t_flag_2=true local t_flag_2=true
local tossp=1-tp local tossp=1-tp
local num=0 local num=0
while (flag==false or flag_1==false) do while (flag==false and flag_1==false) do
tossp=1-tossp tossp=1-tossp
num=num+1 num=num+1
Duel.Hint(HINT_SELECTMSG,tossp,HINTMSG_COIN) Duel.Hint(HINT_SELECTMSG,tossp,HINTMSG_COIN)
......
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