Commit 56837a96 authored by Nemo Ma's avatar Nemo Ma

fix

parent 50367411
--conprologue of infinite saga --conprologue of infinite saga
--21.04.13 --21.04.13
local m=11451410 local cm,m=GetID()
local cm=_G["c"..m]
cm.IsFusionSpellTrap=true cm.IsFusionSpellTrap=true
function cm.initial_effect(c) function cm.initial_effect(c)
local e0=Effect.CreateEffect(c) local e0=Effect.CreateEffect(c)
...@@ -61,6 +60,28 @@ function cm.costop(e,tp,eg,ep,ev,re,r,rp) ...@@ -61,6 +60,28 @@ function cm.costop(e,tp,eg,ep,ev,re,r,rp)
Duel.SendtoDeck(g,nil,2,REASON_COST+REASON_MATERIAL) Duel.SendtoDeck(g,nil,2,REASON_COST+REASON_MATERIAL)
Duel.MoveToField(c,tp,tp,LOCATION_SZONE,POS_FACEUP,false) Duel.MoveToField(c,tp,tp,LOCATION_SZONE,POS_FACEUP,false)
e:GetHandler():CreateEffectRelation(te) e:GetHandler():CreateEffectRelation(te)
local c=e:GetHandler()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetCode(EVENT_CHAIN_SOLVED)
e1:SetCountLimit(1)
e1:SetCondition(function(e,tp,eg,ep,ev,re,r,rp) return re==te end)
e1:SetOperation(cm.rsop)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
local e2=e1:Clone()
e2:SetCode(EVENT_CHAIN_NEGATED)
Duel.RegisterEffect(e2,tp)
end
function cm.rsop(e,tp,eg,ep,ev,re,r,rp)
local rc=re:GetHandler()
if e:GetCode()==EVENT_CHAIN_SOLVED and rc:IsRelateToEffect(re) then
rc:SetStatus(STATUS_EFFECT_ENABLED,true)
end
if e:GetCode()==EVENT_CHAIN_NEGATED and rc:IsRelateToEffect(re) then
rc:SetStatus(STATUS_ACTIVATE_DISABLED,true)
end
end end
function cm.spfilter(c,e,tp) function cm.spfilter(c,e,tp)
return c:IsCode(11451406) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsCode(11451406) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
...@@ -86,7 +107,6 @@ function cm.target(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -86,7 +107,6 @@ function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if op~=1 then Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,tp,LOCATION_DECK) end if op~=1 then Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,tp,LOCATION_DECK) end
end end
function cm.activate(e,tp,eg,ep,ev,re,r,rp) function cm.activate(e,tp,eg,ep,ev,re,r,rp)
e:GetHandler():SetStatus(STATUS_EFFECT_ENABLED,true)
local op=e:GetLabel() local op=e:GetLabel()
local c=e:GetHandler() local c=e:GetHandler()
local g=Duel.GetMatchingGroup(cm.spfilter,tp,LOCATION_DECK,0,nil,e,tp) local g=Duel.GetMatchingGroup(cm.spfilter,tp,LOCATION_DECK,0,nil,e,tp)
......
--食大食蚁兽蚁洞 --食大食蚁兽蚁洞
local m=11451475 local cm,m=GetID()
local cm=_G["c"..m]
function cm.initial_effect(c) function cm.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
...@@ -41,6 +40,28 @@ function cm.costop(e,tp,eg,ep,ev,re,r,rp) ...@@ -41,6 +40,28 @@ function cm.costop(e,tp,eg,ep,ev,re,r,rp)
local te=e:GetLabelObject() local te=e:GetLabelObject()
Duel.MoveToField(e:GetHandler(),tp,tp,LOCATION_SZONE,POS_FACEUP,false) Duel.MoveToField(e:GetHandler(),tp,tp,LOCATION_SZONE,POS_FACEUP,false)
e:GetHandler():CreateEffectRelation(te) e:GetHandler():CreateEffectRelation(te)
local c=e:GetHandler()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetCode(EVENT_CHAIN_SOLVED)
e1:SetCountLimit(1)
e1:SetCondition(function(e,tp,eg,ep,ev,re,r,rp) return re==te end)
e1:SetOperation(cm.rsop)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
local e2=e1:Clone()
e2:SetCode(EVENT_CHAIN_NEGATED)
Duel.RegisterEffect(e2,tp)
end
function cm.rsop(e,tp,eg,ep,ev,re,r,rp)
local rc=re:GetHandler()
if e:GetCode()==EVENT_CHAIN_SOLVED and rc:IsRelateToEffect(re) then
rc:SetStatus(STATUS_EFFECT_ENABLED,true)
end
if e:GetCode()==EVENT_CHAIN_NEGATED and rc:IsRelateToEffect(re) then
rc:SetStatus(STATUS_ACTIVATE_DISABLED,true)
end
end end
function cm.chkop(e,tp,eg,ep,ev,re,r,rp,chk) function cm.chkop(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
...@@ -67,7 +88,6 @@ function cm.target(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -67,7 +88,6 @@ function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SetOperationInfo(0,CATEGORY_LEAVE_GRAVE,nil,1,0,0) Duel.SetOperationInfo(0,CATEGORY_LEAVE_GRAVE,nil,1,0,0)
end end
function cm.operation(e,tp,eg,ep,ev,re,r,rp) function cm.operation(e,tp,eg,ep,ev,re,r,rp)
e:GetHandler():SetStatus(STATUS_EFFECT_ENABLED,true)
local g=Duel.GetMatchingGroup(cm.filter,tp,LOCATION_GRAVE,LOCATION_GRAVE,nil) local g=Duel.GetMatchingGroup(cm.filter,tp,LOCATION_GRAVE,LOCATION_GRAVE,nil)
if #g==0 then return end if #g==0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD)
......
--樱落回响诗笺 --樱落回响诗笺
--21.06.23 --21.06.23
local m=11451583 local cm,m=GetID()
local cm=_G["c"..m]
function cm.initial_effect(c) function cm.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
...@@ -75,6 +74,12 @@ end ...@@ -75,6 +74,12 @@ end
function cm.rsop(e,tp,eg,ep,ev,re,r,rp) function cm.rsop(e,tp,eg,ep,ev,re,r,rp)
local rc=re:GetHandler() local rc=re:GetHandler()
local te2=e:GetLabelObject() local te2=e:GetLabelObject()
if e:GetCode()==EVENT_CHAIN_SOLVED and rc:IsRelateToEffect(re) then
rc:SetStatus(STATUS_EFFECT_ENABLED,true)
end
if e:GetCode()==EVENT_CHAIN_NEGATED and rc:IsRelateToEffect(re) then
rc:SetStatus(STATUS_ACTIVATE_DISABLED,true)
end
re:Reset() re:Reset()
end end
function cm.condition(e,tp,eg,ep,ev,re,r,rp) function cm.condition(e,tp,eg,ep,ev,re,r,rp)
...@@ -112,7 +117,6 @@ function cm.target(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -112,7 +117,6 @@ function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end end
function cm.activate(e,tp,eg,ep,ev,re,r,rp) function cm.activate(e,tp,eg,ep,ev,re,r,rp)
e:GetHandler():SetStatus(STATUS_EFFECT_ENABLED,true)
local g=Duel.SelectMatchingCard(tp,cm.spfilter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp) local g=Duel.SelectMatchingCard(tp,cm.spfilter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp)
local tc=g:GetFirst() local tc=g:GetFirst()
if tc and Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)~=0 then if tc and Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)~=0 then
......
--风雨征程 燎原火种 --风雨征程 燎原火种
--22.06.22 --22.06.22
local m=11451632 local cm,m=GetID()
local cm=_G["c"..m]
function cm.initial_effect(c) function cm.initial_effect(c)
--act in hand --act in hand
local e0=Effect.CreateEffect(c) local e0=Effect.CreateEffect(c)
...@@ -82,6 +81,28 @@ function cm.costop(e,tp,eg,ep,ev,re,r,rp) ...@@ -82,6 +81,28 @@ function cm.costop(e,tp,eg,ep,ev,re,r,rp)
Duel.MoveToField(e:GetHandler(),tp,tp,LOCATION_SZONE,POS_FACEUP,false) Duel.MoveToField(e:GetHandler(),tp,tp,LOCATION_SZONE,POS_FACEUP,false)
local te=e:GetLabelObject() local te=e:GetLabelObject()
e:GetHandler():CreateEffectRelation(te) e:GetHandler():CreateEffectRelation(te)
local c=e:GetHandler()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetCode(EVENT_CHAIN_SOLVED)
e1:SetCountLimit(1)
e1:SetCondition(function(e,tp,eg,ep,ev,re,r,rp) return re==te end)
e1:SetOperation(cm.rsop)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
local e2=e1:Clone()
e2:SetCode(EVENT_CHAIN_NEGATED)
Duel.RegisterEffect(e2,tp)
end
function cm.rsop(e,tp,eg,ep,ev,re,r,rp)
local rc=re:GetHandler()
if e:GetCode()==EVENT_CHAIN_SOLVED and rc:IsRelateToEffect(re) then
rc:SetStatus(STATUS_EFFECT_ENABLED,true)
end
if e:GetCode()==EVENT_CHAIN_NEGATED and rc:IsRelateToEffect(re) then
rc:SetStatus(STATUS_ACTIVATE_DISABLED,true)
end
end end
function cm.filter(c,tp) function cm.filter(c,tp)
return c:IsCode(11451631) and not c:IsForbidden() and (c:GetActivateEffect():IsActivatable(tp,true,true) or c:CheckActivateEffect(false,false,false)~=nil) return c:IsCode(11451631) and not c:IsForbidden() and (c:GetActivateEffect():IsActivatable(tp,true,true) or c:CheckActivateEffect(false,false,false)~=nil)
...@@ -90,7 +111,6 @@ function cm.target(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -90,7 +111,6 @@ function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil,tp) end if chk==0 then return Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil,tp) end
end end
function cm.activate(e,tp,eg,ep,ev,re,r,rp) function cm.activate(e,tp,eg,ep,ev,re,r,rp)
e:GetHandler():SetStatus(STATUS_EFFECT_ENABLED,true)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_OPERATECARD) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_OPERATECARD)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.filter),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,tp) local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.filter),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,tp)
local tc=g:GetFirst() local tc=g:GetFirst()
......
--风雨征程 八面来风 --风雨征程 八面来风
--22.06.22 --22.06.22
local m=11451633 local cm,m=GetID()
local cm=_G["c"..m]
function cm.initial_effect(c) function cm.initial_effect(c)
--act in hand --act in hand
local e0=Effect.CreateEffect(c) local e0=Effect.CreateEffect(c)
...@@ -83,6 +82,28 @@ function cm.costop(e,tp,eg,ep,ev,re,r,rp) ...@@ -83,6 +82,28 @@ function cm.costop(e,tp,eg,ep,ev,re,r,rp)
Duel.MoveToField(e:GetHandler(),tp,tp,LOCATION_SZONE,POS_FACEUP,false) Duel.MoveToField(e:GetHandler(),tp,tp,LOCATION_SZONE,POS_FACEUP,false)
local te=e:GetLabelObject() local te=e:GetLabelObject()
e:GetHandler():CreateEffectRelation(te) e:GetHandler():CreateEffectRelation(te)
local c=e:GetHandler()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetCode(EVENT_CHAIN_SOLVED)
e1:SetCountLimit(1)
e1:SetCondition(function(e,tp,eg,ep,ev,re,r,rp) return re==te end)
e1:SetOperation(cm.rsop)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
local e2=e1:Clone()
e2:SetCode(EVENT_CHAIN_NEGATED)
Duel.RegisterEffect(e2,tp)
end
function cm.rsop(e,tp,eg,ep,ev,re,r,rp)
local rc=re:GetHandler()
if e:GetCode()==EVENT_CHAIN_SOLVED and rc:IsRelateToEffect(re) then
rc:SetStatus(STATUS_EFFECT_ENABLED,true)
end
if e:GetCode()==EVENT_CHAIN_NEGATED and rc:IsRelateToEffect(re) then
rc:SetStatus(STATUS_ACTIVATE_DISABLED,true)
end
end end
function cm.filter(c,tp) function cm.filter(c,tp)
return c:IsCode(11451631) and not c:IsForbidden() and (c:GetActivateEffect():IsActivatable(tp,true,true) or c:CheckActivateEffect(false,false,false)~=nil) return c:IsCode(11451631) and not c:IsForbidden() and (c:GetActivateEffect():IsActivatable(tp,true,true) or c:CheckActivateEffect(false,false,false)~=nil)
...@@ -91,7 +112,6 @@ function cm.target(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -91,7 +112,6 @@ function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil,tp) end if chk==0 then return Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil,tp) end
end end
function cm.activate(e,tp,eg,ep,ev,re,r,rp) function cm.activate(e,tp,eg,ep,ev,re,r,rp)
e:GetHandler():SetStatus(STATUS_EFFECT_ENABLED,true)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_OPERATECARD) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_OPERATECARD)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.filter),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,tp) local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.filter),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,tp)
local tc=g:GetFirst() local tc=g:GetFirst()
......
--风雨征程 云渺险峰 --风雨征程 云渺险峰
--22.06.22 --22.06.22
local m=11451634 local cm,m=GetID()
local cm=_G["c"..m]
function cm.initial_effect(c) function cm.initial_effect(c)
--act in hand --act in hand
local e0=Effect.CreateEffect(c) local e0=Effect.CreateEffect(c)
...@@ -83,6 +82,28 @@ function cm.costop(e,tp,eg,ep,ev,re,r,rp) ...@@ -83,6 +82,28 @@ function cm.costop(e,tp,eg,ep,ev,re,r,rp)
Duel.MoveToField(e:GetHandler(),tp,tp,LOCATION_SZONE,POS_FACEUP,false) Duel.MoveToField(e:GetHandler(),tp,tp,LOCATION_SZONE,POS_FACEUP,false)
local te=e:GetLabelObject() local te=e:GetLabelObject()
e:GetHandler():CreateEffectRelation(te) e:GetHandler():CreateEffectRelation(te)
local c=e:GetHandler()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetCode(EVENT_CHAIN_SOLVED)
e1:SetCountLimit(1)
e1:SetCondition(function(e,tp,eg,ep,ev,re,r,rp) return re==te end)
e1:SetOperation(cm.rsop)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
local e2=e1:Clone()
e2:SetCode(EVENT_CHAIN_NEGATED)
Duel.RegisterEffect(e2,tp)
end
function cm.rsop(e,tp,eg,ep,ev,re,r,rp)
local rc=re:GetHandler()
if e:GetCode()==EVENT_CHAIN_SOLVED and rc:IsRelateToEffect(re) then
rc:SetStatus(STATUS_EFFECT_ENABLED,true)
end
if e:GetCode()==EVENT_CHAIN_NEGATED and rc:IsRelateToEffect(re) then
rc:SetStatus(STATUS_ACTIVATE_DISABLED,true)
end
end end
function cm.filter(c,tp) function cm.filter(c,tp)
return c:IsCode(11451631) and not c:IsForbidden() and (c:GetActivateEffect():IsActivatable(tp,true,true) or c:CheckActivateEffect(false,false,false)~=nil) return c:IsCode(11451631) and not c:IsForbidden() and (c:GetActivateEffect():IsActivatable(tp,true,true) or c:CheckActivateEffect(false,false,false)~=nil)
...@@ -91,7 +112,6 @@ function cm.target(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -91,7 +112,6 @@ function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil,tp) end if chk==0 then return Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil,tp) end
end end
function cm.activate(e,tp,eg,ep,ev,re,r,rp) function cm.activate(e,tp,eg,ep,ev,re,r,rp)
e:GetHandler():SetStatus(STATUS_EFFECT_ENABLED,true)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_OPERATECARD) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_OPERATECARD)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.filter),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,tp) local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.filter),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,tp)
local tc=g:GetFirst() local tc=g:GetFirst()
......
--风雨征程 潜澜汹涌 --风雨征程 潜澜汹涌
--22.06.22 --22.06.22
local m=11451635 local cm,m=GetID()
local cm=_G["c"..m]
function cm.initial_effect(c) function cm.initial_effect(c)
--act in hand --act in hand
local e0=Effect.CreateEffect(c) local e0=Effect.CreateEffect(c)
...@@ -83,6 +82,28 @@ function cm.costop(e,tp,eg,ep,ev,re,r,rp) ...@@ -83,6 +82,28 @@ function cm.costop(e,tp,eg,ep,ev,re,r,rp)
Duel.MoveToField(e:GetHandler(),tp,tp,LOCATION_SZONE,POS_FACEUP,false) Duel.MoveToField(e:GetHandler(),tp,tp,LOCATION_SZONE,POS_FACEUP,false)
local te=e:GetLabelObject() local te=e:GetLabelObject()
e:GetHandler():CreateEffectRelation(te) e:GetHandler():CreateEffectRelation(te)
local c=e:GetHandler()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetCode(EVENT_CHAIN_SOLVED)
e1:SetCountLimit(1)
e1:SetCondition(function(e,tp,eg,ep,ev,re,r,rp) return re==te end)
e1:SetOperation(cm.rsop)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
local e2=e1:Clone()
e2:SetCode(EVENT_CHAIN_NEGATED)
Duel.RegisterEffect(e2,tp)
end
function cm.rsop(e,tp,eg,ep,ev,re,r,rp)
local rc=re:GetHandler()
if e:GetCode()==EVENT_CHAIN_SOLVED and rc:IsRelateToEffect(re) then
rc:SetStatus(STATUS_EFFECT_ENABLED,true)
end
if e:GetCode()==EVENT_CHAIN_NEGATED and rc:IsRelateToEffect(re) then
rc:SetStatus(STATUS_ACTIVATE_DISABLED,true)
end
end end
function cm.filter(c,tp) function cm.filter(c,tp)
return c:IsCode(11451631) and not c:IsForbidden() and (c:GetActivateEffect():IsActivatable(tp,true,true) or c:CheckActivateEffect(false,false,false)~=nil) return c:IsCode(11451631) and not c:IsForbidden() and (c:GetActivateEffect():IsActivatable(tp,true,true) or c:CheckActivateEffect(false,false,false)~=nil)
...@@ -91,7 +112,6 @@ function cm.target(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -91,7 +112,6 @@ function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil,tp) end if chk==0 then return Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil,tp) end
end end
function cm.activate(e,tp,eg,ep,ev,re,r,rp) function cm.activate(e,tp,eg,ep,ev,re,r,rp)
e:GetHandler():SetStatus(STATUS_EFFECT_ENABLED,true)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_OPERATECARD) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_OPERATECARD)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.filter),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,tp) local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.filter),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,tp)
local tc=g:GetFirst() local tc=g:GetFirst()
......
--风雨征程 沉浮与共 --风雨征程 沉浮与共
--22.06.26 --22.06.26
local m=11451636 local cm,m=GetID()
local cm=_G["c"..m]
function cm.initial_effect(c) function cm.initial_effect(c)
--act in hand --act in hand
local e0=Effect.CreateEffect(c) local e0=Effect.CreateEffect(c)
...@@ -83,6 +82,28 @@ function cm.costop(e,tp,eg,ep,ev,re,r,rp) ...@@ -83,6 +82,28 @@ function cm.costop(e,tp,eg,ep,ev,re,r,rp)
Duel.MoveToField(e:GetHandler(),tp,tp,LOCATION_SZONE,POS_FACEUP,false) Duel.MoveToField(e:GetHandler(),tp,tp,LOCATION_SZONE,POS_FACEUP,false)
local te=e:GetLabelObject() local te=e:GetLabelObject()
e:GetHandler():CreateEffectRelation(te) e:GetHandler():CreateEffectRelation(te)
local c=e:GetHandler()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetCode(EVENT_CHAIN_SOLVED)
e1:SetCountLimit(1)
e1:SetCondition(function(e,tp,eg,ep,ev,re,r,rp) return re==te end)
e1:SetOperation(cm.rsop)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
local e2=e1:Clone()
e2:SetCode(EVENT_CHAIN_NEGATED)
Duel.RegisterEffect(e2,tp)
end
function cm.rsop(e,tp,eg,ep,ev,re,r,rp)
local rc=re:GetHandler()
if e:GetCode()==EVENT_CHAIN_SOLVED and rc:IsRelateToEffect(re) then
rc:SetStatus(STATUS_EFFECT_ENABLED,true)
end
if e:GetCode()==EVENT_CHAIN_NEGATED and rc:IsRelateToEffect(re) then
rc:SetStatus(STATUS_ACTIVATE_DISABLED,true)
end
end end
function cm.filter(c,tp) function cm.filter(c,tp)
return c:IsCode(11451631) and not c:IsForbidden() and (c:GetActivateEffect():IsActivatable(tp,true,true) or c:CheckActivateEffect(false,false,false)~=nil) return c:IsCode(11451631) and not c:IsForbidden() and (c:GetActivateEffect():IsActivatable(tp,true,true) or c:CheckActivateEffect(false,false,false)~=nil)
...@@ -91,7 +112,6 @@ function cm.target(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -91,7 +112,6 @@ function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil,tp) end if chk==0 then return Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil,tp) end
end end
function cm.activate(e,tp,eg,ep,ev,re,r,rp) function cm.activate(e,tp,eg,ep,ev,re,r,rp)
e:GetHandler():SetStatus(STATUS_EFFECT_ENABLED,true)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_OPERATECARD) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_OPERATECARD)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.filter),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,tp) local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.filter),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,tp)
local tc=g:GetFirst() local tc=g:GetFirst()
...@@ -142,9 +162,9 @@ function cm.thfilter(c) ...@@ -142,9 +162,9 @@ function cm.thfilter(c)
end end
function cm.actg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function cm.actg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and cm.thfilter(chkc) end if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and cm.thfilter(chkc) end
if chk==0 then return Duel.IsExistingTarget(cm.thfilter,tp,LOCATION_GRAVE,0,1,nil) end if chk==0 then return Duel.IsExistingTarget(cm.thfilter,tp,LOCATION_GRAVE,0,1,e:GetHandler()) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectTarget(tp,cm.thfilter,tp,LOCATION_GRAVE,0,1,1,e:GetHandler()) local g=Duel.SelectTarget(tp,cm.thfilter,tp,LOCATION_GRAVE,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,g,1,0,0) Duel.SetOperationInfo(0,CATEGORY_TOHAND,g,1,0,0)
end end
function cm.actop(e,tp,eg,ep,ev,re,r,rp) function cm.actop(e,tp,eg,ep,ev,re,r,rp)
......
--风雨征程 心向长空 --风雨征程 心向长空
--22.06.26 --22.06.26
local m=11451637 local cm,m=GetID()
local cm=_G["c"..m]
function cm.initial_effect(c) function cm.initial_effect(c)
--act in hand --act in hand
local e0=Effect.CreateEffect(c) local e0=Effect.CreateEffect(c)
...@@ -83,6 +82,28 @@ function cm.costop(e,tp,eg,ep,ev,re,r,rp) ...@@ -83,6 +82,28 @@ function cm.costop(e,tp,eg,ep,ev,re,r,rp)
Duel.MoveToField(e:GetHandler(),tp,tp,LOCATION_SZONE,POS_FACEUP,false) Duel.MoveToField(e:GetHandler(),tp,tp,LOCATION_SZONE,POS_FACEUP,false)
local te=e:GetLabelObject() local te=e:GetLabelObject()
e:GetHandler():CreateEffectRelation(te) e:GetHandler():CreateEffectRelation(te)
local c=e:GetHandler()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetCode(EVENT_CHAIN_SOLVED)
e1:SetCountLimit(1)
e1:SetCondition(function(e,tp,eg,ep,ev,re,r,rp) return re==te end)
e1:SetOperation(cm.rsop)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
local e2=e1:Clone()
e2:SetCode(EVENT_CHAIN_NEGATED)
Duel.RegisterEffect(e2,tp)
end
function cm.rsop(e,tp,eg,ep,ev,re,r,rp)
local rc=re:GetHandler()
if e:GetCode()==EVENT_CHAIN_SOLVED and rc:IsRelateToEffect(re) then
rc:SetStatus(STATUS_EFFECT_ENABLED,true)
end
if e:GetCode()==EVENT_CHAIN_NEGATED and rc:IsRelateToEffect(re) then
rc:SetStatus(STATUS_ACTIVATE_DISABLED,true)
end
end end
function cm.filter(c,tp) function cm.filter(c,tp)
return c:IsCode(11451631) and not c:IsForbidden() and (c:GetActivateEffect():IsActivatable(tp,true,true) or c:CheckActivateEffect(false,false,false)~=nil) return c:IsCode(11451631) and not c:IsForbidden() and (c:GetActivateEffect():IsActivatable(tp,true,true) or c:CheckActivateEffect(false,false,false)~=nil)
...@@ -91,7 +112,6 @@ function cm.target(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -91,7 +112,6 @@ function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil,tp) end if chk==0 then return Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil,tp) end
end end
function cm.activate(e,tp,eg,ep,ev,re,r,rp) function cm.activate(e,tp,eg,ep,ev,re,r,rp)
e:GetHandler():SetStatus(STATUS_EFFECT_ENABLED,true)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_OPERATECARD) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_OPERATECARD)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.filter),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,tp) local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.filter),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,tp)
local tc=g:GetFirst() local tc=g:GetFirst()
......
--烬羽1 --烬羽1
local m=11451731 local cm,m=GetID()
local cm=_G["c"..m]
function cm.initial_effect(c) function cm.initial_effect(c)
--tohand --tohand
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
...@@ -75,7 +74,14 @@ function cm.thcost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -75,7 +74,14 @@ function cm.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
local eset={Duel.IsPlayerAffectedByEffect(tp,EFFECT_HAND_LIMIT)} local eset={Duel.IsPlayerAffectedByEffect(tp,EFFECT_HAND_LIMIT)}
local flag=Duel.GetFlagEffectLabel(tp,11451731) or 0 local flag=Duel.GetFlagEffectLabel(tp,11451731) or 0
local ht=6 local ht=6
for _,te in pairs(eset) do ht=te:GetValue() end for _,te in pairs(eset) do
local val=te:GetValue()
if aux.GetValueType(val)=="function" then
ht=val(te,te:GetHandler())
elseif aux.GetValueType(val)=="number" then
ht=val
end
end
if chk==0 then return ht>=flag+2 end if chk==0 then return ht>=flag+2 end
--limit --limit
flag=flag+2 flag=flag+2
......
--流离之烬羽·琼 --流离之烬羽·琼
local m=11451732 local cm,m=GetID()
local cm=_G["c"..m]
function cm.initial_effect(c) function cm.initial_effect(c)
--tohand --tohand
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
...@@ -75,7 +74,14 @@ function cm.thcost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -75,7 +74,14 @@ function cm.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
local eset={Duel.IsPlayerAffectedByEffect(tp,EFFECT_HAND_LIMIT)} local eset={Duel.IsPlayerAffectedByEffect(tp,EFFECT_HAND_LIMIT)}
local flag=Duel.GetFlagEffectLabel(tp,11451731) or 0 local flag=Duel.GetFlagEffectLabel(tp,11451731) or 0
local ht=6 local ht=6
for _,te in pairs(eset) do ht=te:GetValue() end for _,te in pairs(eset) do
local val=te:GetValue()
if aux.GetValueType(val)=="function" then
ht=val(te,te:GetHandler())
elseif aux.GetValueType(val)=="number" then
ht=val
end
end
if chk==0 then return ht>=flag+1 end if chk==0 then return ht>=flag+1 end
--limit --limit
flag=flag+1 flag=flag+1
......
--蹈险之烬羽·瑾 --蹈险之烬羽·瑾
local m=11451733 local cm,m=GetID()
local cm=_G["c"..m]
function cm.initial_effect(c) function cm.initial_effect(c)
--tohand --tohand
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
...@@ -75,7 +74,14 @@ function cm.thcost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -75,7 +74,14 @@ function cm.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
local eset={Duel.IsPlayerAffectedByEffect(tp,EFFECT_HAND_LIMIT)} local eset={Duel.IsPlayerAffectedByEffect(tp,EFFECT_HAND_LIMIT)}
local flag=Duel.GetFlagEffectLabel(tp,11451731) or 0 local flag=Duel.GetFlagEffectLabel(tp,11451731) or 0
local ht=6 local ht=6
for _,te in pairs(eset) do ht=te:GetValue() end for _,te in pairs(eset) do
local val=te:GetValue()
if aux.GetValueType(val)=="function" then
ht=val(te,te:GetHandler())
elseif aux.GetValueType(val)=="number" then
ht=val
end
end
if chk==0 then return ht>=flag+1 end if chk==0 then return ht>=flag+1 end
--limit --limit
flag=flag+1 flag=flag+1
......
--恸悼之烬羽·珞 --恸悼之烬羽·珞
local m=11451734 local cm,m=GetID()
local cm=_G["c"..m]
function cm.initial_effect(c) function cm.initial_effect(c)
--tohand --tohand
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
...@@ -75,7 +74,14 @@ function cm.thcost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -75,7 +74,14 @@ function cm.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
local eset={Duel.IsPlayerAffectedByEffect(tp,EFFECT_HAND_LIMIT)} local eset={Duel.IsPlayerAffectedByEffect(tp,EFFECT_HAND_LIMIT)}
local flag=Duel.GetFlagEffectLabel(tp,11451731) or 0 local flag=Duel.GetFlagEffectLabel(tp,11451731) or 0
local ht=6 local ht=6
for _,te in pairs(eset) do ht=te:GetValue() end for _,te in pairs(eset) do
local val=te:GetValue()
if aux.GetValueType(val)=="function" then
ht=val(te,te:GetHandler())
elseif aux.GetValueType(val)=="number" then
ht=val
end
end
if chk==0 then return ht>=flag+2 end if chk==0 then return ht>=flag+2 end
--limit --limit
flag=flag+2 flag=flag+2
......
...@@ -74,6 +74,10 @@ function cm.distg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -74,6 +74,10 @@ function cm.distg(e,tp,eg,ep,ev,re,r,rp,chk)
local zone=Duel.SelectField(tp,1,0,LOCATION_ONFIELD,nil) local zone=Duel.SelectField(tp,1,0,LOCATION_ONFIELD,nil)
Duel.Hint(HINT_ZONE,tp,zone) Duel.Hint(HINT_ZONE,tp,zone)
Duel.Hint(HINT_ZONE,1-tp,zone>>16) Duel.Hint(HINT_ZONE,1-tp,zone>>16)
Duel.Hint(HINT_ZONE,tp,zone)
Duel.Hint(HINT_ZONE,1-tp,zone>>16)
Duel.Hint(HINT_ZONE,tp,zone)
Duel.Hint(HINT_ZONE,1-tp,zone>>16)
e:SetLabel(zone) e:SetLabel(zone)
--Debug.Message("勘探和支援就交给我吧!") --Debug.Message("勘探和支援就交给我吧!")
Duel.SetOperationInfo(0,CATEGORY_DISABLE,nil,1,1-tp,LOCATION_ONFIELD) Duel.SetOperationInfo(0,CATEGORY_DISABLE,nil,1,1-tp,LOCATION_ONFIELD)
...@@ -103,9 +107,9 @@ function cm.disop(e,tp,eg,ep,ev,re,r,rp) ...@@ -103,9 +107,9 @@ function cm.disop(e,tp,eg,ep,ev,re,r,rp)
-- if loc==LOCATION_MZONE then x=0x10000 end -- if loc==LOCATION_MZONE then x=0x10000 end
-- if loc==LOCATION_SZONE then x=0x1000000 end -- if loc==LOCATION_SZONE then x=0x1000000 end
-- if loc==LOCATION_FZONE then -- if loc==LOCATION_FZONE then
-- Debug.Message("成功了,目标卡在场地区域!") -- Debug.Message("成功了,目标卡在场地区域!")
-- else -- else
-- Debug.Message("成功了,在"..(2^tc:GetSequence())*x.."处抓到了卡!") -- Debug.Message("成功了,在"..(2^tc:GetSequence())*x.."处抓到了卡!")
-- end -- end
--end --end
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
...@@ -132,18 +136,24 @@ function cm.disop(e,tp,eg,ep,ev,re,r,rp) ...@@ -132,18 +136,24 @@ function cm.disop(e,tp,eg,ep,ev,re,r,rp)
e3:SetLabel(zone) e3:SetLabel(zone)
Duel.RegisterEffect(e3,tp) Duel.RegisterEffect(e3,tp)
local e0=Effect.CreateEffect(e:GetHandler()) -- local e0=Effect.CreateEffect(e:GetHandler())
e0:SetDescription(aux.Stringid(m,4)) -- e0:SetDescription(aux.Stringid(m,4))
e0:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) -- e0:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e0:SetCode(EVENT_FREE_CHAIN) -- e0:SetCode(EVENT_FREE_CHAIN)
e0:SetOperation(cm.debug) -- e0:SetOperation(cm.debug)
e0:SetLabel(zone) -- e0:SetLabel(zone)
e0:SetReset(RESET_PHASE+PHASE_END) -- e0:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e0,1-tp) -- Duel.RegisterEffect(e0,1-tp)
end end
function cm.debug(e,tp,eg,ep,ev,re,r,rp) function cm.debug(e,tp,eg,ep,ev,re,r,rp)
local zone=e:GetLabel()>>16 local zone=e:GetLabel()>>16
Duel.Hint(HINT_ZONE,tp,zone) Duel.Hint(HINT_ZONE,tp,zone)
Duel.Hint(HINT_ZONE,tp,zone)
Duel.Hint(HINT_ZONE,tp,zone)
Duel.Hint(HINT_ZONE,tp,zone)
Duel.Hint(HINT_ZONE,tp,zone)
Duel.Hint(HINT_ZONE,tp,zone)
Duel.Hint(HINT_ZONE,tp,zone)
end end
function cm.disable(e,c) function cm.disable(e,c)
local zone=e:GetLabel() local zone=e:GetLabel()
...@@ -183,6 +193,10 @@ function cm.seqtg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -183,6 +193,10 @@ function cm.seqtg(e,tp,eg,ep,ev,re,r,rp,chk)
local zone=Duel.SelectField(tp,1,0,LOCATION_ONFIELD,nil) local zone=Duel.SelectField(tp,1,0,LOCATION_ONFIELD,nil)
Duel.Hint(HINT_ZONE,tp,zone) Duel.Hint(HINT_ZONE,tp,zone)
Duel.Hint(HINT_ZONE,1-tp,zone>>16) Duel.Hint(HINT_ZONE,1-tp,zone>>16)
Duel.Hint(HINT_ZONE,tp,zone)
Duel.Hint(HINT_ZONE,1-tp,zone>>16)
Duel.Hint(HINT_ZONE,tp,zone)
Duel.Hint(HINT_ZONE,1-tp,zone>>16)
e:SetLabel(zone) e:SetLabel(zone)
--Debug.Message("目标就位了吗?好,无人机激活!") --Debug.Message("目标就位了吗?好,无人机激活!")
Duel.SetOperationInfo(0,CATEGORY_DISABLE,nil,1,1-tp,LOCATION_ONFIELD) Duel.SetOperationInfo(0,CATEGORY_DISABLE,nil,1,1-tp,LOCATION_ONFIELD)
...@@ -220,7 +234,7 @@ function cm.seqop(e,tp,eg,ep,ev,re,r,rp) ...@@ -220,7 +234,7 @@ function cm.seqop(e,tp,eg,ep,ev,re,r,rp)
Duel.NegateRelatedChain(tc,RESET_CHAIN) Duel.NegateRelatedChain(tc,RESET_CHAIN)
tc=ag:GetNext() tc=ag:GetNext()
end end
--Debug.Message("设备运行良好!选择的区域是:"..zone) Debug.Message("设备运行良好!选择的区域是:"..zone)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_DISABLE) e1:SetCode(EFFECT_DISABLE)
...@@ -244,15 +258,6 @@ function cm.seqop(e,tp,eg,ep,ev,re,r,rp) ...@@ -244,15 +258,6 @@ function cm.seqop(e,tp,eg,ep,ev,re,r,rp)
e3:SetReset(RESET_PHASE+PHASE_END) e3:SetReset(RESET_PHASE+PHASE_END)
e3:SetLabel(zone) e3:SetLabel(zone)
Duel.RegisterEffect(e3,tp) Duel.RegisterEffect(e3,tp)
local e0=Effect.CreateEffect(e:GetHandler())
e0:SetDescription(aux.Stringid(m,5))
e0:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e0:SetCode(EVENT_FREE_CHAIN)
e0:SetOperation(cm.debug)
e0:SetLabel(zone)
e0:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e0,1-tp)
end end
function cm.dis2able(e,c) function cm.dis2able(e,c)
local zone=e:GetLabel() local zone=e:GetLabel()
...@@ -341,6 +346,10 @@ function cm.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -341,6 +346,10 @@ function cm.activate(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if not (c:IsRelateToEffect(e) and tc:IsRelateToEffect(e)) then return end if not (c:IsRelateToEffect(e) and tc:IsRelateToEffect(e)) then return end
if Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)~=0 then if Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)~=0 then
local og=tc:GetOverlayGroup()
if og:GetCount()>0 then
Duel.SendtoGrave(og,REASON_RULE)
end
Duel.Overlay(c,Group.FromCards(tc)) Duel.Overlay(c,Group.FromCards(tc))
end end
end end
\ No newline at end of file
...@@ -54,7 +54,7 @@ function cm.regop(e,tp,eg,ep,ev,re,r,rp) ...@@ -54,7 +54,7 @@ function cm.regop(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterFlagEffect(e:GetLabel(),15000627,RESET_PHASE+PHASE_END,0,1) Duel.RegisterFlagEffect(e:GetLabel(),15000627,RESET_PHASE+PHASE_END,0,1)
end end
function cm.condition(e,tp,eg,ep,ev,re,r,rp) function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFlagEffect(tp,15000627)~=0 and Duel.GetCurrentChain()==0 return tp~=ep and Duel.GetFlagEffect(tp,15000627)~=0 and Duel.GetCurrentChain()==0
end end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk) function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
......
...@@ -43,7 +43,7 @@ function cm.initial_effect(c) ...@@ -43,7 +43,7 @@ function cm.initial_effect(c)
local e6=Effect.CreateEffect(c) local e6=Effect.CreateEffect(c)
e6:SetDescription(aux.Stringid(m,0)) e6:SetDescription(aux.Stringid(m,0))
e6:SetCategory(CATEGORY_DRAW) e6:SetCategory(CATEGORY_DRAW)
e6:SetType(EFFECT_TYPE_XMATERIAL+EFFECT_TYPE_TRIGGER_F+EFFECT_TYPE_FIELD) e6:SetType(EFFECT_TYPE_XMATERIAL+EFFECT_TYPE_TRIGGER_F+EFFECT_TYPE_SINGLE)
e6:SetCode(EVENT_SPSUMMON_SUCCESS) e6:SetCode(EVENT_SPSUMMON_SUCCESS)
e6:SetCondition(cm.drcon) e6:SetCondition(cm.drcon)
e6:SetTarget(cm.drtg) e6:SetTarget(cm.drtg)
......
...@@ -11,7 +11,7 @@ function c64800133.initial_effect(c) ...@@ -11,7 +11,7 @@ function c64800133.initial_effect(c)
--control --control
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_CONTROL) e3:SetCategory(CATEGORY_CONTROL)
e2:SetType(EFFECT_TYPE_IGNITION) e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetRange(LOCATION_MZONE) e3:SetRange(LOCATION_MZONE)
e3:SetProperty(EFFECT_FLAG_CARD_TARGET) e3:SetProperty(EFFECT_FLAG_CARD_TARGET)
e3:SetCountLimit(1,64800133) e3:SetCountLimit(1,64800133)
...@@ -60,18 +60,24 @@ function c64800133.cop(e,tp,eg,ep,ev,re,r,rp) ...@@ -60,18 +60,24 @@ function c64800133.cop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and not tc:IsImmuneToEffect(e) and tc:IsControlerCanBeChanged() then if tc:IsRelateToEffect(e) and not tc:IsImmuneToEffect(e) and tc:IsControlerCanBeChanged() then
if tc:IsFaceup() then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CHANGE_RACE)
e1:SetValue(RACE_BEASTWARRIOR)
e1:SetReset(RESET_PHASE+PHASE_END+RESET_SELF_TURN)
tc:RegisterEffect(e1)
end
if Duel.GetTurnPlayer()==tp then if Duel.GetTurnPlayer()==tp then
Duel.GetControl(tc,tp,PHASE_END,1) if Duel.GetControl(tc,tp,PHASE_END,1) and tc:IsFaceup() then
else local e1=Effect.CreateEffect(c)
Duel.GetControl(tc,tp,PHASE_END,2) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CHANGE_RACE)
e1:SetValue(RACE_BEASTWARRIOR)
e1:SetReset(RESET_PHASE+PHASE_END+RESET_SELF_TURN)
tc:RegisterEffect(e1)
end
else
if Duel.GetControl(tc,tp,PHASE_END,2) and tc:IsFaceup() then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CHANGE_RACE)
e1:SetValue(RACE_BEASTWARRIOR)
e1:SetReset(RESET_PHASE+PHASE_END+RESET_SELF_TURN)
tc:RegisterEffect(e1)
end
end end
end end
end end
...@@ -40,7 +40,7 @@ function c67200406.initial_effect(c) ...@@ -40,7 +40,7 @@ function c67200406.initial_effect(c)
c:RegisterEffect(e4) c:RegisterEffect(e4)
end end
function c67200406.excostfilter(c) function c67200406.excostfilter(c)
return c:IsSetCard(0x5671) and c:IsAbleToHandAsCost() and c:IsType(TYPE_PENDULUM) return c:IsSetCard(0x5671) and c:IsAbleToHandAsCost() and bit.band(c:GetOriginalType(),TYPE_PENDULUM)==TYPE_PENDULUM
end end
function c67200406.mfilter(c,tp) function c67200406.mfilter(c,tp)
--local tp=c:GetControler() --local tp=c:GetControler()
......
...@@ -41,7 +41,7 @@ function c67200408.initial_effect(c) ...@@ -41,7 +41,7 @@ function c67200408.initial_effect(c)
end end
-- --
function c67200408.excostfilter(c) function c67200408.excostfilter(c)
return c:IsSetCard(0x5671) and c:IsAbleToHandAsCost() and c:IsType(TYPE_PENDULUM) return c:IsSetCard(0x5671) and c:IsAbleToHandAsCost() and bit.band(c:GetOriginalType(),TYPE_PENDULUM)==TYPE_PENDULUM
end end
function c67200408.mfilter(c,tp) function c67200408.mfilter(c,tp)
--local tp=c:GetControler() --local tp=c:GetControler()
......
...@@ -49,7 +49,7 @@ end ...@@ -49,7 +49,7 @@ end
-- --
function c67200410.rfilter(c,tp) function c67200410.rfilter(c,tp)
--local tp=c:GetControler() --local tp=c:GetControler()
return c:IsFaceup() and c:IsSetCard(0x5671) and c:IsAbleToHand() and not c:IsCode(67200410) and c:IsType(TYPE_PENDULUM) return c:IsFaceup() and c:IsSetCard(0x5671) and c:IsAbleToHand() and not c:IsCode(67200410) and bit.band(c:GetOriginalType(),TYPE_PENDULUM)==TYPE_PENDULUM
end end
function c67200410.mfilter(c,tp) function c67200410.mfilter(c,tp)
......
...@@ -41,7 +41,7 @@ function c67200414.initial_effect(c) ...@@ -41,7 +41,7 @@ function c67200414.initial_effect(c)
end end
-- --
function c67200414.excostfilter(c) function c67200414.excostfilter(c)
return c:IsSetCard(0x5671) and c:IsAbleToHandAsCost() and c:IsType(TYPE_PENDULUM) return c:IsSetCard(0x5671) and c:IsAbleToHandAsCost() and bit.band(c:GetOriginalType(),TYPE_PENDULUM)==TYPE_PENDULUM
end end
function c67200414.mfilter(c,tp) function c67200414.mfilter(c,tp)
--local tp=c:GetControler() --local tp=c:GetControler()
......
...@@ -55,7 +55,7 @@ end ...@@ -55,7 +55,7 @@ end
function c79029819.xyzop(e,tp,chk) function c79029819.xyzop(e,tp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c79029819.cfilter,tp,LOCATION_HAND+LOCATION_REMOVED,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(c79029819.cfilter,tp,LOCATION_HAND+LOCATION_REMOVED,0,1,nil) end
local g=Duel.SelectMatchingCard(tp,c79029819.cfilter,tp,LOCATION_HAND+LOCATION_REMOVED,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,c79029819.cfilter,tp,LOCATION_HAND+LOCATION_REMOVED,0,1,1,nil)
Duel.Remove(g,POS_FACEUP,REASON_COST) Duel.SendtoDeck(g,nil,2,REASON_COST)
end end
function c79029819.thcon(e,tp,eg,ep,ev,re,r,rp) function c79029819.thcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_XYZ) return e:GetHandler():IsSummonType(SUMMON_TYPE_XYZ)
......
...@@ -74,6 +74,7 @@ function c9910176.desop(e,tp,eg,ep,ev,re,r,rp) ...@@ -74,6 +74,7 @@ function c9910176.desop(e,tp,eg,ep,ev,re,r,rp)
and (Duel.GetCustomActivityCount(9910176,tp,ACTIVITY_CHAIN)~=0 and (Duel.GetCustomActivityCount(9910176,tp,ACTIVITY_CHAIN)~=0
or Duel.GetCustomActivityCount(9910176,1-tp,ACTIVITY_CHAIN)~=0) or Duel.GetCustomActivityCount(9910176,1-tp,ACTIVITY_CHAIN)~=0)
and Duel.IsChainNegatable(ev) and Duel.SelectYesNo(tp,aux.Stringid(9910176,1)) then and Duel.IsChainNegatable(ev) and Duel.SelectYesNo(tp,aux.Stringid(9910176,1)) then
Duel.BreakEffect()
Duel.NegateActivation(ev) Duel.NegateActivation(ev)
end end
end end
...@@ -29,7 +29,7 @@ end ...@@ -29,7 +29,7 @@ end
function c9911024.thop(e,tp,eg,ep,ev,re,r,rp) function c9911024.thop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if tc:IsFaceup() and tc:IsRelateToEffect(e) then if tc:IsFaceup() and tc:IsRelateToEffect(e) and not tc:IsImmuneToEffect(e) then
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CHANGE_ATTRIBUTE) e1:SetCode(EFFECT_CHANGE_ATTRIBUTE)
......
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