Commit 04e7eb66 authored by salix5's avatar salix5
parent c712f4ac
...@@ -32,6 +32,15 @@ function c39853199.initial_effect(c) ...@@ -32,6 +32,15 @@ function c39853199.initial_effect(c)
e3:SetTarget(c39853199.rettg) e3:SetTarget(c39853199.rettg)
e3:SetOperation(c39853199.retop) e3:SetOperation(c39853199.retop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
if not c39853199.global_check then
c39853199.global_check=true
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_SPSUMMON_SUCCESS)
ge1:SetLabel(39853199)
ge1:SetOperation(aux.sumreg)
Duel.RegisterEffect(ge1,0)
end
end end
function c39853199.destg1(e,tp,eg,ep,ev,re,r,rp,chk) function c39853199.destg1(e,tp,eg,ep,ev,re,r,rp,chk)
local tc=e:GetHandler():GetBattleTarget() local tc=e:GetHandler():GetBattleTarget()
...@@ -61,8 +70,7 @@ function c39853199.desop2(e,tp,eg,ep,ev,re,r,rp) ...@@ -61,8 +70,7 @@ function c39853199.desop2(e,tp,eg,ep,ev,re,r,rp)
end end
end end
function c39853199.retcon(e,tp,eg,ep,ev,re,r,rp) function c39853199.retcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() return e:GetHandler():GetFlagEffect(39853199)~=0
return c:IsStatus(STATUS_SUMMON_TURN) and bit.band(c:GetSummonType(),SUMMON_TYPE_SPECIAL)==SUMMON_TYPE_SPECIAL
end end
function c39853199.rettg(e,tp,eg,ep,ev,re,r,rp,chk) function c39853199.rettg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
......
...@@ -35,20 +35,15 @@ function c40737112.initial_effect(c) ...@@ -35,20 +35,15 @@ function c40737112.initial_effect(c)
local ge1=Effect.CreateEffect(c) local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_SUMMON_SUCCESS) ge1:SetCode(EVENT_SUMMON_SUCCESS)
ge1:SetOperation(c40737112.checkop) ge1:SetLabel(40737112)
ge1:SetOperation(aux.sumreg)
Duel.RegisterEffect(ge1,0) Duel.RegisterEffect(ge1,0)
local ge2=ge1:Clone() local ge2=ge1:Clone()
ge2:SetCode(EVENT_SPSUMMON_SUCCESS) ge2:SetCode(EVENT_SPSUMMON_SUCCESS)
ge2:SetLabel(40737112)
Duel.RegisterEffect(ge2,0) Duel.RegisterEffect(ge2,0)
end end
end end
function c40737112.checkop(e,tp,eg,ep,ev,re,r,rp)
local tc=eg:GetFirst()
while tc do
tc:RegisterFlagEffect(40737112,RESET_EVENT+0x1ec0000+RESET_PHASE+PHASE_END,0,1)
tc=eg:GetNext()
end
end
function c40737112.thcost(e,tp,eg,ep,ev,re,r,rp,chk) function c40737112.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():GetFlagEffect(40737112)~=0 end if chk==0 then return e:GetHandler():GetFlagEffect(40737112)~=0 end
e:GetHandler():ResetFlagEffect(40737112) e:GetHandler():ResetFlagEffect(40737112)
......
...@@ -20,6 +20,15 @@ function c49249907.initial_effect(c) ...@@ -20,6 +20,15 @@ function c49249907.initial_effect(c)
e2:SetTarget(c49249907.rettg) e2:SetTarget(c49249907.rettg)
e2:SetOperation(c49249907.retop) e2:SetOperation(c49249907.retop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
if not c49249907.global_check then
c49249907.global_check=true
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_SPSUMMON_SUCCESS)
ge1:SetLabel(49249907)
ge1:SetOperation(aux.sumreg)
Duel.RegisterEffect(ge1,0)
end
end end
function c49249907.filter(c,e,tp) function c49249907.filter(c,e,tp)
return c:IsSetCard(0xb3) and not c:IsCode(49249907) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsSetCard(0xb3) and not c:IsCode(49249907) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
...@@ -38,8 +47,7 @@ function c49249907.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -38,8 +47,7 @@ function c49249907.spop(e,tp,eg,ep,ev,re,r,rp)
end end
end end
function c49249907.retcon(e,tp,eg,ep,ev,re,r,rp) function c49249907.retcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() return e:GetHandler():GetFlagEffect(49249907)~=0
return c:IsStatus(STATUS_SUMMON_TURN) and bit.band(c:GetSummonType(),SUMMON_TYPE_SPECIAL)==SUMMON_TYPE_SPECIAL
end end
function c49249907.rettg(e,tp,eg,ep,ev,re,r,rp,chk) function c49249907.rettg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
......
...@@ -15,20 +15,15 @@ function c53251824.initial_effect(c) ...@@ -15,20 +15,15 @@ function c53251824.initial_effect(c)
local ge1=Effect.CreateEffect(c) local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_SUMMON_SUCCESS) ge1:SetCode(EVENT_SUMMON_SUCCESS)
ge1:SetOperation(c53251824.checkop) ge1:SetLabel(53251824)
ge1:SetOperation(aux.sumreg)
Duel.RegisterEffect(ge1,0) Duel.RegisterEffect(ge1,0)
local ge2=ge1:Clone() local ge2=ge1:Clone()
ge2:SetCode(EVENT_SPSUMMON_SUCCESS) ge2:SetCode(EVENT_SPSUMMON_SUCCESS)
ge2:SetLabel(53251824)
Duel.RegisterEffect(ge2,0) Duel.RegisterEffect(ge2,0)
end end
end end
function c53251824.checkop(e,tp,eg,ep,ev,re,r,rp)
local tc=eg:GetFirst()
while tc do
tc:RegisterFlagEffect(53251824,RESET_EVENT+0x1ec0000+RESET_PHASE+PHASE_END,0,1)
tc=eg:GetNext()
end
end
function c53251824.spcon(e,tp,eg,ep,ev,re,r,rp) function c53251824.spcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetFlagEffect(53251824)>0 return e:GetHandler():GetFlagEffect(53251824)>0
end end
......
...@@ -29,20 +29,15 @@ function c60950180.initial_effect(c) ...@@ -29,20 +29,15 @@ function c60950180.initial_effect(c)
local ge1=Effect.CreateEffect(c) local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_SUMMON_SUCCESS) ge1:SetCode(EVENT_SUMMON_SUCCESS)
ge1:SetOperation(c60950180.checkop) ge1:SetLabel(60950180)
ge1:SetOperation(aux.sumreg)
Duel.RegisterEffect(ge1,0) Duel.RegisterEffect(ge1,0)
local ge2=ge1:Clone() local ge2=ge1:Clone()
ge2:SetCode(EVENT_SPSUMMON_SUCCESS) ge2:SetCode(EVENT_SPSUMMON_SUCCESS)
ge2:SetLabel(60950180)
Duel.RegisterEffect(ge2,0) Duel.RegisterEffect(ge2,0)
end end
end end
function c60950180.checkop(e,tp,eg,ep,ev,re,r,rp)
local tc=eg:GetFirst()
while tc do
tc:RegisterFlagEffect(60950180,RESET_EVENT+0x1fc0000+RESET_PHASE+PHASE_END,0,1)
tc=eg:GetNext()
end
end
function c60950180.poscon(e,tp,eg,ep,ev,re,r,rp) function c60950180.poscon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetFlagEffect(60950180)>0 return e:GetHandler():GetFlagEffect(60950180)>0
end end
......
...@@ -67,7 +67,7 @@ function c64681432.tgreg1(e,tp,eg,ep,ev,re,r,rp) ...@@ -67,7 +67,7 @@ function c64681432.tgreg1(e,tp,eg,ep,ev,re,r,rp)
e:GetHandler():RegisterFlagEffect(64681432,RESET_EVENT+0x1ec0000+RESET_PHASE+PHASE_END,0,1) e:GetHandler():RegisterFlagEffect(64681432,RESET_EVENT+0x1ec0000+RESET_PHASE+PHASE_END,0,1)
end end
function c64681432.tgreg2(e,tp,eg,ep,ev,re,r,rp) function c64681432.tgreg2(e,tp,eg,ep,ev,re,r,rp)
e:GetHandler():RegisterFlagEffect(64681432,RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END,0,1) e:GetHandler():RegisterFlagEffect(64681432,RESET_EVENT+0x1fc0000+RESET_PHASE+PHASE_END,0,1)
end end
function c64681432.tgcon(e,tp,eg,ep,ev,re,r,rp) function c64681432.tgcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetFlagEffect(64681432)~=0 return e:GetHandler():GetFlagEffect(64681432)~=0
......
...@@ -32,20 +32,15 @@ function c83236601.initial_effect(c) ...@@ -32,20 +32,15 @@ function c83236601.initial_effect(c)
local ge1=Effect.CreateEffect(c) local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_SUMMON_SUCCESS) ge1:SetCode(EVENT_SUMMON_SUCCESS)
ge1:SetOperation(c83236601.checkop) ge1:SetLabel(83236602)
ge1:SetOperation(aux.sumreg)
Duel.RegisterEffect(ge1,0) Duel.RegisterEffect(ge1,0)
local ge2=ge1:Clone() local ge2=ge1:Clone()
ge2:SetCode(EVENT_SPSUMMON_SUCCESS) ge2:SetCode(EVENT_SPSUMMON_SUCCESS)
ge2:SetLabel(83236602)
Duel.RegisterEffect(ge2,0) Duel.RegisterEffect(ge2,0)
end end
end end
function c83236601.checkop(e,tp,eg,ep,ev,re,r,rp)
local tc=eg:GetFirst()
while tc do
tc:RegisterFlagEffect(83236601,RESET_EVENT+0x1ec0000+RESET_PHASE+PHASE_END,0,1)
tc=eg:GetNext()
end
end
function c83236601.tgcon(e,tp,eg,ep,ev,re,r,rp) function c83236601.tgcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetFlagEffect(83236601)>0 return e:GetHandler():GetFlagEffect(83236601)>0
end end
......
...@@ -55,6 +55,15 @@ function c93368494.initial_effect(c) ...@@ -55,6 +55,15 @@ function c93368494.initial_effect(c)
e7:SetTarget(c93368494.rettg) e7:SetTarget(c93368494.rettg)
e7:SetOperation(c93368494.retop) e7:SetOperation(c93368494.retop)
c:RegisterEffect(e7) c:RegisterEffect(e7)
if not c93368494.global_check then
c93368494.global_check=true
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_SPSUMMON_SUCCESS)
ge1:SetLabel(93368494)
ge1:SetOperation(aux.sumreg)
Duel.RegisterEffect(ge1,0)
end
end end
function c93368494.atkcon(e,tp,eg,ep,ev,re,r,rp) function c93368494.atkcon(e,tp,eg,ep,ev,re,r,rp)
local at=Duel.GetAttacker() local at=Duel.GetAttacker()
...@@ -89,8 +98,7 @@ function c93368494.thop(e,tp,eg,ep,ev,re,r,rp) ...@@ -89,8 +98,7 @@ function c93368494.thop(e,tp,eg,ep,ev,re,r,rp)
end end
end end
function c93368494.retcon(e,tp,eg,ep,ev,re,r,rp) function c93368494.retcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() return e:GetHandler():GetFlagEffect(93368494)~=0
return c:IsStatus(STATUS_SUMMON_TURN) and bit.band(c:GetSummonType(),SUMMON_TYPE_SPECIAL)==SUMMON_TYPE_SPECIAL
end end
function c93368494.rettg(e,tp,eg,ep,ev,re,r,rp,chk) function c93368494.rettg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
......
...@@ -25,20 +25,15 @@ function c96345188.initial_effect(c) ...@@ -25,20 +25,15 @@ function c96345188.initial_effect(c)
local ge1=Effect.CreateEffect(c) local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_SUMMON_SUCCESS) ge1:SetCode(EVENT_SUMMON_SUCCESS)
ge1:SetOperation(c96345188.checkop) ge1:SetOperation(aux.sumreg)
ge1:SetLabel(96345188)
Duel.RegisterEffect(ge1,0) Duel.RegisterEffect(ge1,0)
local ge2=ge1:Clone() local ge2=ge1:Clone()
ge2:SetCode(EVENT_SPSUMMON_SUCCESS) ge2:SetCode(EVENT_SPSUMMON_SUCCESS)
ge2:SetLabel(96345188)
Duel.RegisterEffect(ge2,0) Duel.RegisterEffect(ge2,0)
end end
end end
function c96345188.checkop(e,tp,eg,ep,ev,re,r,rp)
local tc=eg:GetFirst()
while tc do
tc:RegisterFlagEffect(96345188,RESET_EVENT+0x1fc0000+RESET_PHASE+PHASE_END,0,1)
tc=eg:GetNext()
end
end
function c96345188.lvcon(e,tp,eg,ep,ev,re,r,rp) function c96345188.lvcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetFlagEffect(96345188)>0 return e:GetHandler():GetFlagEffect(96345188)>0
end end
......
...@@ -1163,3 +1163,14 @@ end ...@@ -1163,3 +1163,14 @@ end
function Auxiliary.nzdef(c) function Auxiliary.nzdef(c)
return c:IsFaceup() and c:GetDefence()>0 return c:IsFaceup() and c:GetDefence()>0
end end
--flag effect for summon/sp_summon turn
function Auxiliary.sumreg(e,tp,eg,ep,ev,re,r,rp)
local tc=eg:GetFirst()
local code=e:GetLabel()
while tc do
if tc:GetOriginalCode()==code then
tc:RegisterFlagEffect(code,RESET_EVENT+0x1ec0000+RESET_PHASE+PHASE_END,0,1)
end
tc=eg:GetNext()
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