Commit 666f52e9 authored by POLYMER's avatar POLYMER

fix

parent 3d3b3fbb
......@@ -19,15 +19,44 @@ function c67201258.initial_effect(c)
e3:SetDescription(aux.Stringid(67201258,1))
e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_CHAINING)
e3:SetCode(EVENT_CUSTOM+67201258)
e3:SetRange(LOCATION_HAND)
e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetCountLimit(1,67201258)
e3:SetCondition(c67201258.spcon)
e3:SetTarget(c67201258.sptg)
e3:SetOperation(c67201258.spop)
c:RegisterEffect(e3)
c:RegisterEffect(e3)
if not c67201258.global_check then
c67201258.global_check=true
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_CHAINING)
ge1:SetCondition(c67201258.regcon)
ge1:SetOperation(c67201258.regop)
Duel.RegisterEffect(ge1,0)
end
end
function c67201258.disfilter(c,tp)
local b1=c:IsLocation(LOCATION_MZONE) and c:IsFaceup()
local b2=c:IsLocation(LOCATION_GRAVE) and c:IsType(TYPE_MONSTER)
return c:IsSetCard(0xa67b) and (b1 or b2) and c:IsControler(tp)
end
function c67201258.regcon(e,tp,eg,ep,ev,re,r,rp)
if not re:IsHasProperty(EFFECT_FLAG_CARD_TARGET) then return false end
local g=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS)
if not g or #g==0 then return false end
local v=0
if g:IsExists(c67201258.disfilter,1,nil,0) then v=v+1 end
if g:IsExists(c67201258.disfilter,1,nil,1) then v=v+2 end
if v==0 then return false end
e:SetLabel(({0,1,PLAYER_ALL})[v])
return true
end
function c67201258.regop(e,tp,eg,ep,ev,re,r,rp)
Duel.RaiseEvent(eg,EVENT_CUSTOM+67201258,re,r,rp,ep,e:GetLabel())
end
--
function c67201258.thfilter(c)
return c:IsSetCard(0xa67b) and not c:IsCode(67201258) and c:IsAbleToHand()
end
......@@ -44,13 +73,8 @@ function c67201258.thop(e,tp,eg,ep,ev,re,r,rp)
end
end
--
function c67201258.disfilter(c,tp)
return c:IsSetCard(0xa67b) and c:IsType(TYPE_MONSTER) and c:IsLocation(LOCATION_GRAVE+LOCATION_MZONE) and c:IsControler(tp) and c:IsFaceupEx()
end
function c67201258.spcon(e,tp,eg,ep,ev,re,r,rp)
if not re:IsHasProperty(EFFECT_FLAG_CARD_TARGET) then return false end
local g=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS)
return g and g:IsExists(c67201258.disfilter,1,nil,tp)
return ev==tp or ev==PLAYER_ALL
end
function c67201258.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
......
......@@ -15,20 +15,17 @@ function c75011010.initial_effect(c)
--spsummon-self
local e2=Effect.CreateEffect(c)
e2:SetDescription(1152)
e2:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_DECKDES)
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_LEAVE_FIELD)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetRange(LOCATION_HAND)
e2:SetRange(LOCATION_HAND+LOCATION_GRAVE)
e2:SetLabelObject(e0)
e2:SetCountLimit(1,75011011)
e2:SetCondition(c75011010.spcon)
e2:SetTarget(c75011010.sptg)
e2:SetOperation(c75011010.spop)
c:RegisterEffect(e2)
local e3=e2:Clone()
e3:SetRange(LOCATION_GRAVE)
e3:SetLabelObject(e0)
c:RegisterEffect(e3)
end
function c75011010.tgfilter(c)
return c:IsSetCard(0x75e) and c:IsAbleToGrave()
......
......@@ -8,36 +8,32 @@ function c9911301.initial_effect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_SSET)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetRange(LOCATION_HAND)
e1:SetRange(LOCATION_HAND+LOCATION_GRAVE)
e1:SetCountLimit(1,9911301)
e1:SetLabelObject(e0)
e1:SetCondition(c9911301.spcon)
e1:SetTarget(c9911301.sptg)
e1:SetOperation(c9911301.spop)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetRange(LOCATION_GRAVE)
e2:SetLabelObject(e0)
c:RegisterEffect(e2)
--search
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(9911301,1))
e3:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH+CATEGORY_RELEASE+CATEGORY_EQUIP)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e3:SetRange(LOCATION_MZONE)
e3:SetCode(EVENT_CHAINING)
e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetCountLimit(1,9911302)
e3:SetCondition(c9911301.thcon)
e3:SetTarget(c9911301.thtg)
e3:SetOperation(c9911301.thop)
c:RegisterEffect(e3)
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(9911301,1))
e2:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH+CATEGORY_RELEASE+CATEGORY_EQUIP)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetRange(LOCATION_MZONE)
e2:SetCode(EVENT_CHAINING)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCountLimit(1,9911302)
e2:SetCondition(c9911301.thcon)
e2:SetTarget(c9911301.thtg)
e2:SetOperation(c9911301.thop)
c:RegisterEffect(e2)
end
function c9911301.cfilter(c,se)
return se==nil or c:GetReasonEffect()~=se
end
function c9911301.spcon(e,tp,eg,ep,ev,re,r,rp)
local se
if e:GetLabelObject() then se=e:GetLabelObject():GetLabelObject() end
local se=e:GetLabelObject():GetLabelObject()
return eg:IsExists(c9911301.cfilter,1,nil,se)
end
function c9911301.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
......
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