Commit 1ece01a1 authored by Nemo Ma's avatar Nemo Ma

fix

parent e37de8e6
......@@ -27,33 +27,25 @@ function c10173095.initial_effect(c)
e2:SetOperation(c10173095.tkop)
c:RegisterEffect(e2)
end
function c10173095.cfilter(c,tp,rseq)
local seq=c:GetPreviousSequence()
return c:IsPreviousControler(tp) and c:IsPreviousLocation(LOCATION_MZONE) and seq<5 and rseq<5 and math.abs(seq-rseq)==1
end
function c10173095.tkcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c10173095.cfilter,1,nil,tp,e:GetHandler():GetSequence())
end
function c10173095.tktg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsPlayerCanSpecialSummonMonster(tp,69868556,0,0x4011,0,0,1,RACE_DRAGON,ATTRIBUTE_LIGHT) end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsPlayerCanSpecialSummonMonster(tp,69868556,0,0x4011,0,0,1,RACE_DRAGON,ATTRIBUTE_LIGHT) end
Duel.SetOperationInfo(0,CATEGORY_TOKEN,nil,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,0)
end
function c10173095.tkop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 or not e:GetHandler():IsRelateToEffect(e) then return end
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
if not Duel.IsPlayerCanSpecialSummonMonster(tp,69868556,0,0x4011,0,0,1,RACE_DRAGON,ATTRIBUTE_LIGHT) then return end
local token=Duel.CreateToken(tp,69868556)
Duel.SpecialSummon(token,0,tp,tp,false,false,POS_FACEUP)
end
function c10173095.cfilter(c,tp,rseq)
local seq=c:GetPreviousSequence()
if c:GetPreviousControler()~=tp then seq=seq+16 end
if c:IsPreviousLocation(LOCATION_SZONE) then return
seq==rseq
elseif c:IsPreviousLocation(LOCATION_MZONE) then
if rseq==5 then return seq==1 or seq==19
elseif rseq==6 then return seq==3 or seq==17
else return (seq==rseq-1 or seq==rseq+1) and seq>=0 and seq<=4
end
end
return false
end
function c10173095.filter(c,tp)
local zone=c:GetColumnZone(LOCATION_MZONE,0,0,tp)
return Duel.GetLocationCount(tp,LOCATION_MZONE,tp,LOCATION_REASON_CONTROL,zone)>0
......
......@@ -3,6 +3,7 @@ local m=14000402
local cm=_G["c"..m]
cm.card_code_list={14000401}
function cm.initial_effect(c)
aux.AddCodeList(c,14000401)
--summon & set with no tribute
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
......
......@@ -3,6 +3,7 @@ local m=14000403
local cm=_G["c"..m]
cm.card_code_list={14000401}
function cm.initial_effect(c)
aux.AddCodeList(c,14000401)
--summon & set with no tribute
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
......
......@@ -3,6 +3,7 @@ local m=14000404
local cm=_G["c"..m]
cm.card_code_list={14000401}
function cm.initial_effect(c)
aux.AddCodeList(c,14000401)
--summon & set with no tribute
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
......
......@@ -3,6 +3,7 @@ local m=14000405
local cm=_G["c"..m]
cm.card_code_list={14000401}
function cm.initial_effect(c)
aux.AddCodeList(c,14000401)
--summon & set with no tribute
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
......
......@@ -3,6 +3,7 @@ local m=14000406
local cm=_G["c"..m]
cm.card_code_list={14000401}
function cm.initial_effect(c)
aux.AddCodeList(c,14000401)
--summon & set with no tribute
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
......
......@@ -3,6 +3,7 @@ local m=14000409
local cm=_G["c"..m]
cm.card_code_list={14000401}
function cm.initial_effect(c)
aux.AddCodeList(c,14000401)
c:SetSPSummonOnce(m)
c:EnableReviveLimit()
--spsummon condition
......@@ -48,6 +49,13 @@ function cm.initial_effect(c)
local e7=e5:Clone()
e7:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL)
c:RegisterEffect(e7)
--add code
local e8=Effect.CreateEffect(c)
e8:SetType(EFFECT_TYPE_SINGLE)
e8:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e8:SetCode(EFFECT_ADD_CODE)
e8:SetValue(14000410)
c:RegisterEffect(e8)
end
function cm.fuslimit(e,c,sumtype)
return sumtype&SUMMON_TYPE_FUSION==SUMMON_TYPE_FUSION
......@@ -65,7 +73,7 @@ end
function cm.spcon(e,c)
if c==nil then return true end
local tp=c:GetControler()
return Duel.IsExistingMatchingCard(cm.spfilter,tp,LOCATION_MZONE+LOCATION_GRAVE,0,1,nil) and Duel.IsExistingMatchingCard(cm.sdfilter,e:GetHandlerPlayer(),LOCATION_ONFIELD,0,1,nil) and Duel.GetLocationCountFromEx(tp)>0
return Duel.IsExistingMatchingCard(cm.spfilter,tp,LOCATION_MZONE+LOCATION_GRAVE,0,1,nil) and Duel.IsExistingMatchingCard(cm.sdfilter,e:GetHandlerPlayer(),LOCATION_ONFIELD,0,1,nil) and Duel.GetLocationCountFromEx(tp,tp,nil,c)>0
end
function cm.spop(e,tp,eg,ep,ev,re,r,rp,c)
local g=Duel.GetMatchingGroup(cm.spfilter,tp,LOCATION_MZONE+LOCATION_GRAVE,0,nil)
......
......@@ -185,10 +185,10 @@ function cm.thop(e,tp,eg,ep,ev,re,r,rp)
if tc then
local b1=tc:IsAbleToHand()
local b2=tc:IsForbidden()
if b1 and (b2 or Duel.GetLocationCount(tp,LOCATION_SZONE)<=0) and Duel.SelectYesNo(tp,aux.Stringid(m,1)) then
if b1 and Duel.SelectYesNo(tp,aux.Stringid(m,1)) then
Duel.SendtoHand(tc,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,tc)
else
elseif not b2 then
if tc:IsType(TYPE_PENDULUM) and Duel.CheckLocation(tp,LOCATION_PZONE,0) or Duel.CheckLocation(tp,LOCATION_PZONE,1) and Duel.SelectYesNo(tp,aux.Stringid(m,4)) then
Duel.MoveToField(tc,tp,tp,LOCATION_PZONE,POS_FACEUP,true)
else
......
......@@ -51,7 +51,7 @@ function cm.thop(e,tp,eg,ep,ev,re,r,rp)
local g=og:Filter(cm.thfilter,nil,nil)
local tc=g:Select(tp,1,1,nil):GetFirst()
if tc then
Duel.SendtoHand(tc,nil,REASON_EFFECT)
Duel.SendtoHand(tc,tp,REASON_EFFECT)
Duel.ConfirmCards(1-tp,tc)
end
end
......
......@@ -38,7 +38,7 @@ function c98920038.remcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_SYNCHRO)
end
function c98920038.remtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToRemove,tp,0,LOCATION_GRAVE,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,1,1-tp,LOCATION_GRAVE)
end
function c98920038.remop(e,tp,eg,ep,ev,re,r,rp)
......@@ -69,7 +69,7 @@ function c98920038.actop(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterEffect(e1,tp)
end
function c98920038.atcon(e,tp,eg,ep,ev,re,r,rp)
return aux.bdocon(e,tp,eg,ep,ev,re,r,rp) and e:GetHandler():IsChainAttackable() and e:GetHandler():IsSummonType(SUMMON_TYPE_SYNCHRO)
return aux.bdocon(e,tp,eg,ep,ev,re,r,rp) and e:GetHandler():IsChainAttackable(0) and e:GetHandler():IsSummonType(SUMMON_TYPE_SYNCHRO) and Duel.GetAttacker()==e:GetHandler()
end
function c98920038.atop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChainAttack()
......
......@@ -61,7 +61,7 @@ end
function c98920087.negtg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return c:GetFlagEffect(98920087)<c:GetFlagEffectLabel(98920390) end
c:RegisterFlagEffect(98920087,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1)
c:RegisterFlagEffect(98920087,RESET_EVENT+RESETS_STANDARD,0,1)
Duel.SetOperationInfo(0,CATEGORY_NEGATE,eg,1,0,0)
if re:GetHandler():IsDestructable() and re:GetHandler():IsRelateToEffect(re) then
Duel.SetOperationInfo(0,CATEGORY_DESTROY,eg,1,0,0)
......
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