Commit 09701d35 authored by POLYMER's avatar POLYMER

fix & lflist

parent 369c6316
...@@ -1307,7 +1307,6 @@ ...@@ -1307,7 +1307,6 @@
98731001 0 98731001 0
98920032 0 98920032 0
98920042 0 98920042 0
98920055 0
98920093 0 98920093 0
98920114 0 98920114 0
98920127 0 98920127 0
...@@ -1553,7 +1552,6 @@ ...@@ -1553,7 +1552,6 @@
130006022 0 130006022 0
130006023 0 130006023 0
130006024 0 130006024 0
130006050 0
130006100 0 130006100 0
130006101 0 130006101 0
130006102 0 130006102 0
...@@ -3156,7 +3154,7 @@ ...@@ -3156,7 +3154,7 @@
10888918 0 10888918 0
#220529 #220529
1007002 0 1007002 0
22021390 0 22021390 1
25000058 0 25000058 0
33701323 0 33701323 0
83000084 0 83000084 0
...@@ -5676,6 +5674,12 @@ ...@@ -5676,6 +5674,12 @@
88881086 0 88881086 0
89410001 0 89410001 0
89412001 0 89412001 0
11451609 0
31400029 0
33701348 0
76029037 0
82224053 0
87697576 0
#limit #limit
33403513 1 33403513 1
82204250 0 82204250 0
...@@ -5914,7 +5918,7 @@ ...@@ -5914,7 +5918,7 @@
98920664 1 98920664 1
11451654 1 11451654 1
11451733 1 11451733 1
87697574 2 87697574 0
11533706 1 11533706 1
11533701 1 11533701 1
11533700 1 11533700 1
...@@ -5958,6 +5962,10 @@ ...@@ -5958,6 +5962,10 @@
98920732 1 98920732 1
11451901 1 11451901 1
11451903 1 11451903 1
11451003 1
12899005 1
12899006 1
33720054 1
#semi limit #semi limit
9950623 2 9950623 2
9950045 2 9950045 2
......
No preview for this file type
No preview for this file type
...@@ -16,28 +16,15 @@ function cm.initial_effect(c) ...@@ -16,28 +16,15 @@ function cm.initial_effect(c)
c:RegisterEffect(e0) c:RegisterEffect(e0)
--spsummon --spsummon
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_QUICK_O) e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1,m) e1:SetCountLimit(1,m)
e1:SetCost(cm.spcost) e1:SetCost(cm.spcost)
e1:SetTarget(cm.sp1tg) e1:SetTarget(cm.target1)
e1:SetOperation(cm.sp1op) e1:SetOperation(cm.operation1)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--spsummon
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(m,1))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,m)
e2:SetCost(cm.spcost)
e2:SetTarget(cm.sp2tg)
e2:SetOperation(cm.sp2op)
c:RegisterEffect(e2)
end end
function cm.recon(e) function cm.recon(e)
return e:GetHandler():IsFaceup() return e:GetHandler():IsFaceup()
...@@ -49,40 +36,48 @@ end ...@@ -49,40 +36,48 @@ end
function cm.spfilter(c,e,tp) function cm.spfilter(c,e,tp)
return (aux.IsCodeListed(c,15005130) or c:IsCode(15005130)) and c:IsType(TYPE_MONSTER) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return (aux.IsCodeListed(c,15005130) or c:IsCode(15005130)) and c:IsType(TYPE_MONSTER) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function cm.sp1tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(cm.spfilter,tp,LOCATION_DECK,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
end
function cm.sp1op(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,cm.spfilter,tp,LOCATION_DECK,0,1,1,nil,e,tp)
if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
end
function cm.sp2tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(cm.spfilter,tp,LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE)
end
function cm.tdfilter(c) function cm.tdfilter(c)
return c:IsType(TYPE_MONSTER) and c:IsAbleToDeck() return c:IsType(TYPE_MONSTER) and c:IsAbleToDeck()
end end
function cm.sp2op(e,tp,eg,ep,ev,re,r,rp) function cm.target1(e,tp,eg,ep,ev,re,r,rp,chk)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end local b1=Duel.GetLocationCount(tp,LOCATION_MZONE)>0
Duel.Hint(HINT_SELECTMSG,1-tp,HINTMSG_SPSUMMON) and Duel.IsExistingMatchingCard(cm.spfilter,tp,LOCATION_DECK,0,1,nil,e,tp)
local g=Duel.SelectMatchingCard(1-tp,aux.NecroValleyFilter(cm.spfilter),tp,LOCATION_GRAVE,0,1,1,nil,e,tp) local b2=Duel.GetLocationCount(tp,LOCATION_MZONE)>0
if g:GetCount()==0 then return end and Duel.IsExistingMatchingCard(cm.spfilter,tp,LOCATION_GRAVE,0,1,nil,e,tp)
Duel.HintSelection(g) if chk==0 then return b1 or b2 end
if g:GetCount()>0 and Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)~=0 and Duel.IsExistingMatchingCard(cm.tdfilter,tp,LOCATION_GRAVE,0,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(m,2)) then local op=aux.SelectFromOptions(tp,
Duel.BreakEffect() {b1,aux.Stringid(m,0)},
local dg=Duel.GetMatchingGroup(aux.NecroValleyFilter(cm.tdfilter),tp,LOCATION_GRAVE,0,nil) {b2,aux.Stringid(m,1)})
if #dg>0 and Duel.SendtoDeck(dg,nil,SEQ_DECKTOP,REASON_EFFECT)~=0 then e:SetLabel(op)
local og=Duel.GetOperatedGroup() if op==1 then
if og:IsExists(Card.IsLocation,1,nil,LOCATION_DECK) then Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
Duel.ShuffleDeck(tp) else
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE)
end
end
function cm.operation1(e,tp,eg,ep,ev,re,r,rp)
local op=e:GetLabel()
if op==1 then
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,cm.spfilter,tp,LOCATION_DECK,0,1,1,nil,e,tp)
if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
else
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,1-tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(1-tp,aux.NecroValleyFilter(cm.spfilter),tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
if g:GetCount()==0 then return end
Duel.HintSelection(g)
if g:GetCount()>0 and Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)~=0 and Duel.IsExistingMatchingCard(cm.tdfilter,tp,LOCATION_GRAVE,0,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(m,2)) then
Duel.BreakEffect()
local dg=Duel.GetMatchingGroup(aux.NecroValleyFilter(cm.tdfilter),tp,LOCATION_GRAVE,0,nil)
if #dg>0 and Duel.SendtoDeck(dg,nil,SEQ_DECKTOP,REASON_EFFECT)~=0 then
local og=Duel.GetOperatedGroup()
if og:IsExists(Card.IsLocation,1,nil,LOCATION_DECK) then
Duel.ShuffleDeck(tp)
end
end end
end end
end end
......
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