Commit 10359298 authored by Amiya's avatar Amiya

新卡

parent cb4f006c
No preview for this file type
--鎖縛竜ザレン
local s,id,o=GetID()
function s.initial_effect(c)
--synchro summon
aux.AddSynchroMixProcedure(c,aux.Tuner(nil),nil,nil,aux.FilterBoolFunction(Card.IsSynchroType,TYPE_SYNCHRO),1,99)
c:EnableReviveLimit()
--nontuner
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EFFECT_NONTUNER)
e1:SetValue(s.tnval)
c:RegisterEffect(e1)
--disable
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(id,1))
e2:SetCategory(CATEGORY_DISABLE+CATEGORY_DESTROY)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_CHAINING)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,id)
e2:SetCondition(s.discon)
e2:SetTarget(s.distg)
e2:SetOperation(s.disop)
c:RegisterEffect(e2)
end
function s.tnval(e,c)
return e:GetHandler():IsControler(c:GetControler())
end
function s.discon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if ev<=1 then return false end
return not c:IsStatus(STATUS_BATTLE_DESTROYED) and Duel.IsChainDisablable(ev)
or Duel.IsChainDisablable(ev-1)
end
function s.distg(e,tp,eg,ep,ev,re,r,rp,chk)
local b1=Duel.IsChainDisablable(ev)
local b2=Duel.IsChainDisablable(ev-1)
if chk==0 then return b1 or b2 end
local te=Duel.GetChainInfo(ev-1,CHAININFO_TRIGGERING_EFFECT)
local op=aux.SelectFromOptions(tp,
{b1,aux.Stringid(id,2),1},
{b2,aux.Stringid(id,3),2})
e:SetLabel(op)
if op==1 then
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)
end
else
Duel.SetOperationInfo(0,CATEGORY_NEGATE,te:GetHandler(),1,0,0)
if te:GetHandler():IsDestructable() and te:GetHandler():IsRelateToEffect(te) then
Duel.SetOperationInfo(0,CATEGORY_DESTROY,te:GetHandler(),1,0,0)
end
end
end
function s.disop(e,tp,eg,ep,ev,re,r,rp)
if e:GetLabel()==1 then
if Duel.NegateEffect(ev) and re:GetHandler():IsRelateToEffect(re) then
Duel.Destroy(eg,REASON_EFFECT)
end
else
local te=Duel.GetChainInfo(ev-1,CHAININFO_TRIGGERING_EFFECT)
if Duel.NegateEffect(ev-1) and te:GetHandler():IsRelateToEffect(te) then
Duel.Destroy(te:GetHandler(),REASON_EFFECT)
end
end
end
\ No newline at end of file
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