Commit b82ff3be authored by Nemo Ma's avatar Nemo Ma

fix

parent 1d7ece2e
...@@ -4455,7 +4455,9 @@ function cm.MultipleGroupCheck(c) ...@@ -4455,7 +4455,9 @@ function cm.MultipleGroupCheck(c)
if not AD_Multiple_Group_Check then if not AD_Multiple_Group_Check then
AD_Multiple_Group_Check=true AD_Multiple_Group_Check=true
Duel.RegisterFlagEffect(0,53759000,0,0,0,0) Duel.RegisterFlagEffect(0,53759000,0,0,0,0)
ADIMI_IsExistingMatchingCard=Duel.IsExistingMatchingCard local ADIMI_IsExistingMatchingCard=Duel.IsExistingMatchingCard
local ADIMI_SelectMatchingCard=Duel.SelectMatchingCard
local ADIMI_GetMatchingGroup=Duel.GetMatchingGroup
Duel.IsExistingMatchingCard=function(...) Duel.IsExistingMatchingCard=function(...)
local lab=Duel.GetFlagEffectLabel(0,53759000) local lab=Duel.GetFlagEffectLabel(0,53759000)
Duel.SetFlagEffectLabel(0,53759000,lab+1) Duel.SetFlagEffectLabel(0,53759000,lab+1)
...@@ -4477,7 +4479,6 @@ function cm.MultipleGroupCheck(c) ...@@ -4477,7 +4479,6 @@ function cm.MultipleGroupCheck(c)
Duel.SetFlagEffectLabel(0,53759000,lab) Duel.SetFlagEffectLabel(0,53759000,lab)
return b return b
end end
ADIMI_SelectMatchingCard=Duel.SelectMatchingCard
Duel.SelectMatchingCard=function(sp,f,p,s,o,min,max,ex,...) Duel.SelectMatchingCard=function(sp,f,p,s,o,min,max,ex,...)
local lab=Duel.GetFlagEffectLabel(0,53759000) local lab=Duel.GetFlagEffectLabel(0,53759000)
Duel.SetFlagEffectLabel(0,53759000,lab+1) Duel.SetFlagEffectLabel(0,53759000,lab+1)
...@@ -4499,7 +4500,6 @@ function cm.MultipleGroupCheck(c) ...@@ -4499,7 +4500,6 @@ function cm.MultipleGroupCheck(c)
Duel.SetFlagEffectLabel(0,53759000,lab) Duel.SetFlagEffectLabel(0,53759000,lab)
return b return b
end end
ADIMI_GetMatchingGroup=Duel.GetMatchingGroup
Duel.GetMatchingGroup=function(...) Duel.GetMatchingGroup=function(...)
local lab=Duel.GetFlagEffectLabel(0,53759000) local lab=Duel.GetFlagEffectLabel(0,53759000)
Duel.SetFlagEffectLabel(0,53759000,lab+1) Duel.SetFlagEffectLabel(0,53759000,lab+1)
...@@ -4521,7 +4521,7 @@ function cm.MultipleGroupCheck(c) ...@@ -4521,7 +4521,7 @@ function cm.MultipleGroupCheck(c)
Duel.SetFlagEffectLabel(0,53759000,lab) Duel.SetFlagEffectLabel(0,53759000,lab)
return b return b
end end
ADIMI_GetMatchingGroupCount=Duel.GetMatchingGroupCount local ADIMI_GetMatchingGroupCount=Duel.GetMatchingGroupCount
Duel.GetMatchingGroupCount=function(...) Duel.GetMatchingGroupCount=function(...)
local lab=Duel.GetFlagEffectLabel(0,53759000) local lab=Duel.GetFlagEffectLabel(0,53759000)
Duel.SetFlagEffectLabel(0,53759000,lab+1) Duel.SetFlagEffectLabel(0,53759000,lab+1)
...@@ -4543,7 +4543,7 @@ function cm.MultipleGroupCheck(c) ...@@ -4543,7 +4543,7 @@ function cm.MultipleGroupCheck(c)
Duel.SetFlagEffectLabel(0,53759000,lab) Duel.SetFlagEffectLabel(0,53759000,lab)
return b return b
end end
ADIMI_GetFirstMatchingCard=Duel.GetFirstMatchingCard local ADIMI_GetFirstMatchingCard=Duel.GetFirstMatchingCard
Duel.GetFirstMatchingCard=function(...) Duel.GetFirstMatchingCard=function(...)
local lab=Duel.GetFlagEffectLabel(0,53759000) local lab=Duel.GetFlagEffectLabel(0,53759000)
Duel.SetFlagEffectLabel(0,53759000,lab+1) Duel.SetFlagEffectLabel(0,53759000,lab+1)
...@@ -4565,7 +4565,7 @@ function cm.MultipleGroupCheck(c) ...@@ -4565,7 +4565,7 @@ function cm.MultipleGroupCheck(c)
Duel.SetFlagEffectLabel(0,53759000,lab) Duel.SetFlagEffectLabel(0,53759000,lab)
return b return b
end end
ADIMI_IsExists=Group.IsExists local ADIMI_IsExists=Group.IsExists
Group.IsExists=function(...) Group.IsExists=function(...)
local lab=Duel.GetFlagEffectLabel(0,53759000) local lab=Duel.GetFlagEffectLabel(0,53759000)
Duel.SetFlagEffectLabel(0,53759000,lab+1) Duel.SetFlagEffectLabel(0,53759000,lab+1)
...@@ -4587,7 +4587,7 @@ function cm.MultipleGroupCheck(c) ...@@ -4587,7 +4587,7 @@ function cm.MultipleGroupCheck(c)
Duel.SetFlagEffectLabel(0,53759000,lab) Duel.SetFlagEffectLabel(0,53759000,lab)
return b return b
end end
ADIMI_Filter=Group.Filter local ADIMI_Filter=Group.Filter
Group.Filter=function(...) Group.Filter=function(...)
local lab=Duel.GetFlagEffectLabel(0,53759000) local lab=Duel.GetFlagEffectLabel(0,53759000)
Duel.SetFlagEffectLabel(0,53759000,lab+1) Duel.SetFlagEffectLabel(0,53759000,lab+1)
...@@ -4609,7 +4609,7 @@ function cm.MultipleGroupCheck(c) ...@@ -4609,7 +4609,7 @@ function cm.MultipleGroupCheck(c)
Duel.SetFlagEffectLabel(0,53759000,lab) Duel.SetFlagEffectLabel(0,53759000,lab)
return b return b
end end
ADIMI_FilterCount=Group.FilterCount local ADIMI_FilterCount=Group.FilterCount
Group.FilterCount=function(...) Group.FilterCount=function(...)
local lab=Duel.GetFlagEffectLabel(0,53759000) local lab=Duel.GetFlagEffectLabel(0,53759000)
Duel.SetFlagEffectLabel(0,53759000,lab+1) Duel.SetFlagEffectLabel(0,53759000,lab+1)
...@@ -4631,7 +4631,7 @@ function cm.MultipleGroupCheck(c) ...@@ -4631,7 +4631,7 @@ function cm.MultipleGroupCheck(c)
Duel.SetFlagEffectLabel(0,53759000,lab) Duel.SetFlagEffectLabel(0,53759000,lab)
return b return b
end end
ADIMI_Remove=Group.Remove local ADIMI_Remove=Group.Remove
Group.Remove=function(...) Group.Remove=function(...)
local lab=Duel.GetFlagEffectLabel(0,53759000) local lab=Duel.GetFlagEffectLabel(0,53759000)
Duel.SetFlagEffectLabel(0,53759000,lab+1) Duel.SetFlagEffectLabel(0,53759000,lab+1)
...@@ -4653,7 +4653,7 @@ function cm.MultipleGroupCheck(c) ...@@ -4653,7 +4653,7 @@ function cm.MultipleGroupCheck(c)
Duel.SetFlagEffectLabel(0,53759000,lab) Duel.SetFlagEffectLabel(0,53759000,lab)
return b return b
end end
ADIMI_SearchCard=Group.SearchCard local ADIMI_SearchCard=Group.SearchCard
Group.SearchCard=function(...) Group.SearchCard=function(...)
local lab=Duel.GetFlagEffectLabel(0,53759000) local lab=Duel.GetFlagEffectLabel(0,53759000)
Duel.SetFlagEffectLabel(0,53759000,lab+1) Duel.SetFlagEffectLabel(0,53759000,lab+1)
...@@ -4675,7 +4675,7 @@ function cm.MultipleGroupCheck(c) ...@@ -4675,7 +4675,7 @@ function cm.MultipleGroupCheck(c)
Duel.SetFlagEffectLabel(0,53759000,lab) Duel.SetFlagEffectLabel(0,53759000,lab)
return b return b
end end
ADIMI_FilterSelect=Group.FilterSelect local ADIMI_FilterSelect=Group.FilterSelect
Group.FilterSelect=function(g,p,f,min,max,ex,...) Group.FilterSelect=function(g,p,f,min,max,ex,...)
local lab=Duel.GetFlagEffectLabel(0,53759000) local lab=Duel.GetFlagEffectLabel(0,53759000)
Duel.SetFlagEffectLabel(0,53759000,lab+1) Duel.SetFlagEffectLabel(0,53759000,lab+1)
...@@ -4697,7 +4697,7 @@ function cm.MultipleGroupCheck(c) ...@@ -4697,7 +4697,7 @@ function cm.MultipleGroupCheck(c)
Duel.SetFlagEffectLabel(0,53759000,lab) Duel.SetFlagEffectLabel(0,53759000,lab)
return b return b
end end
ADIMI_CheckSubGroup=Group.CheckSubGroup local ADIMI_CheckSubGroup=Group.CheckSubGroup
Group.CheckSubGroup=function(...) Group.CheckSubGroup=function(...)
local lab=Duel.GetFlagEffectLabel(0,53759000) local lab=Duel.GetFlagEffectLabel(0,53759000)
Duel.SetFlagEffectLabel(0,53759000,lab+1) Duel.SetFlagEffectLabel(0,53759000,lab+1)
...@@ -4719,7 +4719,7 @@ function cm.MultipleGroupCheck(c) ...@@ -4719,7 +4719,7 @@ function cm.MultipleGroupCheck(c)
Duel.SetFlagEffectLabel(0,53759000,lab) Duel.SetFlagEffectLabel(0,53759000,lab)
return b return b
end end
ADIMI_SelectSubGroup=Group.SelectSubGroup local ADIMI_SelectSubGroup=Group.SelectSubGroup
Group.SelectSubGroup=function(g,p,f,bool,min,max,...) Group.SelectSubGroup=function(g,p,f,bool,min,max,...)
local lab=Duel.GetFlagEffectLabel(0,53759000) local lab=Duel.GetFlagEffectLabel(0,53759000)
Duel.SetFlagEffectLabel(0,53759000,lab+1) Duel.SetFlagEffectLabel(0,53759000,lab+1)
...@@ -4732,7 +4732,8 @@ function cm.MultipleGroupCheck(c) ...@@ -4732,7 +4732,8 @@ function cm.MultipleGroupCheck(c)
end end
cm["Card_Prophecy_Layer_"..ly]=true cm["Card_Prophecy_Layer_"..ly]=true
cm["Card_Prophecy_L_Check_"..ly]=true cm["Card_Prophecy_L_Check_"..ly]=true
ADIMI_CheckSubGroup(g,f,min,max,...) f(g,...)
--ADIMI_CheckSubGroup(g,f,min,max,...)
cm["Card_Prophecy_L_Check_"..ly]=false cm["Card_Prophecy_L_Check_"..ly]=false
local b=ADIMI_SelectSubGroup(g,p,f,bool,min,max,...) local b=ADIMI_SelectSubGroup(g,p,f,bool,min,max,...)
cm["Card_Prophecy_Certain_SP_"..ly]=false cm["Card_Prophecy_Certain_SP_"..ly]=false
...@@ -4741,7 +4742,7 @@ function cm.MultipleGroupCheck(c) ...@@ -4741,7 +4742,7 @@ function cm.MultipleGroupCheck(c)
Duel.SetFlagEffectLabel(0,53759000,lab) Duel.SetFlagEffectLabel(0,53759000,lab)
return b return b
end end
ADIMI_IsExistingTarget=Duel.IsExistingTarget local ADIMI_IsExistingTarget=Duel.IsExistingTarget
Duel.IsExistingTarget=function(...) Duel.IsExistingTarget=function(...)
local lab=Duel.GetFlagEffectLabel(0,53759000) local lab=Duel.GetFlagEffectLabel(0,53759000)
Duel.SetFlagEffectLabel(0,53759000,lab+1) Duel.SetFlagEffectLabel(0,53759000,lab+1)
...@@ -4749,7 +4750,7 @@ function cm.MultipleGroupCheck(c) ...@@ -4749,7 +4750,7 @@ function cm.MultipleGroupCheck(c)
Duel.SetFlagEffectLabel(0,53759000,lab) Duel.SetFlagEffectLabel(0,53759000,lab)
return b return b
end end
ADIMI_SelectTarget=Duel.SelectTarget local ADIMI_SelectTarget=Duel.SelectTarget
Duel.SelectTarget=function(...) Duel.SelectTarget=function(...)
local lab=Duel.GetFlagEffectLabel(0,53759000) local lab=Duel.GetFlagEffectLabel(0,53759000)
Duel.SetFlagEffectLabel(0,53759000,lab+1) Duel.SetFlagEffectLabel(0,53759000,lab+1)
...@@ -4757,7 +4758,7 @@ function cm.MultipleGroupCheck(c) ...@@ -4757,7 +4758,7 @@ function cm.MultipleGroupCheck(c)
Duel.SetFlagEffectLabel(0,53759000,lab) Duel.SetFlagEffectLabel(0,53759000,lab)
return b return b
end end
ADIMI_DiscardHand=Duel.DiscardHand local ADIMI_DiscardHand=Duel.DiscardHand
Duel.DiscardHand=function(p,f,min,max,reason,ex,...) Duel.DiscardHand=function(p,f,min,max,reason,ex,...)
local lab=Duel.GetFlagEffectLabel(0,53759000) local lab=Duel.GetFlagEffectLabel(0,53759000)
Duel.SetFlagEffectLabel(0,53759000,lab+1) Duel.SetFlagEffectLabel(0,53759000,lab+1)
...@@ -4779,7 +4780,7 @@ function cm.MultipleGroupCheck(c) ...@@ -4779,7 +4780,7 @@ function cm.MultipleGroupCheck(c)
Duel.SetFlagEffectLabel(0,53759000,lab) Duel.SetFlagEffectLabel(0,53759000,lab)
return b return b
end end
ADIMI_SelectReleaseGroup=Duel.SelectReleaseGroup local ADIMI_SelectReleaseGroup=Duel.SelectReleaseGroup
Duel.SelectReleaseGroup=function(p,f,min,max,ex,...) Duel.SelectReleaseGroup=function(p,f,min,max,ex,...)
local lab=Duel.GetFlagEffectLabel(0,53759000) local lab=Duel.GetFlagEffectLabel(0,53759000)
Duel.SetFlagEffectLabel(0,53759000,lab+1) Duel.SetFlagEffectLabel(0,53759000,lab+1)
...@@ -4801,7 +4802,7 @@ function cm.MultipleGroupCheck(c) ...@@ -4801,7 +4802,7 @@ function cm.MultipleGroupCheck(c)
Duel.SetFlagEffectLabel(0,53759000,lab) Duel.SetFlagEffectLabel(0,53759000,lab)
return b return b
end end
ADIMI_SelectReleaseGroupEx=Duel.SelectReleaseGroupEx local ADIMI_SelectReleaseGroupEx=Duel.SelectReleaseGroupEx
Duel.SelectReleaseGroupEx=function(p,f,min,max,r,bool,ex,...) Duel.SelectReleaseGroupEx=function(p,f,min,max,r,bool,ex,...)
local lab=Duel.GetFlagEffectLabel(0,53759000) local lab=Duel.GetFlagEffectLabel(0,53759000)
Duel.SetFlagEffectLabel(0,53759000,lab+1) Duel.SetFlagEffectLabel(0,53759000,lab+1)
...@@ -4836,7 +4837,7 @@ function cm.SetAsSpellorTrapCheck(c,type) ...@@ -4836,7 +4837,7 @@ function cm.SetAsSpellorTrapCheck(c,type)
c:RegisterEffect(e0) c:RegisterEffect(e0)
if not AD_SetAsSpellorTrap_Check then if not AD_SetAsSpellorTrap_Check then
AD_SetAsSpellorTrap_Check=true AD_SetAsSpellorTrap_Check=true
ADIMI_IsSSetable=Card.IsSSetable local ADIMI_IsSSetable=Card.IsSSetable
Card.IsSSetable=function(sc,bool) Card.IsSSetable=function(sc,bool)
local ly=0 local ly=0
for i=1,114 do for i=1,114 do
...@@ -4857,7 +4858,7 @@ function cm.ActivatedAsSpellorTrapCheck(c) ...@@ -4857,7 +4858,7 @@ function cm.ActivatedAsSpellorTrapCheck(c)
if not AD_ActivatedAsSpellorTrap_Check then if not AD_ActivatedAsSpellorTrap_Check then
AD_ActivatedAsSpellorTrap_Check=true AD_ActivatedAsSpellorTrap_Check=true
cm.MultipleGroupCheck(c) cm.MultipleGroupCheck(c)
ADIMI_GetActivateEffect=Card.GetActivateEffect local ADIMI_GetActivateEffect=Card.GetActivateEffect
Card.GetActivateEffect=function(ac) Card.GetActivateEffect=function(ac)
local ly=0 local ly=0
for i=1,114 do for i=1,114 do
...@@ -4897,7 +4898,7 @@ function cm.ActivatedAsSpellorTrapCheck(c) ...@@ -4897,7 +4898,7 @@ function cm.ActivatedAsSpellorTrapCheck(c)
end end
return table.unpack(le) return table.unpack(le)
end end
ADIMI_CheckActivateEffect=Card.CheckActivateEffect local ADIMI_CheckActivateEffect=Card.CheckActivateEffect
Card.CheckActivateEffect=function(ac,...) Card.CheckActivateEffect=function(ac,...)
local ly=0 local ly=0
for i=1,114 do for i=1,114 do
...@@ -4919,11 +4920,11 @@ function cm.ActivatedAsSpellorTrapCheck(c) ...@@ -4919,11 +4920,11 @@ function cm.ActivatedAsSpellorTrapCheck(c)
end end
return table.unpack(le) return table.unpack(le)
end end
ADIMI_IsActivatable=Effect.IsActivatable local ADIMI_IsActivatable=Effect.IsActivatable
Effect.IsActivatable=function(re,...) Effect.IsActivatable=function(re,...)
if re then return ADIMI_IsActivatable(re,...) else return false end if re then return ADIMI_IsActivatable(re,...) else return false end
end end
ADIMI_IsType=Card.IsType local ADIMI_IsType=Card.IsType
Card.IsType=function(rc,type) Card.IsType=function(rc,type)
local res=ADIMI_IsType(rc,type) local res=ADIMI_IsType(rc,type)
local ly=0 local ly=0
...@@ -4942,7 +4943,7 @@ function cm.ActivatedAsSpellorTrapCheck(c) ...@@ -4942,7 +4943,7 @@ function cm.ActivatedAsSpellorTrapCheck(c)
if ae and (res1 or res2) then res=(type&typ~=0) end if ae and (res1 or res2) then res=(type&typ~=0) end
return res return res
end end
ADIMI_CGetType=Card.GetType local ADIMI_CGetType=Card.GetType
Card.GetType=function(rc) Card.GetType=function(rc)
local res=ADIMI_CGetType(rc) local res=ADIMI_CGetType(rc)
local ly=0 local ly=0
...@@ -4961,7 +4962,7 @@ function cm.ActivatedAsSpellorTrapCheck(c) ...@@ -4961,7 +4962,7 @@ function cm.ActivatedAsSpellorTrapCheck(c)
if ae and (res1 or res2) then res=typ end if ae and (res1 or res2) then res=typ end
return res return res
end end
ADIMI_MoveToField=Duel.MoveToField local ADIMI_MoveToField=Duel.MoveToField
Duel.MoveToField=function(rc,...) Duel.MoveToField=function(rc,...)
local xe={rc:IsHasEffect(53765099)} local xe={rc:IsHasEffect(53765099)}
local b=false local b=false
...@@ -4978,7 +4979,36 @@ function cm.ActivatedAsSpellorTrapCheck(c) ...@@ -4978,7 +4979,36 @@ function cm.ActivatedAsSpellorTrapCheck(c)
end end
return ADIMI_MoveToField(rc,...) return ADIMI_MoveToField(rc,...)
end end
ADIMI_IsHasType=Effect.IsHasType local ADIMI_CreateEffect=Effect.CreateEffect
function Effect.CreateEffect(rc,...)
local re=ADIMI_CreateEffect(rc,...)
ADIMI_EHandler=ADIMI_EHandler or {}
if re and rc then ADIMI_EHandler[re]=rc end
return re
end
local ADIMI_CRegisterEffect=Card.RegisterEffect
Card.RegisterEffect=function(rc,re,...)
local res=ADIMI_CRegisterEffect(rc,re,...)
ADIMI_RegisteredEffects=ADIMI_RegisteredEffects or {}
if re and res then ADIMI_RegisteredEffects[re]=true end
return res
end
local ADIMI_DRegisterEffect=Duel.RegisterEffect
Duel.RegisterEffect=function(re,...)
local res=ADIMI_DRegisterEffect(re,...)
ADIMI_RegisteredEffects=ADIMI_RegisteredEffects or {}
if re and res then ADIMI_RegisteredEffects[re]=true end
return res
end
local ADIMI_IsHasType=Effect.IsHasType
local ADIMI_GetHandler=Effect.GetHandler
function Effect.GetHandler(re,...)
ADIMI_RegisteredEffects=ADIMI_RegisteredEffects or {}
if ADIMI_IsHasType(re,EFFECT_TYPE_XMATERIAL) and not ADIMI_RegisteredEffects[re] then return ADIMI_EHandler[re] end
local rc=ADIMI_GetHandler(re,...)
if not rc then return ADIMI_EHandler[re] end
return rc
end
Effect.IsHasType=function(re,type) Effect.IsHasType=function(re,type)
local res=ADIMI_IsHasType(re,type) local res=ADIMI_IsHasType(re,type)
local rc=re:GetHandler() local rc=re:GetHandler()
...@@ -4990,7 +5020,7 @@ function cm.ActivatedAsSpellorTrapCheck(c) ...@@ -4990,7 +5020,7 @@ function cm.ActivatedAsSpellorTrapCheck(c)
if type&EFFECT_TYPE_ACTIVATE~=0 then return true else return false end if type&EFFECT_TYPE_ACTIVATE~=0 then return true else return false end
else return res end else return res end
end end
ADIMI_EGetType=Effect.GetType local ADIMI_EGetType=Effect.GetType
Effect.GetType=function(re) Effect.GetType=function(re)
local rc=re:GetHandler() local rc=re:GetHandler()
local xe={} local xe={}
...@@ -4999,7 +5029,7 @@ function cm.ActivatedAsSpellorTrapCheck(c) ...@@ -4999,7 +5029,7 @@ function cm.ActivatedAsSpellorTrapCheck(c)
for _,v in pairs(xe) do if re==v:GetLabelObject() then b=true end end for _,v in pairs(xe) do if re==v:GetLabelObject() then b=true end end
if b then return EFFECT_TYPE_ACTIVATE else return ADIMI_EGetType(re) end if b then return EFFECT_TYPE_ACTIVATE else return ADIMI_EGetType(re) end
end end
ADIMI_IsActiveType=Effect.IsActiveType local ADIMI_IsActiveType=Effect.IsActiveType
Effect.IsActiveType=function(re,type) Effect.IsActiveType=function(re,type)
local res=ADIMI_IsActiveType(re,type) local res=ADIMI_IsActiveType(re,type)
local rc=re:GetHandler() local rc=re:GetHandler()
...@@ -5012,7 +5042,7 @@ function cm.ActivatedAsSpellorTrapCheck(c) ...@@ -5012,7 +5042,7 @@ function cm.ActivatedAsSpellorTrapCheck(c)
if type&typ~=0 then return true else return false end if type&typ~=0 then return true else return false end
else return res end else return res end
end end
ADIMI_GetActiveType=Effect.GetActiveType local ADIMI_GetActiveType=Effect.GetActiveType
Effect.GetActiveType=function(re) Effect.GetActiveType=function(re)
local rc=re:GetHandler() local rc=re:GetHandler()
local xe={} local xe={}
...@@ -5036,7 +5066,7 @@ function cm.ActivatedAsSpellorTrapCheck(c) ...@@ -5036,7 +5066,7 @@ function cm.ActivatedAsSpellorTrapCheck(c)
end end
if ls>5 then return LOCATION_FZONE elseif ls>0 then return LOCATION_SZONE else return ADIMI_GetActivateLocation(re) end if ls>5 then return LOCATION_FZONE elseif ls>0 then return LOCATION_SZONE else return ADIMI_GetActivateLocation(re) end
end]]-- end]]--
ADIMI_GetActivateSequence=Effect.GetActivateSequence local ADIMI_GetActivateSequence=Effect.GetActivateSequence
Effect.GetActivateSequence=function(re) Effect.GetActivateSequence=function(re)
local rc=re:GetHandler() local rc=re:GetHandler()
local xe={} local xe={}
...@@ -5051,7 +5081,7 @@ function cm.ActivatedAsSpellorTrapCheck(c) ...@@ -5051,7 +5081,7 @@ function cm.ActivatedAsSpellorTrapCheck(c)
end end
if ls>0 then return ls-1 else return seq end if ls>0 then return ls-1 else return seq end
end end
ADIMI_GetChainInfo=Duel.GetChainInfo local ADIMI_GetChainInfo=Duel.GetChainInfo
Duel.GetChainInfo=function(chainc,...) Duel.GetChainInfo=function(chainc,...)
local re=ADIMI_GetChainInfo(chainc,CHAININFO_TRIGGERING_EFFECT) local re=ADIMI_GetChainInfo(chainc,CHAININFO_TRIGGERING_EFFECT)
local b=false local b=false
...@@ -5082,7 +5112,7 @@ function cm.ActivatedAsSpellorTrapCheck(c) ...@@ -5082,7 +5112,7 @@ function cm.ActivatedAsSpellorTrapCheck(c)
end end
return table.unpack(t) return table.unpack(t)
end end
ADIMI_NegateActivation=Duel.NegateActivation local ADIMI_NegateActivation=Duel.NegateActivation
Duel.NegateActivation=function(chainc) Duel.NegateActivation=function(chainc)
local re=ADIMI_GetChainInfo(chainc,CHAININFO_TRIGGERING_EFFECT) local re=ADIMI_GetChainInfo(chainc,CHAININFO_TRIGGERING_EFFECT)
local xe={} local xe={}
...@@ -5098,7 +5128,7 @@ function cm.ActivatedAsSpellorTrapCheck(c) ...@@ -5098,7 +5128,7 @@ function cm.ActivatedAsSpellorTrapCheck(c)
end end
return res return res
end end
ADIMI_ChangeChainOperation=Duel.ChangeChainOperation local ADIMI_ChangeChainOperation=Duel.ChangeChainOperation
Duel.ChangeChainOperation=function(chainc,...) Duel.ChangeChainOperation=function(chainc,...)
local re=ADIMI_GetChainInfo(chainc,CHAININFO_TRIGGERING_EFFECT) local re=ADIMI_GetChainInfo(chainc,CHAININFO_TRIGGERING_EFFECT)
local xe={} local xe={}
...@@ -5108,8 +5138,8 @@ function cm.ActivatedAsSpellorTrapCheck(c) ...@@ -5108,8 +5138,8 @@ function cm.ActivatedAsSpellorTrapCheck(c)
if b then re:GetHandler():CancelToGrave(false) end if b then re:GetHandler():CancelToGrave(false) end
return ADIMI_ChangeChainOperation(chainc,...) return ADIMI_ChangeChainOperation(chainc,...)
end end
ADIMI_IsCanBeEffectTarget=Card.IsCanBeEffectTarget local ADIMI_IsCanBeEffectTarget=Card.IsCanBeEffectTarget
Card.IsCanBeEffectTarget=function(sc,se) Card.IsCanBeEffectTarget=function(sc,...)
local b=true local b=true
local ly=0 local ly=0
for i=1,114 do for i=1,114 do
...@@ -5118,7 +5148,7 @@ function cm.ActivatedAsSpellorTrapCheck(c) ...@@ -5118,7 +5148,7 @@ function cm.ActivatedAsSpellorTrapCheck(c)
break break
end end
end end
if c:IsHasEffect(53765098) and cm["Card_Prophecy_Certain_ACST_"..ly] then b=false else b=ADIMI_IsCanBeEffectTarget(sc,se) end if c:IsHasEffect(53765098) and cm["Card_Prophecy_Certain_ACST_"..ly] then b=false else b=ADIMI_IsCanBeEffectTarget(sc,...) end
return b return b
end end
end end
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
function c88800029.initial_effect(c) function c88800029.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(88800029,0)) e1:SetDescription(aux.Stringid(88800029,1))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
...@@ -13,7 +13,7 @@ function c88800029.initial_effect(c) ...@@ -13,7 +13,7 @@ function c88800029.initial_effect(c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--activate --activate
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(88800029,1)) e2:SetDescription(aux.Stringid(88800029,2))
e2:SetType(EFFECT_TYPE_ACTIVATE) e2:SetType(EFFECT_TYPE_ACTIVATE)
e2:SetCategory(CATEGORY_SPECIAL_SUMMON) e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET) e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
......
...@@ -25,7 +25,7 @@ function s.initial_effect(c) ...@@ -25,7 +25,7 @@ function s.initial_effect(c)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--SpecialSummon --SpecialSummon
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,1)) e4:SetDescription(aux.Stringid(id,1))
e4:SetCategory(CATEGORY_SPECIAL_SUMMON) e4:SetCategory(CATEGORY_SPECIAL_SUMMON)
e4:SetType(EFFECT_TYPE_IGNITION) e4:SetType(EFFECT_TYPE_IGNITION)
e4:SetRange(LOCATION_FZONE) e4:SetRange(LOCATION_FZONE)
...@@ -35,7 +35,7 @@ function s.initial_effect(c) ...@@ -35,7 +35,7 @@ function s.initial_effect(c)
c:RegisterEffect(e4) c:RegisterEffect(e4)
--SpecialSummon --SpecialSummon
local e5=Effect.CreateEffect(c) local e5=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,2)) e5:SetDescription(aux.Stringid(id,2))
e5:SetCategory(CATEGORY_SPECIAL_SUMMON) e5:SetCategory(CATEGORY_SPECIAL_SUMMON)
e5:SetType(EFFECT_TYPE_IGNITION) e5:SetType(EFFECT_TYPE_IGNITION)
e5:SetRange(LOCATION_FZONE) e5:SetRange(LOCATION_FZONE)
......
...@@ -39,11 +39,10 @@ function s.initial_effect(c) ...@@ -39,11 +39,10 @@ function s.initial_effect(c)
c:RegisterEffect(e4) c:RegisterEffect(e4)
end end
function s.atcon(e,tp,eg,ep,ev,re,r,rp) function s.atcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() return Duel.GetLP(1-tp)<=7816
return Duel.GetAttacker()==c and c:IsChainAttackable(0,true) and Duel.GetLP(1-tp)<=7816
end end
function s.filter(c) function s.filter(c)
return (c:IsCode(88800017) or c:IsCode(88800012) or c:IsCode(88800022)) and c:IsAbleToHand() return c:IsCode(88800017,88800012,88800022) and c:IsAbleToHand()
end end
function s.thtg(e,tp,eg,ep,ev,re,r,rp,chk) function s.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(s.filter,tp,LOCATION_DECK,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(s.filter,tp,LOCATION_DECK,0,1,nil) 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