Commit 066a4321 authored by POLYMER's avatar POLYMER

fix

parent 8bb4bcb5
...@@ -19,10 +19,11 @@ function cm.initial_effect(c) ...@@ -19,10 +19,11 @@ function cm.initial_effect(c)
e2:SetCode(EVENT_FLIP) e2:SetCode(EVENT_FLIP)
c:RegisterEffect(e2) c:RegisterEffect(e2)
-- --
local custom_code=aux.RegisterMergedDelayedEvent_ToSingleCard(c,m,EVENT_CUSTOM+m)
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(m,0)) e3:SetDescription(aux.Stringid(m,0))
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_CUSTOM+m) e3:SetCode(custom_code)
e3:SetRange(LOCATION_HAND+LOCATION_MZONE) e3:SetRange(LOCATION_HAND+LOCATION_MZONE)
e3:SetProperty(EFFECT_FLAG_DELAY) e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetCondition(cm.sumcon) e3:SetCondition(cm.sumcon)
...@@ -43,21 +44,20 @@ function cm.initial_effect(c) ...@@ -43,21 +44,20 @@ function cm.initial_effect(c)
local ge2=ge1:Clone() local ge2=ge1:Clone()
ge2:SetCode(EVENT_CHAIN_SOLVED) ge2:SetCode(EVENT_CHAIN_SOLVED)
ge2:SetOperation(cm.MergedDelayEventCheck2) ge2:SetOperation(cm.MergedDelayEventCheck2)
Duel.RegisterEffect(ge2,0) --Duel.RegisterEffect(ge2,0)
local ge3=ge2:Clone() local ge3=ge2:Clone()
ge3:SetCode(EVENT_CHAIN_NEGATED) ge3:SetCode(EVENT_CHAIN_NEGATED)
Duel.RegisterEffect(ge3,0) --Duel.RegisterEffect(ge3,0)
end end
end end
s.has_text_type=TYPE_SPIRIT cm.has_text_type=TYPE_SPIRIT
function cm.MergedDelayEventCheck1(e,tp,eg,ep,ev,re,r,rp) function cm.MergedDelayEventCheck1(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetTurnCount()<=0 or not eg then return end if Duel.GetTurnCount()<=0 or not eg then return end
local c=e:GetHandler() local c=e:GetHandler()
local eg2=eg:Filter(cm.cfilter,nil) local eg2=eg:Filter(cm.cfilter,nil)
local g=e:GetLabelObject() local g=e:GetLabelObject()
g:Merge(eg2) g:Merge(eg2)
--if c:IsLocation(LOCATION_MZONE) and c:IsFaceup() then c:RegisterFlagEffect(m-1,RESET_EVENT+RESETS_STANDARD,0,1) end if #eg2>0 then --(Duel.GetCurrentChain()==0 or (Duel.GetCurrentChain()==1 and (Duel.CheckEvent(EVENT_CHAIN_SOLVED) or Duel.CheckEvent(EVENT_CHAIN_NEGATED)))) then
if (Duel.GetCurrentChain()==0 or (Duel.GetCurrentChain()==1 and (Duel.CheckEvent(EVENT_CHAIN_SOLVED) or Duel.CheckEvent(EVENT_CHAIN_NEGATED)))) and #g>0 then
local _eg=g:Clone() local _eg=g:Clone()
Duel.RaiseEvent(_eg,EVENT_CUSTOM+e:GetLabel(),re,r,rp,ep,ev) Duel.RaiseEvent(_eg,EVENT_CUSTOM+e:GetLabel(),re,r,rp,ep,ev)
g:Clear() g:Clear()
......
...@@ -29,6 +29,7 @@ function cm.initial_effect(c) ...@@ -29,6 +29,7 @@ function cm.initial_effect(c)
e5:SetCode(EVENT_CHAIN_NEGATED) e5:SetCode(EVENT_CHAIN_NEGATED)
c:RegisterEffect(e5) c:RegisterEffect(e5)
end end
cm.has_text_type=TYPE_SPIRIT
function cm.ffilter(c,fc,sub,mg,sg) function cm.ffilter(c,fc,sub,mg,sg)
return c:IsLevelAbove(1) and (not sg or not sg:IsExists(Card.IsLevel,1,c,c:GetLevel())) return c:IsLevelAbove(1) and (not sg or not sg:IsExists(Card.IsLevel,1,c,c:GetLevel()))
end end
......
...@@ -17,6 +17,9 @@ function cm.initial_effect(c) ...@@ -17,6 +17,9 @@ function cm.initial_effect(c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
cm.hand_effect=cm.hand_effect or {} cm.hand_effect=cm.hand_effect or {}
cm.hand_effect[c]=e1 cm.hand_effect[c]=e1
local e6=e1:Clone()
e6:SetCode(EVENT_CUSTOM+m+1)
c:RegisterEffect(e6)
--shuffle --shuffle
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(11451416,1)) e2:SetDescription(aux.Stringid(11451416,1))
...@@ -29,6 +32,18 @@ function cm.initial_effect(c) ...@@ -29,6 +32,18 @@ function cm.initial_effect(c)
e2:SetTarget(cm.shtg) e2:SetTarget(cm.shtg)
e2:SetOperation(cm.shop) e2:SetOperation(cm.shop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
if not cm.global_check then
cm.global_check=true
local _Overlay=Duel.Overlay
function Duel.Overlay(xc,v,...)
local t=Auxiliary.GetValueType(v)
local g=Group.CreateGroup()
if t=="Card" then g:AddCard(v) else g=v end
local res=_Overlay(xc,v,...)
Duel.RaiseEvent(g,EVENT_CUSTOM+m+1,e1,0,0,0,0)
return res
end
end
end end
function cm.cfilter(c,tp) function cm.cfilter(c,tp)
return c:IsPreviousLocation(LOCATION_DECK) and c:GetPreviousControler()==tp and not (c:IsLocation(LOCATION_DECK) and c:IsControler(tp)) return c:IsPreviousLocation(LOCATION_DECK) and c:GetPreviousControler()==tp and not (c:IsLocation(LOCATION_DECK) and c:IsControler(tp))
......
...@@ -28,7 +28,6 @@ function cm.initial_effect(c) ...@@ -28,7 +28,6 @@ function cm.initial_effect(c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
local e10=e1:Clone() local e10=e1:Clone()
e10:SetCode(EVENT_CUSTOM+m+1) e10:SetCode(EVENT_CUSTOM+m+1)
e10:SetCondition(aux.TRUE)
c:RegisterEffect(e10) c:RegisterEffect(e10)
--hand --hand
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
...@@ -41,8 +40,7 @@ function cm.initial_effect(c) ...@@ -41,8 +40,7 @@ function cm.initial_effect(c)
e2:SetOperation(cm.operation2) e2:SetOperation(cm.operation2)
c:RegisterEffect(e2) c:RegisterEffect(e2)
local e20=e2:Clone() local e20=e2:Clone()
e20:SetCode(EVENT_CUSTOM+m+2) e20:SetCode(EVENT_CUSTOM+m+1)
e20:SetCondition(aux.TRUE)
c:RegisterEffect(e20) c:RegisterEffect(e20)
--mzone --mzone
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
...@@ -116,13 +114,9 @@ function cm.initial_effect(c) ...@@ -116,13 +114,9 @@ function cm.initial_effect(c)
local t=Auxiliary.GetValueType(v) local t=Auxiliary.GetValueType(v)
local g=Group.CreateGroup() local g=Group.CreateGroup()
if t=="Card" then g:AddCard(v) else g=v end if t=="Card" then g:AddCard(v) else g=v end
if g:IsExists(Card.IsLocation,1,nil,LOCATION_DECK) then local res=_Overlay(xc,v,...)
Duel.RaiseEvent(g:Filter(Card.IsLocation,nil,LOCATION_DECK),EVENT_CUSTOM+m+1,e,0,0,0,0) Duel.RaiseEvent(g,EVENT_CUSTOM+m+1,e1,0,0,0,0)
end return res
if g:IsExists(Card.IsLocation,1,nil,LOCATION_HAND) then
Duel.RaiseEvent(g:Filter(Card.IsLocation,nil,LOCATION_HAND),EVENT_CUSTOM+m+2,e,0,0,0,0)
end
return _Overlay(xc,v,...)
end end
end end
end end
......
...@@ -17,7 +17,7 @@ function cm.initial_effect(c) ...@@ -17,7 +17,7 @@ function cm.initial_effect(c)
e2:SetOperation(cm.acop) e2:SetOperation(cm.acop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
s.has_text_type=TYPE_DUAL cm.has_text_type=TYPE_DUAL
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function cm.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) end if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) end
if chk==0 then return Duel.IsExistingTarget(nil,tp,LOCATION_MZONE,0,1,nil) end if chk==0 then return Duel.IsExistingTarget(nil,tp,LOCATION_MZONE,0,1,nil) end
......
...@@ -30,10 +30,9 @@ function cm.initial_effect(c) ...@@ -30,10 +30,9 @@ function cm.initial_effect(c)
local t=Auxiliary.GetValueType(v) local t=Auxiliary.GetValueType(v)
local g=Group.CreateGroup() local g=Group.CreateGroup()
if t=="Card" then g:AddCard(v) else g=v end if t=="Card" then g:AddCard(v) else g=v end
if g:IsExists(Card.IsLocation,1,nil,LOCATION_REMOVED) then local res=_Overlay(xc,v,...)
Duel.RaiseEvent(g:Filter(Card.IsLocation,nil,LOCATION_REMOVED),EVENT_CUSTOM+m+1,e,0,0,0,0) Duel.RaiseEvent(g,EVENT_CUSTOM+m+1,e1,0,0,0,0)
end return res
return _Overlay(xc,v,...)
end end
end end
end end
...@@ -120,11 +119,11 @@ function cm.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -120,11 +119,11 @@ function cm.spop(e,tp,eg,ep,ev,re,r,rp)
e:SetLabel(0) e:SetLabel(0)
Duel.ResetFlagEffect(tp,m) Duel.ResetFlagEffect(tp,m)
end end
function cm.rfilter(c) function cm.rfilter(c,tp)
return c:GetPreviousLocation()==LOCATION_REMOVED and c:GetPreviousPosition()&POS_FACEDOWN>0 return c:GetPreviousLocation()==LOCATION_REMOVED and c:GetPreviousPosition()&POS_FACEDOWN>0 and c:IsPreviousControler(tp)
end end
function cm.thcon(e,tp,eg,ep,ev,re,r,rp) function cm.thcon(e,tp,eg,ep,ev,re,r,rp)
return aux.exccon(e) and eg:IsExists(cm.rfilter,1,nil) and not eg:IsContains(e:GetHandler()) return aux.exccon(e) and eg:IsExists(cm.rfilter,1,nil,tp) and not eg:IsContains(e:GetHandler())
end end
function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToHand() end if chk==0 then return e:GetHandler():IsAbleToHand() end
......
...@@ -11,7 +11,7 @@ function cm.initial_effect(c) ...@@ -11,7 +11,7 @@ function cm.initial_effect(c)
e1:SetOperation(cm.activate) e1:SetOperation(cm.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
s.has_text_type=TYPE_DUAL cm.has_text_type=TYPE_DUAL
function cm.filter(c) function cm.filter(c)
return c:IsFaceup() and c:IsType(TYPE_PENDULUM) return c:IsFaceup() and c:IsType(TYPE_PENDULUM)
end end
......
...@@ -62,10 +62,9 @@ function cm.initial_effect(c) ...@@ -62,10 +62,9 @@ function cm.initial_effect(c)
local t=Auxiliary.GetValueType(v) local t=Auxiliary.GetValueType(v)
local g=Group.CreateGroup() local g=Group.CreateGroup()
if t=="Card" then g:AddCard(v) else g=v end if t=="Card" then g:AddCard(v) else g=v end
if g:IsExists(Card.IsLocation,1,nil,LOCATION_HAND) then local res=_Overlay(xc,v,...)
Duel.RaiseEvent(g:Filter(Card.IsLocation,nil,LOCATION_HAND),EVENT_CUSTOM+m+1,e,0,0,0,0) Duel.RaiseEvent(g,EVENT_CUSTOM+m+1,e1,0,0,0,0)
end return res
return _Overlay(xc,v,...)
end end
end end
end end
...@@ -92,6 +91,7 @@ function cm.desop(e,tp,eg,ep,ev,re,r,rp) ...@@ -92,6 +91,7 @@ function cm.desop(e,tp,eg,ep,ev,re,r,rp)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END) e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
sc:RegisterEffect(e1,true) sc:RegisterEffect(e1,true)
c:RegisterFlagEffect(m,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1) c:RegisterFlagEffect(m,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1)
sc:RegisterFlagEffect(m,RESET_PHASE+PHASE_END,0,1)
Duel.ConfirmCards(tp,sc) Duel.ConfirmCards(tp,sc)
Duel.HintSelection(Group.FromCards(sc)) Duel.HintSelection(Group.FromCards(sc))
--hand --hand
...@@ -104,14 +104,19 @@ function cm.desop(e,tp,eg,ep,ev,re,r,rp) ...@@ -104,14 +104,19 @@ function cm.desop(e,tp,eg,ep,ev,re,r,rp)
e2:SetOperation(cm.operation2) e2:SetOperation(cm.operation2)
e2:SetReset(RESET_PHASE+PHASE_END) e2:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e2,tp) Duel.RegisterEffect(e2,tp)
local e3=e2:Clone()
e3:SetCode(EVENT_CUSTOM+m+1)
Duel.RegisterEffect(e3,tp)
end end
function cm.condition2(e,tp,eg,ep,ev,re,r,rp) function cm.condition2(e,tp,eg,ep,ev,re,r,rp)
local sc=e:GetLabelObject() local sc=e:GetLabelObject()
return eg:IsContains(sc) and sc:IsPreviousLocation(LOCATION_HAND) and not sc:IsLocation(LOCATION_HAND) and sc:GetPreviousPosition()&POS_FACEUP>0 return eg:IsContains(sc) and sc:IsPreviousLocation(LOCATION_HAND) and not sc:IsLocation(LOCATION_HAND) and sc:GetPreviousPosition()&POS_FACEUP>0 and sc:GetFlagEffect(m)>0
end end
function cm.operation2(e,tp,eg,ep,ev,re,r,rp) function cm.operation2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local sc=e:GetLabelObject()
e:Reset() e:Reset()
sc:ResetFlagEffect(m)
Duel.Hint(HINT_CARD,0,m) Duel.Hint(HINT_CARD,0,m)
local dr=Duel.IsPlayerCanDraw(tp,1) local dr=Duel.IsPlayerCanDraw(tp,1)
local sp=c:GetFlagEffect(m)>0 and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 local sp=c:GetFlagEffect(m)>0 and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
...@@ -159,7 +164,6 @@ function cm.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -159,7 +164,6 @@ function cm.spop(e,tp,eg,ep,ev,re,r,rp)
e1:SetCondition(cm.descon) e1:SetCondition(cm.descon)
local e6=e1:Clone() local e6=e1:Clone()
e6:SetCode(EVENT_CUSTOM+m+1) e6:SetCode(EVENT_CUSTOM+m+1)
e6:SetCondition(aux.TRUE)
c:RegisterEffect(e6) c:RegisterEffect(e6)
elseif sid==2 then elseif sid==2 then
e1:SetCode(EVENT_LEAVE_FIELD) e1:SetCode(EVENT_LEAVE_FIELD)
......
...@@ -16,7 +16,6 @@ function cm.initial_effect(c) ...@@ -16,7 +16,6 @@ function cm.initial_effect(c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
local e6=e1:Clone() local e6=e1:Clone()
e6:SetCode(EVENT_CUSTOM+m+1) e6:SetCode(EVENT_CUSTOM+m+1)
e6:SetCondition(aux.TRUE)
c:RegisterEffect(e6) c:RegisterEffect(e6)
local e3=e1:Clone() local e3=e1:Clone()
e3:SetType(EFFECT_TYPE_QUICK_O) e3:SetType(EFFECT_TYPE_QUICK_O)
...@@ -45,15 +44,14 @@ function cm.initial_effect(c) ...@@ -45,15 +44,14 @@ function cm.initial_effect(c)
if not cm.global_check then if not cm.global_check then
cm.global_check=true cm.global_check=true
local _Overlay=Duel.Overlay local _Overlay=Duel.Overlay
function Duel.Overlay(xc,v,...) function Duel.Overlay(xc,v,...)
local t=Auxiliary.GetValueType(v) local t=Auxiliary.GetValueType(v)
local g=Group.CreateGroup() local g=Group.CreateGroup()
if t=="Card" then g:AddCard(v) else g=v end if t=="Card" then g:AddCard(v) else g=v end
if g:IsExists(Card.IsLocation,1,nil,LOCATION_DECK) then local res=_Overlay(xc,v,...)
Duel.RaiseEvent(g:Filter(Card.IsLocation,nil,LOCATION_DECK),EVENT_CUSTOM+m+1,e,0,0,0,0) Duel.RaiseEvent(g,EVENT_CUSTOM+m+1,e1,0,0,0,0)
end return res
return _Overlay(xc,v,...) end
end
end end
end end
function cm.spfilter0(c,loc) function cm.spfilter0(c,loc)
......
...@@ -53,20 +53,18 @@ function cm.initial_effect(c) ...@@ -53,20 +53,18 @@ function cm.initial_effect(c)
c:RegisterEffect(e5) c:RegisterEffect(e5)
local e6=e3:Clone() local e6=e3:Clone()
e6:SetCode(EVENT_CUSTOM+m+1) e6:SetCode(EVENT_CUSTOM+m+1)
e6:SetCondition(aux.TRUE)
c:RegisterEffect(e6) c:RegisterEffect(e6)
if not cm.global_check then if not cm.global_check then
cm.global_check=true cm.global_check=true
local _Overlay=Duel.Overlay local _Overlay=Duel.Overlay
function Duel.Overlay(xc,v,...) function Duel.Overlay(xc,v,...)
local t=Auxiliary.GetValueType(v) local t=Auxiliary.GetValueType(v)
local g=Group.CreateGroup() local g=Group.CreateGroup()
if t=="Card" then g:AddCard(v) else g=v end if t=="Card" then g:AddCard(v) else g=v end
if g:IsExists(Card.IsLocation,1,nil,LOCATION_HAND) then local res=_Overlay(xc,v,...)
Duel.RaiseEvent(g:Filter(Card.IsLocation,nil,LOCATION_HAND),EVENT_CUSTOM+m+1,e,0,0,0,0) Duel.RaiseEvent(g,EVENT_CUSTOM+m+1,e1,0,0,0,0)
end return res
return _Overlay(xc,v,...) end
end
local ge2=Effect.CreateEffect(c) local ge2=Effect.CreateEffect(c)
ge2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) ge2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge2:SetCode(EVENT_CHAIN_ACTIVATING) ge2:SetCode(EVENT_CHAIN_ACTIVATING)
......
...@@ -29,7 +29,6 @@ function cm.initial_effect(c) ...@@ -29,7 +29,6 @@ function cm.initial_effect(c)
c:RegisterEffect(e4) c:RegisterEffect(e4)
local e5=e3:Clone() local e5=e3:Clone()
e5:SetCode(EVENT_CUSTOM+m+1) e5:SetCode(EVENT_CUSTOM+m+1)
e5:SetCondition(aux.TRUE)
c:RegisterEffect(e5) c:RegisterEffect(e5)
if not cm.global_check then if not cm.global_check then
cm.global_check=true cm.global_check=true
...@@ -46,15 +45,14 @@ function cm.initial_effect(c) ...@@ -46,15 +45,14 @@ function cm.initial_effect(c)
ge2:SetOperation(cm.chkop2) ge2:SetOperation(cm.chkop2)
Duel.RegisterEffect(ge2,0) Duel.RegisterEffect(ge2,0)
local _Overlay=Duel.Overlay local _Overlay=Duel.Overlay
function Duel.Overlay(xc,v,...) function Duel.Overlay(xc,v,...)
local t=Auxiliary.GetValueType(v) local t=Auxiliary.GetValueType(v)
local g=Group.CreateGroup() local g=Group.CreateGroup()
if t=="Card" then g:AddCard(v) else g=v end if t=="Card" then g:AddCard(v) else g=v end
if g:IsExists(Card.IsLocation,1,nil,LOCATION_DECK) then local res=_Overlay(xc,v,...)
Duel.RaiseEvent(g:Filter(Card.IsLocation,nil,LOCATION_DECK),EVENT_CUSTOM+m+1,e,0,0,0,0) Duel.RaiseEvent(g,EVENT_CUSTOM+m+1,e1,0,0,0,0)
end return res
return _Overlay(xc,v,...) end
end
end end
if not cm.global_check2 then if not cm.global_check2 then
cm.global_check2=true cm.global_check2=true
......
--人理异星 葛饰北斋 --人理异星 葛饰北斋
function c22021870.initial_effect(c) function c22021870.initial_effect(c)
aux.AddCodeList(c,22702055)
--fusion material --fusion material
c:EnableReviveLimit() c:EnableReviveLimit()
aux.AddFusionProcCode2FunRep(c,22021850,22021860,aux.FilterBoolFunction(Card.IsFusionType,TYPE_EFFECT),1,3,true,true) aux.AddFusionProcCode2FunRep(c,22021850,22021860,aux.FilterBoolFunction(Card.IsFusionType,TYPE_EFFECT),1,3,true,true)
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
local m=29081613 local m=29081613
local cm=_G["c"..m] local cm=_G["c"..m]
function cm.initial_effect(c) function cm.initial_effect(c)
aux.AddCodeList(c,29063234) aux.AddCodeList(c,29063234,22702055)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0)) e1:SetDescription(aux.Stringid(m,0))
......
--潮风的废都 盐风 --潮风的废都 盐风
function c29098630.initial_effect(c) function c29098630.initial_effect(c)
aux.AddCodeList(c,29098631) aux.AddCodeList(c,29098631,22702055)
aux.AddCodeList(c,22702055)
--code --code
aux.EnableChangeCode(c,22702055,LOCATION_SZONE+LOCATION_GRAVE) aux.EnableChangeCode(c,22702055,LOCATION_SZONE+LOCATION_GRAVE)
--Activate --Activate
......
...@@ -2,6 +2,7 @@ local m=53705022 ...@@ -2,6 +2,7 @@ local m=53705022
local cm=_G["c"..m] local cm=_G["c"..m]
cm.name="幻海杀星" cm.name="幻海杀星"
function cm.initial_effect(c) function cm.initial_effect(c)
aux.AddCodeList(c,22702055)
aux.AddLinkProcedure(c,cm.lfilter,1,1) aux.AddLinkProcedure(c,cm.lfilter,1,1)
c:SetSPSummonOnce(m) c:SetSPSummonOnce(m)
c:EnableReviveLimit() c:EnableReviveLimit()
......
...@@ -2,6 +2,7 @@ local m=53752003 ...@@ -2,6 +2,7 @@ local m=53752003
local cm=_G["c"..m] local cm=_G["c"..m]
cm.name="冥渡之都 萨尔迦佐" cm.name="冥渡之都 萨尔迦佐"
function cm.initial_effect(c) function cm.initial_effect(c)
aux.AddCodeList(c,22702055)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
......
--潜海宇宙涡流 --潜海宇宙涡流
local s,id,o=GetID() local s,id,o=GetID()
function s.initial_effect(c) function s.initial_effect(c)
aux.AddCodeList(c,22702055)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,0)) e1:SetDescription(aux.Stringid(id,0))
......
--传说之都 亚特兰蒂斯 深层海域 --传说之都 亚特兰蒂斯 深层海域
local s,id,o=GetID() local s,id,o=GetID()
function s.initial_effect(c) function s.initial_effect(c)
aux.AddCodeList(c,22702055)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
......
--最后的潜海奇袭 --最后的潜海奇袭
function c88880746.initial_effect(c) function c88880746.initial_effect(c)
aux.AddCodeList(c,22702055) aux.AddCodeList(c,22702055)
--code --change code
aux.EnableChangeCode(c,22702055,LOCATION_SZONE) aux.EnableChangeCode(c,22702055,LOCATION_ONFIELD)
end --
function c88880746.initial_effect(c)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH+CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH+CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,88880746+EFFECT_COUNT_CODE_OATH) e1:SetCountLimit(1,88880746)
e1:SetTarget(c88880746.target) e1:SetTarget(c88880746.target)
e1:SetOperation(c88880746.activate) e1:SetOperation(c88880746.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c88880746.filter(c) function c88880746.filter(c)
return aux.IsCodeListed(c,22702055) and c:IsLevelAbove(5) and c:IsAbleToHand() return c:IsAbleToHand() and c:IsLevelAbove(5) and aux.IsCodeListed(c,22702055)
end end
function c88880746.spfilter(c,e,tp) function c88880746.spfilter(c,e,tp)
return aux.IsCodeListed(c,22702055) return c:IsCanBeSpecialSummoned(e,0,tp,false,false) and aux.IsCodeListed(c,22702055) and c:IsType(TYPE_MONSTER)
and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function c88880746.target(e,tp,eg,ep,ev,re,r,rp,chk) function c88880746.target(e,tp,eg,ep,ev,re,r,rp,chk)
local b1=Duel.IsExistingMatchingCard(c88880746.filter,tp,LOCATION_DECK,0,1,nil) local b1=Duel.IsExistingMatchingCard(c88880746.filter,tp,LOCATION_DECK,0,1,nil)
local b2=Duel.GetMZoneCount(tp)>0 and Duel.IsExistingMatchingCard(c88880746.spfilter,tp,LOCATION_HAND,0,1,nil,e,tp) local b2=Duel.GetMZoneCount(tp)>0 and Duel.IsExistingMatchingCard(c88880746.spfilter,tp,LOCATION_HAND+LOCATION_GRAVE+LOCATION_REMOVED,0,1,nil,e,tp)
if chk==0 then return b1 or b2 end if chk==0 then return b1 or b2 end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK) Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAN) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND)
end end
function c88880746.activate(e,tp,eg,ep,ev,re,r,rp) function c88880746.activate(e,tp,eg,ep,ev,re,r,rp)
local ph=Duel.GetCurrentPhase() local ph=Duel.GetCurrentPhase()
local op=0 local op=0
local b1=Duel.IsExistingMatchingCard(c88880746.filter,tp,LOCATION_DECK,0,1,nil) local b1=Duel.IsExistingMatchingCard(c88880746.filter,tp,LOCATION_DECK,0,1,nil)
local b2=Duel.GetMZoneCount(tp)>0 and Duel.IsExistingMatchingCard(c88880746.spfilter,tp,LOCATION_HAND,0,1,nil,e,tp) local b2=Duel.GetMZoneCount(tp)>0 and Duel.IsExistingMatchingCard(c88880746.spfilter,tp,LOCATION_HAND+LOCATION_GRAVE+LOCATION_REMOVED,0,1,nil,e,tp)
if b1 then if b1 then
if not b2 or Duel.SelectYesNo(tp,aux.Stringid(88880746,1)) then if not b2 or Duel.SelectYesNo(tp,aux.Stringid(88880746,1)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
...@@ -44,15 +42,15 @@ function c88880746.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -44,15 +42,15 @@ function c88880746.activate(e,tp,eg,ep,ev,re,r,rp)
op=1 op=1
end end
end end
b2=Duel.GetMZoneCount(tp)>0 and Duel.IsExistingMatchingCard(c88880746.spfilter,tp,LOCATION_HAND,0,1,nil,e,tp) b2=Duel.GetMZoneCount(tp)>0 and Duel.IsExistingMatchingCard(c88880746.spfilter,tp,LOCATION_HAND+LOCATION_GRAVE+LOCATION_REMOVED,0,1,nil,e,tp)
if b2 and (op==0 or ph>=PHASE_BATTLE_START and ph<=PHASE_BATTLE and Duel.SelectYesNo(tp,aux.Stringid(88880746,2))) then if b2 and (op==0 or ph>=PHASE_BATTLE_START and ph<=PHASE_BATTLE and Duel.SelectYesNo(tp,aux.Stringid(88880746,2))) then
if op~=0 then if op~=0 then
Duel.BreakEffect() Duel.BreakEffect()
end end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c88880746.spfilter,tp,LOCATION_HAND,0,1,1,nil,e,tp,e,tp) local g=Duel.SelectMatchingCard(tp,c88880746.spfilter,tp,LOCATION_HAND+LOCATION_GRAVE+LOCATION_REMOVED,0,1,1,nil,e,tp,e,tp)
if g:GetCount()>0 then if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end end
end end
end end
\ No newline at end of file
--海龙 --海龙-伊卡鲁斯
function c88990246.initial_effect(c) function c88990246.initial_effect(c)
aux.AddCodeList(c,22702055)
--tohand --tohand
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(88990246,0)) e1:SetDescription(aux.Stringid(88990246,0))
......
--虚幻之地 帕西菲斯 --虚幻之地 帕西菲斯
function c98910025.initial_effect(c) function c98910025.initial_effect(c)
aux.AddCodeList(c,22702055) aux.AddCodeList(c,22702055)
--act in hand --act in hand
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE) e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_TRAP_ACT_IN_HAND) e2:SetCode(EFFECT_TRAP_ACT_IN_HAND)
e2:SetCondition(c98910025.handcon) e2:SetCondition(c98910025.handcon)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
...@@ -15,8 +15,8 @@ function c98910025.initial_effect(c) ...@@ -15,8 +15,8 @@ function c98910025.initial_effect(c)
e1:SetCost(c98910025.cost) e1:SetCost(c98910025.cost)
e1:SetTarget(c98910025.target) e1:SetTarget(c98910025.target)
e1:SetOperation(c98910025.operation) e1:SetOperation(c98910025.operation)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--equip --equip
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(98910025,0)) e3:SetDescription(aux.Stringid(98910025,0))
e3:SetCategory(CATEGORY_EQUIP) e3:SetCategory(CATEGORY_EQUIP)
......
--忘却之都的守卫者 --忘却之都的守卫者
function c98910026.initial_effect(c) function c98910026.initial_effect(c)
aux.AddCodeList(c,22702055) aux.AddCodeList(c,22702055)
--xyz summon --xyz summon
aux.AddXyzProcedure(c,aux.FilterBoolFunction(Card.IsAttribute,ATTRIBUTE_WATER),4,2) aux.AddXyzProcedure(c,aux.FilterBoolFunction(Card.IsAttribute,ATTRIBUTE_WATER),4,2)
c:EnableReviveLimit() c:EnableReviveLimit()
--activate field --activate field
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(98910026,0)) e4:SetDescription(aux.Stringid(98910026,0))
...@@ -14,8 +14,8 @@ aux.AddCodeList(c,22702055) ...@@ -14,8 +14,8 @@ aux.AddCodeList(c,22702055)
e4:SetCondition(c98910026.accon2) e4:SetCondition(c98910026.accon2)
e4:SetTarget(c98910026.actg2) e4:SetTarget(c98910026.actg2)
e4:SetOperation(c98910026.acop2) e4:SetOperation(c98910026.acop2)
c:RegisterEffect(e4) c:RegisterEffect(e4)
--indes --indes
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_INDESTRUCTABLE_EFFECT) e1:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
...@@ -27,20 +27,20 @@ aux.AddCodeList(c,22702055) ...@@ -27,20 +27,20 @@ aux.AddCodeList(c,22702055)
local e2=e1:Clone() local e2=e1:Clone()
e2:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE) e2:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e2:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET) e2:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--negate activate --negate activate
local e1=Effect.CreateEffect(c) local e5=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(98910026,0)) e5:SetDescription(aux.Stringid(98910026,0))
e1:SetCategory(CATEGORY_DISABLE) e5:SetCategory(CATEGORY_DISABLE)
e1:SetType(EFFECT_TYPE_QUICK_O) e5:SetType(EFFECT_TYPE_QUICK_O)
e1:SetRange(LOCATION_MZONE) e5:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1,98910126) e5:SetCountLimit(1,98910126)
e1:SetCode(EVENT_CHAINING) e5:SetCode(EVENT_CHAINING)
e1:SetCondition(c98910026.condition) e5:SetCondition(c98910026.condition)
e1:SetCost(c98910026.cost) e5:SetCost(c98910026.cost)
e1:SetTarget(c98910026.target) e5:SetTarget(c98910026.target)
e1:SetOperation(c98910026.operation) e5:SetOperation(c98910026.operation)
c:RegisterEffect(e1) c:RegisterEffect(e5)
end end
function c98910026.accon2(e,tp,eg,ep,ev,re,r,rp) function c98910026.accon2(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_XYZ) return e:GetHandler():IsSummonType(SUMMON_TYPE_XYZ)
...@@ -102,5 +102,5 @@ function c98910026.target(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -102,5 +102,5 @@ function c98910026.target(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SetOperationInfo(0,CATEGORY_DISABLE,eg,1,0,0) Duel.SetOperationInfo(0,CATEGORY_DISABLE,eg,1,0,0)
end end
function c98910026.operation(e,tp,eg,ep,ev,re,r,rp) function c98910026.operation(e,tp,eg,ep,ev,re,r,rp)
Duel.NegateEffect(ev) Duel.NegateEffect(ev)
end end
\ No newline at end of file
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