Commit 3d3b3fbb authored by POLYMER's avatar POLYMER

fix

parent e12c210f
......@@ -157,9 +157,39 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
local tc=g:Filter(function(c) return c:GetSequence()==ct end,nil):GetFirst()
if KOISHI_CHECK then
c:SetEntityCode(tc:GetOriginalCode())
c:ReplaceEffect(80316585,0)
c:SetStatus(STATUS_EFFECT_REPLACED,false)
if tc.initial_effect then tc.initial_effect(c) end
if not tc.initial_effect then
c:ReplaceEffect(80316585,0)
c:SetStatus(STATUS_EFFECT_REPLACED,false)
else
cm.proeffects=cm.proeffects or {}
local _SetProperty=Effect.SetProperty
local _Clone=Effect.Clone
Effect.SetProperty=function(pe,prop1,prop2)
if not prop2 then prop2=0 end
if prop1&EFFECT_FLAG_UNCOPYABLE~=0 then
cm.proeffects[pe]={prop1,prop2}
prop1=prop1&(~EFFECT_FLAG_UNCOPYABLE)
else
cm.proeffects[pe]=nil
end
return _SetProperty(pe,prop1,prop2)
end
Effect.Clone=function(pe)
local ce=pe:Clone()
if cm.proeffects[pe] then
cm.proeffects[ce]=cm.proeffects[pe]
end
return ce
end
c:ReplaceEffect(tc:GetOriginalCode(),0)
c:SetStatus(STATUS_EFFECT_REPLACED,false)
Effect.SetProperty=_SetProperty
Effect.Clone=_Clone
for ke,vp in pairs(cm.proeffects) do
local prop1,prop2=table.unpack(vp)
ke:SetProperty(prop1|EFFECT_FLAG_UNCOPYABLE,prop2)
end
end
Duel.DisableShuffleCheck()
Duel.Exile(tc,0)
else
......
......@@ -43,9 +43,35 @@ function cm.setop(e,tp,eg,ep,ev,re,r,rp)
if tc and Duel.SSet(tp,tc)~=0 and c:IsRelateToEffect(e) and c:IsAbleToDeck() then
if KOISHI_CHECK then
c:SetEntityCode(m+48,true)
cm.proeffects=cm.proeffects or {}
local _SetProperty=Effect.SetProperty
local _Clone=Effect.Clone
Effect.SetProperty=function(pe,prop1,prop2)
if not prop2 then prop2=0 end
if prop1&EFFECT_FLAG_UNCOPYABLE~=0 then
cm.proeffects[pe]={prop1,prop2}
prop1=prop1&(~EFFECT_FLAG_UNCOPYABLE)
else
cm.proeffects[pe]=nil
end
return _SetProperty(pe,prop1,prop2)
end
Effect.Clone=function(pe)
local ce=pe:Clone()
if cm.proeffects[pe] then
cm.proeffects[ce]=cm.proeffects[pe]
end
return ce
end
c:ReplaceEffect(m+48,0)
c:EnableReviveLimit()
aux.AddLinkProcedure(c,cm.matfilter,2,2)
Effect.SetProperty=_SetProperty
Effect.Clone=_Clone
for ke,vp in pairs(cm.proeffects) do
local prop1,prop2=table.unpack(vp)
ke:SetProperty(prop1|EFFECT_FLAG_UNCOPYABLE,prop2)
end
--[[c:EnableReviveLimit()
aux.AddLinkProcedure(c,cm.matfilter,2,2)--]]
local loc=c:GetLocation()
Duel.SendtoDeck(c,nil,2,REASON_EFFECT)
Duel.ConfirmCards(1-tp,c)
......
......@@ -43,9 +43,33 @@ function cm.setop(e,tp,eg,ep,ev,re,r,rp)
if tc and Duel.SSet(tp,tc)~=0 and c:IsRelateToEffect(e) and c:IsAbleToDeck() then
if KOISHI_CHECK then
c:SetEntityCode(m+48,true)
cm.proeffects=cm.proeffects or {}
local _SetProperty=Effect.SetProperty
local _Clone=Effect.Clone
Effect.SetProperty=function(pe,prop1,prop2)
if not prop2 then prop2=0 end
if prop1&EFFECT_FLAG_UNCOPYABLE~=0 then
cm.proeffects[pe]={prop1,prop2}
prop1=prop1&(~EFFECT_FLAG_UNCOPYABLE)
else
cm.proeffects[pe]=nil
end
return _SetProperty(pe,prop1,prop2)
end
Effect.Clone=function(pe)
local ce=pe:Clone()
if cm.proeffects[pe] then
cm.proeffects[ce]=cm.proeffects[pe]
end
return ce
end
c:ReplaceEffect(m+48,0)
c:EnableReviveLimit()
aux.AddXyzProcedure(c,aux.FilterBoolFunction(Card.IsAttribute,ATTRIBUTE_DARK),4,2)
Effect.SetProperty=_SetProperty
Effect.Clone=_Clone
for ke,vp in pairs(cm.proeffects) do
local prop1,prop2=table.unpack(vp)
ke:SetProperty(prop1|EFFECT_FLAG_UNCOPYABLE,prop2)
end
local loc=c:GetLocation()
Duel.SendtoDeck(c,nil,2,REASON_EFFECT)
Duel.ConfirmCards(1-tp,c)
......
......@@ -43,9 +43,33 @@ function cm.setop(e,tp,eg,ep,ev,re,r,rp)
if tc and Duel.SSet(tp,tc)~=0 and c:IsRelateToEffect(e) and c:IsAbleToDeck() then
if KOISHI_CHECK then
c:SetEntityCode(m+48,true)
cm.proeffects=cm.proeffects or {}
local _SetProperty=Effect.SetProperty
local _Clone=Effect.Clone
Effect.SetProperty=function(pe,prop1,prop2)
if not prop2 then prop2=0 end
if prop1&EFFECT_FLAG_UNCOPYABLE~=0 then
cm.proeffects[pe]={prop1,prop2}
prop1=prop1&(~EFFECT_FLAG_UNCOPYABLE)
else
cm.proeffects[pe]=nil
end
return _SetProperty(pe,prop1,prop2)
end
Effect.Clone=function(pe)
local ce=pe:Clone()
if cm.proeffects[pe] then
cm.proeffects[ce]=cm.proeffects[pe]
end
return ce
end
c:ReplaceEffect(m+48,0)
c:EnableReviveLimit()
aux.AddSynchroProcedure(c,nil,aux.NonTuner(nil),1,1)
Effect.SetProperty=_SetProperty
Effect.Clone=_Clone
for ke,vp in pairs(cm.proeffects) do
local prop1,prop2=table.unpack(vp)
ke:SetProperty(prop1|EFFECT_FLAG_UNCOPYABLE,prop2)
end
local loc=c:GetLocation()
Duel.SendtoDeck(c,nil,2,REASON_EFFECT)
Duel.ConfirmCards(1-tp,c)
......
......@@ -43,9 +43,33 @@ function cm.setop(e,tp,eg,ep,ev,re,r,rp)
if tc and Duel.SSet(tp,tc)~=0 and c:IsRelateToEffect(e) and c:IsAbleToDeck() then
if KOISHI_CHECK then
c:SetEntityCode(m+48,true)
cm.proeffects=cm.proeffects or {}
local _SetProperty=Effect.SetProperty
local _Clone=Effect.Clone
Effect.SetProperty=function(pe,prop1,prop2)
if not prop2 then prop2=0 end
if prop1&EFFECT_FLAG_UNCOPYABLE~=0 then
cm.proeffects[pe]={prop1,prop2}
prop1=prop1&(~EFFECT_FLAG_UNCOPYABLE)
else
cm.proeffects[pe]=nil
end
return _SetProperty(pe,prop1,prop2)
end
Effect.Clone=function(pe)
local ce=pe:Clone()
if cm.proeffects[pe] then
cm.proeffects[ce]=cm.proeffects[pe]
end
return ce
end
c:ReplaceEffect(m+48,0)
c:EnableReviveLimit()
aux.AddFusionProcFun2(c,aux.FilterBoolFunction(Card.IsRace,RACE_FAIRY),aux.FilterBoolFunction(Card.IsFusionAttribute,ATTRIBUTE_DARK),true)
Effect.SetProperty=_SetProperty
Effect.Clone=_Clone
for ke,vp in pairs(cm.proeffects) do
local prop1,prop2=table.unpack(vp)
ke:SetProperty(prop1|EFFECT_FLAG_UNCOPYABLE,prop2)
end
local loc=c:GetLocation()
Duel.SendtoDeck(c,nil,2,REASON_EFFECT)
Duel.ConfirmCards(1-tp,c)
......
......@@ -8,32 +8,36 @@ 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+LOCATION_GRAVE)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,9911301)
e1:SetLabelObject(e0)
e1:SetCondition(c9911301.spcon)
e1:SetTarget(c9911301.sptg)
e1:SetOperation(c9911301.spop)
c:RegisterEffect(e1)
--search
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)
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)
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=e:GetLabelObject():GetLabelObject()
local se
if e:GetLabelObject() then se=e:GetLabelObject():GetLabelObject() end
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