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 @@
37564324 0 --残留的愿望·Coconatsu
37564338 0 --恋色的舞姬·纱由里
37564342 0 --西行寺·绫
37564363 1 --半世纪之梦·雪花
37564353 1 --半世纪之梦·雪花
37564415 1 --百慕 拼搏才能·香蒂
37564451 1 --百慕 冲击的相遇·莉普丝
37564455 1 --百慕 依偎的浅眠·一夏
......
......@@ -105,7 +105,7 @@ function cm.spop1(e,tp,eg,ep,ev,re,r,rp)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_CHANGE_TYPE)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetValue(TYPE_SYNCHRO)
e2:SetValue(TYPE_SYNCHRO+TYPE_MONSTER+TYPE_EFFECT)
e2:SetReset(RESET_EVENT+RESETS_STANDARD)
c:RegisterEffect(e2)
end
......
......@@ -28,7 +28,7 @@ function cm.initial_effect(c)
c:RegisterEffect(e2)
end
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
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
......@@ -56,7 +56,7 @@ function cm.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.Release(e:GetHandler(),REASON_COST)
end
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
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
......
......@@ -45,14 +45,10 @@ function cm.hspcon(e,c)
if c==nil then return true end
local tp=c:GetControler()
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
end
function cm.hspop(e,tp,eg,ep,ev,re,r,rp,c)
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)
local tc=g1:Select(tp,1,1,nil):GetFirst()
Duel.Release(tc,REASON_COST)
......
......@@ -49,14 +49,36 @@ function cm.initial_effect(c)
c:RegisterEffect(e4)
end
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
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)
if g:GetClassCount(Card.GetCode)>=7 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local rg=g:SelectSubGroup(tp,aux.dncheck,false,7,7)
Duel.Remove(rg,POS_FACEDOWN,REASON_COST)
local sg=Group.CreateGroup()
if g:GetClassCount(cm.typefilter)>=9 then
for i=1,7 do
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
Duel.SendtoGrave(e:GetHandler(),REASON_COST)
end
......@@ -102,11 +124,19 @@ end
function cm.skipcost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
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)
local rg=g:SelectSubGroup(tp,aux.dncheck,false,9,9)
rg:AddCard(c)
Duel.Remove(rg,POS_FACEDOWN,REASON_COST)
for i=1,9 do
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
sg:AddCard(c)
Duel.Remove(sg,POS_FACEDOWN,REASON_COST)
end
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
......
......@@ -24,7 +24,7 @@ function cm.atkop(e,tp,eg,ep,ev,re,r,rp)
local t_flag_2=true
local tossp=1-tp
local num=0
while (flag==false or flag_1==false) do
while (flag==false and flag_1==false) do
tossp=1-tossp
num=num+1
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