Commit 6833e66e authored by DailyShana's avatar DailyShana Committed by GitHub

update 千年の啓示 (#1439)

parent 23a376ab
...@@ -31,6 +31,7 @@ function c10000010.initial_effect(c) ...@@ -31,6 +31,7 @@ function c10000010.initial_effect(c)
e5:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE) e5:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e5:SetType(EFFECT_TYPE_SINGLE) e5:SetType(EFFECT_TYPE_SINGLE)
e5:SetCode(EFFECT_SPSUMMON_CONDITION) e5:SetCode(EFFECT_SPSUMMON_CONDITION)
e5:SetValue(c10000010.splimit)
c:RegisterEffect(e5) c:RegisterEffect(e5)
--One Turn Kill --One Turn Kill
local e6=Effect.CreateEffect(c) local e6=Effect.CreateEffect(c)
...@@ -66,6 +67,10 @@ function c10000010.setcon(e,c,minc) ...@@ -66,6 +67,10 @@ function c10000010.setcon(e,c,minc)
if not c then return true end if not c then return true end
return false return false
end end
function c10000010.splimit(e,se,sp,st)
return Duel.IsPlayerAffectedByEffect(sp,41044418) and se:GetHandler():IsCode(83764718)
and e:GetHandler():IsControler(sp) and e:GetHandler():IsLocation(LOCATION_GRAVE)
end
function c10000010.genchainlm(c) function c10000010.genchainlm(c)
return function (e,rp,tp) return function (e,rp,tp)
return e:GetHandler()==c return e:GetHandler()==c
......
...@@ -75,6 +75,15 @@ function c41044418.rbop(e,tp,eg,ep,ev,re,r,rp) ...@@ -75,6 +75,15 @@ function c41044418.rbop(e,tp,eg,ep,ev,re,r,rp)
e1:SetTargetRange(1,0) e1:SetTargetRange(1,0)
e1:SetReset(RESET_PHASE+PHASE_END) e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
--reg
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e0:SetCode(EVENT_SPSUMMON_SUCCESS)
e0:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e0:SetReset(RESET_PHASE+PHASE_END)
e0:SetCondition(c41044418.regcon)
e0:SetOperation(c41044418.regop)
Duel.RegisterEffect(e0,tp)
--to grave --to grave
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
...@@ -86,8 +95,17 @@ function c41044418.rbop(e,tp,eg,ep,ev,re,r,rp) ...@@ -86,8 +95,17 @@ function c41044418.rbop(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterEffect(e2,tp) Duel.RegisterEffect(e2,tp)
Duel.RegisterFlagEffect(tp,41044418,RESET_PHASE+PHASE_END,0,1) Duel.RegisterFlagEffect(tp,41044418,RESET_PHASE+PHASE_END,0,1)
end end
function c41044418.regcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(Card.IsCode,1,nil,10000010) and re and re:GetHandler():IsCode(83764718)
end
function c41044418.regop(e,tp,eg,ep,ev,re,r,rp)
local g=eg:Filter(Card.IsCode,nil,10000010)
for tc in aux.Next(g) do
tc:RegisterFlagEffect(41044418,RESET_EVENT+0x1fe0000,0,0)
end
end
function c41044418.tgfilter(c) function c41044418.tgfilter(c)
return c:IsFaceup() and c:IsCode(10000010) and c:IsSummonType(SUMMON_TYPE_SPECIAL+200) return c:IsFaceup() and c:GetFlagEffect(41044418)~=0
end end
function c41044418.tgcon(e,tp,eg,ep,ev,re,r,rp) function c41044418.tgcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(c41044418.tgfilter,tp,LOCATION_MZONE,0,1,nil) return Duel.IsExistingMatchingCard(c41044418.tgfilter,tp,LOCATION_MZONE,0,1,nil)
......
...@@ -12,8 +12,6 @@ function c83764718.initial_effect(c) ...@@ -12,8 +12,6 @@ function c83764718.initial_effect(c)
end end
function c83764718.filter(c,e,tp) function c83764718.filter(c,e,tp)
return c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsCanBeSpecialSummoned(e,0,tp,false,false)
or (Duel.IsPlayerAffectedByEffect(tp,41044418) and c:IsControler(tp)
and c:IsCode(10000010) and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_SPECIAL+200,tp,true,false))
end end
function c83764718.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c83764718.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_GRAVE) and c83764718.filter(chkc,e,tp) end if chkc then return chkc:IsLocation(LOCATION_GRAVE) and c83764718.filter(chkc,e,tp) end
...@@ -26,10 +24,6 @@ end ...@@ -26,10 +24,6 @@ end
function c83764718.activate(e,tp,eg,ep,ev,re,r,rp) function c83764718.activate(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then if tc:IsRelateToEffect(e) then
if Duel.IsPlayerAffectedByEffect(tp,41044418) and tc:IsCode(10000010) and tc:IsControler(tp) then Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)
Duel.SpecialSummon(tc,SUMMON_TYPE_SPECIAL+200,tp,tp,true,false,POS_FACEUP)
else
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)
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