Commit e9a0b923 authored by POLYMER's avatar POLYMER

fix

parent 486d3439
This diff is collapsed.
......@@ -95,7 +95,7 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_REDIRECT)
e1:SetValue(LOCATION_REMOVED)
c:RegisterEffect(e1,true)
--c:RegisterEffect(e1,true)
end
Duel.SpecialSummonComplete()
local te=e:GetLabelObject()
......
......@@ -4,9 +4,10 @@ function s.initial_effect(c)
-- 特殊召唤限制:融合召唤或解放召唤
local e0 = Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE + EFFECT_FLAG_UNCOPYABLE)
e0:SetProperty(EFFECT_FLAG_SINGLE_RANGE+EFFECT_FLAG_CANNOT_DISABLE + EFFECT_FLAG_UNCOPYABLE)
e0:SetCode(EFFECT_SPSUMMON_CONDITION)
e0:SetValue(s.splimit)
e0:SetRange(LOCATION_EXTRA)
e0:SetValue(aux.fuslimit)--(s.splimit)
c:RegisterEffect(e0)
-- 融合召唤
aux.AddFusionProcMix(c, true, true,s.matfilter1, s.matfilter2)
......
......@@ -104,7 +104,7 @@ function cm.thop1(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_CARD,0,m)
if Duel.SelectYesNo(tp,aux.Stringid(m,2)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,cm.filter1,tp,LOCATION_GRAVE,0,1,1,nil)
local g=Duel.SelectMatchingCard(tp,cm.filter1,tp,LOCATION_DECK,0,1,1,nil)
if #g>0 then
Duel.SendtoGrave(tc,0,tp,tp,false,false,POS_FACEUP)
end
......
......@@ -92,7 +92,7 @@ function cm.thop1(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_CARD,0,m)
if Duel.SelectYesNo(tp,aux.Stringid(m,2)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,cm.filter1,tp,LOCATION_GRAVE,0,1,1,nil)
local g=Duel.SelectMatchingCard(tp,cm.filter1,tp,LOCATION_DECK,0,1,1,nil)
if #g>0 then
Duel.SendtoGrave(g,0,tp,tp,false,false,POS_FACEUP)
end
......
......@@ -18,6 +18,15 @@ function s.initial_effect(c)
e2:SetCost(s.accost)
e2:SetOperation(s.acop)
c:RegisterEffect(e2)
--act limit
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_FIELD)
e0:SetRange(LOCATION_FZONE)
e0:SetCode(EFFECT_CANNOT_ACTIVATE)
e0:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_IGNORE_IMMUNE)
e0:SetTargetRange(1,1)
e0:SetValue(s.aclimit)
c:RegisterEffect(e0)
--spsummon limit
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
......@@ -29,6 +38,14 @@ function s.initial_effect(c)
c:RegisterEffect(e3)
end
function s.aclimit(e,re,tp)
local tc=re:GetHandler()
local tp=tc:GetControler()
local seq=tc:GetSequence()
return tc and tp and seq and ((seq==5 and not Duel.CheckLocation(tp,LOCATION_MZONE,1)) or (seq==6 and not Duel.CheckLocation(tp,LOCATION_MZONE,3)))
end
function s.accon(e)
s[0]=false
return true
......@@ -42,7 +59,7 @@ function s.accost(e,te)
local tc=te:GetHandler()
local tp=tc:GetControler()
local seq=tc:GetSequence()
return tc:IsLocation(LOCATION_MZONE) and ((seq>0 and Duel.CheckLocation(tp,LOCATION_MZONE,seq-1)) or (seq<4 and Duel.CheckLocation(tp,LOCATION_MZONE,seq+1)) or (seq==5 and Duel.CheckLocation(tp,LOCATION_MZONE,1)) or (seq==6 and Duel.CheckLocation(tp,LOCATION_MZONE,3))) or tc:IsLocation(LOCATION_SZONE) and ((seq>0 and Duel.CheckLocation(tp,LOCATION_SZONE,seq-1)) or (seq<4 and Duel.CheckLocation(tp,LOCATION_SZONE,seq+1)))
return (tc:IsLocation(LOCATION_MZONE) and ((seq>0 and Duel.CheckLocation(tp,LOCATION_MZONE,seq-1)) or (seq<4 and Duel.CheckLocation(tp,LOCATION_MZONE,seq+1)) or (seq==5 and Duel.CheckLocation(tp,LOCATION_MZONE,1)) or (seq==6 and Duel.CheckLocation(tp,LOCATION_MZONE,3)))) or (tc:IsLocation(LOCATION_SZONE) and ((seq>0 and Duel.CheckLocation(tp,LOCATION_SZONE,seq-1)) or (seq<4 and Duel.CheckLocation(tp,LOCATION_SZONE,seq+1))))
end
function s.acop(e,eg,ep,ev,re,r,rp)
if s[0] then return end
......
......@@ -45,7 +45,7 @@ function c71403001.op1(e,tp,eg,ep,ev,re,r,rp)
local zone=0x1f00
local pflag1=Duel.CheckLocation(tp,LOCATION_PZONE,0)
local pflag2=Duel.CheckLocation(tp,LOCATION_PZONE,1)
if pflag1~pflag2 then
if pflag1~=pflag2 then
zone=0xe00
end
if Duel.GetLocationCount(tp,LOCATION_SZONE,tp,LOCATION_REASON_TOFIELD,zone)==0 then
......
......@@ -78,8 +78,8 @@ function s.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.Release(g,REASON_COST)
e:SetLabel(0)
else
Duel.Release(c,REASON_COST)
if c:IsLocation(LOCATION_HAND) then e:SetLabel(1) else e:SetLabel(0) end
Duel.Release(c,REASON_COST)
end
end
function s.thfilter(c)
......
......@@ -23,7 +23,7 @@ function s.initial_effect(c)
c:RegisterEffect(e1)
end
function s.cfilter(c,tp)
return c:IsPreviousSetCard(0xc30) and c:IsControler(tp)
return c:IsSetCard(0xc30) and c:IsControler(tp)
end
function s.spcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(s.cfilter,1,nil,tp)
......
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