Commit d3b9d355 authored by salix5's avatar salix5

fix

parent 768f6f43
...@@ -36,39 +36,33 @@ function c94977269.initial_effect(c) ...@@ -36,39 +36,33 @@ function c94977269.initial_effect(c)
c:RegisterEffect(e4) c:RegisterEffect(e4)
local e5=Effect.CreateEffect(c) local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e5:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e5:SetCode(EVENT_SPSUMMON_SUCCESS) e5:SetCode(EVENT_SPSUMMON)
e5:SetRange(LOCATION_MZONE) e5:SetRange(LOCATION_MZONE)
e5:SetOperation(c94977269.checkop1) e5:SetOperation(c94977269.checkop1)
c:RegisterEffect(e5) c:RegisterEffect(e5)
local e6=Effect.CreateEffect(c) local e6=Effect.CreateEffect(c)
e6:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e6:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e6:SetCode(EVENT_SPSUMMON) e6:SetCode(EVENT_CHAINING)
e6:SetRange(LOCATION_MZONE) e6:SetRange(LOCATION_MZONE)
e6:SetOperation(c94977269.checkop1) e6:SetOperation(c94977269.checkop2)
c:RegisterEffect(e6) c:RegisterEffect(e6)
local e7=Effect.CreateEffect(c) local e7=Effect.CreateEffect(c)
e7:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e7:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e7:SetCode(EVENT_CHAINING) e7:SetCode(EVENT_CHAIN_SOLVING)
e7:SetRange(LOCATION_MZONE) e7:SetRange(LOCATION_MZONE)
e7:SetOperation(c94977269.checkop2) e7:SetOperation(c94977269.checkop3)
c:RegisterEffect(e7) c:RegisterEffect(e7)
--tohand
local e8=Effect.CreateEffect(c) local e8=Effect.CreateEffect(c)
e8:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e8:SetDescription(aux.Stringid(94977269,0))
e8:SetCode(EVENT_CHAIN_DISABLED) e8:SetCategory(CATEGORY_TOHAND)
e8:SetRange(LOCATION_MZONE) e8:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e8:SetOperation(c94977269.checkop3) e8:SetCode(EVENT_TO_GRAVE)
e8:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e8:SetCondition(c94977269.thcon)
e8:SetTarget(c94977269.thtg)
e8:SetOperation(c94977269.thop)
c:RegisterEffect(e8) c:RegisterEffect(e8)
--tohand
local e9=Effect.CreateEffect(c)
e9:SetDescription(aux.Stringid(94977269,0))
e9:SetCategory(CATEGORY_TOHAND)
e9:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e9:SetCode(EVENT_TO_GRAVE)
e9:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e9:SetCondition(c94977269.thcon)
e9:SetTarget(c94977269.thtg)
e9:SetOperation(c94977269.thop)
c:RegisterEffect(e9)
end end
function c94977269.ffilter1(c) function c94977269.ffilter1(c)
return c:IsSetCard(0x9d) return c:IsSetCard(0x9d)
...@@ -200,42 +194,62 @@ end ...@@ -200,42 +194,62 @@ end
function c94977269.checkop2(e,tp,eg,ep,ev,re,r,rp) function c94977269.checkop2(e,tp,eg,ep,ev,re,r,rp)
local ex,tg,ct,sp=Duel.GetOperationInfo(ev,CATEGORY_SPECIAL_SUMMON) local ex,tg,ct,sp=Duel.GetOperationInfo(ev,CATEGORY_SPECIAL_SUMMON)
local c=e:GetHandler() local c=e:GetHandler()
local p=0
if ex then if ex then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
if sp==PLAYER_ALL then if sp==PLAYER_ALL then
e1:SetAbsoluteRange(rp,1,1) c:RegisterFlagEffect(94977269,RESET_EVENT+0x1fe0000+RESET_CHAIN,0,1)
c:RegisterFlagEffect(94977270,RESET_EVENT+0x1fe0000+RESET_CHAIN,0,1)
p=PLAYER_ALL
else else
e1:SetAbsoluteRange(rp,1,0) c:RegisterFlagEffect(94977269+rp,RESET_EVENT+0x1fe0000+RESET_CHAIN,0,1)
p=rp
end end
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetCode(EVENT_CHAIN_ACTIVATING)
e1:SetRange(LOCATION_MZONE)
e1:SetLabel(p)
e1:SetReset(RESET_EVENT+0x1fe0000+RESET_CHAIN)
e1:SetOperation(c94977269.rst)
c:RegisterEffect(e1) c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_CHAIN_SOLVING)
e2:SetOperation(c94977269.rst)
e2:SetLabelObject(e1)
Duel.RegisterEffect(e2,tp)
end end
end end
function c94977269.rst(e,tp,eg,ep,ev,re,r,rp) function c94977269.rst(e,tp,eg,ep,ev,re,r,rp)
local e1=e:GetLabelObject() local c=e:GetHandler()
if e1 then e1:Reset() end local p=e:GetLabel()
if p==PLAYER_ALL then
c:ResetFlagEffect(94977269)
c:ResetFlagEffect(94977270)
else
c:ResetFlagEffect(94977269+p)
end
e:Reset() e:Reset()
end end
function c94977269.checkop3(e,tp,eg,ep,ev,re,r,rp) function c94977269.checkop3(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local ex,tg,ct,sp=Duel.GetOperationInfo(ev,CATEGORY_SPECIAL_SUMMON) local ex,tg,ct,sp=Duel.GetOperationInfo(ev,CATEGORY_SPECIAL_SUMMON)
if ex then if ex then
if sp==PLAYER_ALL then local e1=Effect.CreateEffect(c)
c:RegisterFlagEffect(94977269,RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END,0,1) e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
c:RegisterFlagEffect(94977270,RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END,0,1) e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
else e1:SetCode(EVENT_CHAIN_SOLVED)
c:RegisterFlagEffect(94977269+rp,RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END,0,1) e1:SetRange(LOCATION_MZONE)
end e1:SetReset(RESET_EVENT+0x1fe0000+RESET_CHAIN)
e1:SetOperation(c94977269.checkop4)
c:RegisterEffect(e1)
end
end
function c94977269.checkop4(e,tp,eg,ep,ev,re,r,rp)
local ex,tg,ct,sp=Duel.GetOperationInfo(ev,CATEGORY_SPECIAL_SUMMON)
local c=e:GetHandler()
if sp==PLAYER_ALL then
c:RegisterFlagEffect(94977269,RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END,0,1)
c:RegisterFlagEffect(94977270,RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END,0,1)
else
c:RegisterFlagEffect(94977269+rp,RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END,0,1)
end end
e:Reset()
end end
function c94977269.indval(e,re,tp) function c94977269.indval(e,re,tp)
return tp~=e:GetHandlerPlayer() return tp~=e:GetHandlerPlayer()
......
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