Commit b61dae55 authored by TanakaKotoha's avatar TanakaKotoha

none

parent 19759ec5
......@@ -36,9 +36,8 @@ function cm.initial_effect(c)
e3:SetProperty(EFFECT_FLAG_UNCOPYABLE)
e3:SetRange(LOCATION_PZONE)
e3:SetCondition(cm.spcon1)
e3:SetCost(cm.cost)
e3:SetOperation(cm.cost)
c:RegisterEffect(e3)
Duel.AddCustomActivityCounter(m,ACTIVITY_SPSUMMON,cm.counterfilter)
--Cannot p
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD)
......@@ -49,11 +48,7 @@ function cm.initial_effect(c)
e4:SetTarget(cm.splimit)
c:RegisterEffect(e4)
end
function cm.counterfilter(c)
return c:IsSetCard(0xcc3) or c:IsLevel(10) or c:IsRank(10)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetActivityCount(tp,ACTIVITY_SPSUMMON)==0 end
function cm.cost(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
......
......@@ -37,8 +37,8 @@ function cm.initial_effect(c)
e3:SetCode(EFFECT_SPSUMMON_PROC)
e3:SetProperty(EFFECT_FLAG_UNCOPYABLE)
e3:SetRange(LOCATION_PZONE)
e3:SetCost(cm.thcost)
e3:SetCondition(cm.spcon1)
e3:SetOperation(cm.cost1)
c:RegisterEffect(e3)
--Cannot p
local e4=Effect.CreateEffect(c)
......@@ -50,6 +50,16 @@ function cm.initial_effect(c)
e4:SetTarget(cm.splimit)
c:RegisterEffect(e4)
end
function cm.cost1(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH)
e1:SetTargetRange(1,0)
e1:SetLabelObject(e)
e1:SetTarget(cm.splimit)
Duel.RegisterEffect(e1,tp)
end
function cm.cfilter(c)
return c:IsFacedown() or not c:IsLevel(10)
end
......
......@@ -13,7 +13,6 @@ function cm.initial_effect(c)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_PZONE)
e1:SetCountLimit(1,m)
e1:SetCost(cm.spcost)
e1:SetCondition(cm.ctgcon)
e1:SetTarget(cm.sptg)
e1:SetOperation(cm.spop)
......@@ -39,25 +38,10 @@ function cm.initial_effect(c)
e3:SetTarget(cm.splimit)
c:RegisterEffect(e3)
---
Duel.AddCustomActivityCounter(m,ACTIVITY_SPSUMMON,cm.counterfilter)
end
function cm.splimit(e,c,tp,sumtp,sumpos)
return not (c:IsSetCard(0xcc3) or c:IsLevel(10) or c:IsRank(10))
end
function cm.counterfilter(c)
return c:IsSetCard(0xcc3) or c:IsLevel(10) or c:IsRank(10)
end
function cm.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetActivityCount(tp,ACTIVITY_SPSUMMON)==0 end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH)
e1:SetTargetRange(1,0)
e1:SetLabelObject(e)
e1:SetTarget(cm.spsplimit)
Duel.RegisterEffect(e1,tp)
end
function cm.spsplimit(e,c,sump,sumtype,sumpos,targetp,se)
return not (c:IsLevel(10) or c:IsRank(10) or c:IsSetCard(0xcc3))
end
......@@ -75,6 +59,14 @@ function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,e:GetHandler(),1,0,0)
end
function cm.spop(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH)
e1:SetTargetRange(1,0)
e1:SetLabelObject(e)
e1:SetTarget(cm.spsplimit)
Duel.RegisterEffect(e1,tp)
if not (e:GetHandler():IsRelateToEffect(e) and Duel.GetLocationCount(tp,LOCATION_MZONE)>=2 and Duel.IsExistingMatchingCard(cm.spfilter,tp,LOCATION_HAND,0,2,nil,e,tp) ) then return end
if Duel.IsPlayerAffectedByEffect(tp,59822133) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
......
......@@ -13,7 +13,6 @@ function cm.initial_effect(c)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_PZONE)
e1:SetCountLimit(1,m)
e1:SetCost(cm.spcost)
e1:SetCondition(cm.ctgcon)
e1:SetTarget(cm.sptg)
e1:SetOperation(cm.spop)
......@@ -38,8 +37,6 @@ function cm.initial_effect(c)
e3:SetTargetRange(1,0)
e3:SetTarget(cm.splimit)
c:RegisterEffect(e3)
---
Duel.AddCustomActivityCounter(m,ACTIVITY_SPSUMMON,cm.counterfilter)
end
function cm.splimit(e,c,tp,sumtp,sumpos)
return not (c:IsSetCard(0xcc3) or c:IsLevel(10) or c:IsRank(10))
......@@ -47,17 +44,6 @@ end
function cm.counterfilter(c)
return c:IsSetCard(0xcc3) or c:IsLevel(10) or c:IsRank(10)
end
function cm.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetActivityCount(tp,ACTIVITY_SPSUMMON)==0 end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH)
e1:SetTargetRange(1,0)
e1:SetLabelObject(e)
e1:SetTarget(cm.spsplimit)
Duel.RegisterEffect(e1,tp)
end
function cm.spsplimit(e,c,sump,sumtype,sumpos,targetp,se)
return not (c:IsLevel(10) or c:IsRank(10) or c:IsSetCard(0xcc3))
end
......@@ -75,6 +61,14 @@ function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,2,tp,LOCATION_GRAVE)
end
function cm.spop(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH)
e1:SetTargetRange(1,0)
e1:SetLabelObject(e)
e1:SetTarget(cm.spsplimit)
Duel.RegisterEffect(e1,tp)
if not (e:GetHandler():IsRelateToEffect(e) and Duel.GetLocationCount(tp,LOCATION_MZONE)>=2 and Duel.IsExistingMatchingCard(aux.NecroValleyFilter(cm.spfilter),tp,LOCATION_GRAVE,0,2,nil,e,tp)) then return end
if Duel.IsPlayerAffectedByEffect(tp,59822133) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
......
......@@ -23,6 +23,7 @@ function cm.initial_effect(c)
e1:SetRange(LOCATION_PZONE)
e1:SetCountLimit(1)
e1:SetCode(PHASE_STANDBY+EVENT_PHASE)
e1:SetCondition(cm.sppcon)
e1:SetTarget(cm.spptarget)
e1:SetOperation(cm.sppop)
c:RegisterEffect(e1)
......@@ -87,6 +88,9 @@ function cm.initial_effect(c)
e8:SetOperation(cm.topop)
c:RegisterEffect(e8)
end
function cm.sppcon(e,tp)
return Duel.GetTurnPlayer()~=tp
end
function cm.slimit(e,se,sp,st)
return se:GetHandler()==e:GetHandler() or (bit.band(st,SUMMON_TYPE_SYNCHRO)==SUMMON_TYPE_SYNCHRO) or (bit.band(st,SUMMON_TYPE_PENDULUM)==SUMMON_TYPE_PENDULUM)
end
......@@ -132,7 +136,7 @@ end
function cm.setop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetFieldGroup(tp,LOCATION_PZONE,0)
local g1=Duel.GetMatchingGroup(Card.IsAbleToHand,tp,LOCATION_PZONE,0,nil)
if not #g==#g1 or not Duel.IsExistingMatchingCard(cm.setfilter1,tp,LOCATION_DECK+LOCATION_EXTRA,0,2,nil) or not g1:getcount()>0 then return end
if not #g==#g1 or not Duel.IsExistingMatchingCard(cm.setfilter1,tp,LOCATION_DECK+LOCATION_EXTRA,0,2,nil) or g1:GetCount()<1 then return end
if not Duel.SendtoHand(g1,nil,REASON_EFFECT)==#g then return false end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD)
local g1=Duel.SelectMatchingCard(tp,cm.setfilter1,tp,LOCATION_DECK+LOCATION_EXTRA,0,1,1,nil)
......
......@@ -23,6 +23,7 @@ function cm.initial_effect(c)
e1:SetRange(LOCATION_PZONE)
e1:SetCountLimit(1)
e1:SetCode(PHASE_STANDBY+EVENT_PHASE)
e1:SetCondition(cm.sppcon)
e1:SetTarget(cm.spptarget)
e1:SetOperation(cm.sppop)
c:RegisterEffect(e1)
......@@ -66,6 +67,9 @@ function cm.initial_effect(c)
e8:SetOperation(cm.topop)
c:RegisterEffect(e8)
end
function cm.sppcon(e,tp)
return Duel.GetTurnPlayer()~=tp
end
function cm.slimit(e,se,sp,st)
return (bit.band(st,SUMMON_TYPE_FUSION)==SUMMON_TYPE_FUSION) or (bit.band(st,SUMMON_TYPE_PENDULUM)==SUMMON_TYPE_PENDULUM)
end
......@@ -90,7 +94,7 @@ function cm.sppop(e,tp,eg,ep,ev,re,r,rp)
if not (c:IsRelateToEffect(e) and Duel.IsExistingMatchingCard(cm.tdilter,tp,LOCATION_DECK,0,1,nil) and (Duel.CheckLocation(tp,LOCATION_PZONE,0) or Duel.CheckLocation(tp,LOCATION_PZONE,1)) and c:IsAbleToExtra()) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD)
local tc=Duel.SelectMatchingCard(tp,cm.tdilter,tp,LOCATION_DECK,0,1,1,nil)
if tc:getcount()>0 then
if tc:GetCount()>0 then
tc=tc:GetFirst()
if Duel.MoveToField(tc,tp,tp,LOCATION_PZONE,POS_FACEUP,false) then
Duel.SendtoExtraP(c,nil,REASON_EFFECT)
......@@ -182,7 +186,7 @@ function cm.disrmop(e,tp,eg,ep,ev,re,r,rp)
else
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
local g=Duel.SelectMatchingCard(tp,aux.disfilter1,tp,0,LOCATION_ONFIELD+LOCATION_REMOVED,1,2,nil)
if g:getcount()<1 then return end
if g:GetCount()<1 then return end
local tc=g:GetFirst()
while tc do
Duel.NegateRelatedChain(tc,RESET_TURN_SET)
......
......@@ -23,6 +23,7 @@ function cm.initial_effect(c)
e1:SetRange(LOCATION_PZONE)
e1:SetCountLimit(1)
e1:SetCode(PHASE_STANDBY+EVENT_PHASE)
e1:SetCondition(cm.sppcon)
e1:SetTarget(cm.spptarget)
e1:SetOperation(cm.sppop)
c:RegisterEffect(e1)
......@@ -67,6 +68,9 @@ function cm.initial_effect(c)
c:RegisterEffect(e8)
end
cm.pendulum_level=12
function cm.sppcon(e,tp)
return Duel.GetTurnPlayer()~=tp
end
function cm.mfilter(c,xyzc)
return c:IsSetCard(0xcc3)
end
......@@ -95,8 +99,8 @@ function cm.sppop(e,tp,eg,ep,ev,re,r,rp)
if not (c:IsRelateToEffect(e) and Duel.IsExistingMatchingCard(cm.tdilter,tp,LOCATION_GRAVE,0,1,nil,e,tp) and c:IsAbleToExtra()) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tc=Duel.SelectMatchingCard(tp,cm.tdilter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
if tc:getcount()>0 then
if Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)~=0 then
if tc:GetCount()>0 then
if Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)~=0 then
Duel.SendtoExtraP(c,nil,REASON_EFFECT)
end
end
......@@ -181,7 +185,7 @@ function cm.disrmop(e,tp,eg,ep,ev,re,r,rp)
else
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(tp,cm.tddfilter,tp,0,LOCATION_ONFIELD+LOCATION_GRAVE,1,2,nil)
if g:getcount()<1 then return end
if g:GetCount()<1 then return end
Duel.SendtoDeck(g,nil,2,REASON_EFFECT)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
......
......@@ -43,7 +43,7 @@ function cm.op1(e,tp,eg,ep,ev,re,r,rp)
if not Duel.IsExistingMatchingCard(cm.thfilter,tp,LOCATION_DECK,0,1,nil) then return end
local num=Duel.GetFieldGroupCount(tp,0,LOCATION_MZONE)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local thg=Duel.SelectMatchingCard(tp,cm.thfilter,tp,LOCATION_DECK,0,1,num,nil)
local thg=Duel.SelectMatchingCard(tp,cm.thfilter,tp,LOCATION_DECK,0,1,num+1,nil)
if thg:GetCount()>0 then
Duel.SendtoGrave(thg,REASON_EFFECT)
tc=thg:GetFirst()
......
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