Commit 67572809 authored by POLYMER's avatar POLYMER

fix

parent 939c04e0
--高速疾行机人 纸模空间船 --高速疾行机人 纸模空间船
--21.09.14 --21.09.14
local m=11451628 local cm,m=GetID()
local cm=_G["c"..m]
function cm.initial_effect(c) function cm.initial_effect(c)
c:SetSPSummonOnce(m) c:SetSPSummonOnce(m)
aux.AddSynchroProcedure(c,cm.tfilter,cm.ntfilter,1) aux.AddSynchroProcedure(c,cm.tfilter,cm.ntfilter,1)
...@@ -241,7 +240,7 @@ function cm.syop(e,tp,eg,ep,ev,re,r,rp) ...@@ -241,7 +240,7 @@ function cm.syop(e,tp,eg,ep,ev,re,r,rp)
if #g>0 then if #g>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=g:Select(tp,1,1,nil) local sg=g:Select(tp,1,1,nil)
local mg=aux.GetSynMaterials(tp,sg:GetFirst()) --[[local mg=aux.GetSynMaterials(tp,sg:GetFirst())
for tc in aux.Next(mg) do for tc in aux.Next(mg) do
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
...@@ -260,7 +259,34 @@ function cm.syop(e,tp,eg,ep,ev,re,r,rp) ...@@ -260,7 +259,34 @@ function cm.syop(e,tp,eg,ep,ev,re,r,rp)
e2:SetOperation(cm.adjustop) e2:SetOperation(cm.adjustop)
e2:SetReset(RESET_PHASE+PHASE_END) e2:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e2,tp) Duel.RegisterEffect(e2,tp)
end end--]]
local sc=sg:GetFirst()
local _SendToGrave=Duel.SendtoGrave
Duel.SendtoGrave=function(g,r)
if r==REASON_MATERIAL+REASON_SYNCHRO and #g>0 and Duel.Remove(g,POS_FACEUP,REASON_MATERIAL+REASON_SYNCHRO+REASON_TEMPORARY)>0 then
local fid=sc:GetFieldID()
local og=Duel.GetOperatedGroup()
for oc in aux.Next(og) do
oc:RegisterFlagEffect(m,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1,fid)
end
og:KeepAlive()
local e1=Effect.CreateEffect(sc)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetCountLimit(1)
e1:SetLabel(fid)
e1:SetLabelObject(og)
e1:SetCondition(cm.retcon)
e1:SetOperation(cm.retop)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
Duel.SendtoGrave=_SendToGrave
return #og
else
return _SendToGrave(tg,r)
end
end
Duel.SynchroSummon(tp,sg:GetFirst(),nil) Duel.SynchroSummon(tp,sg:GetFirst(),nil)
end end
end end
......
...@@ -96,7 +96,7 @@ function cm.thcost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -96,7 +96,7 @@ function cm.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
--limit --limit
flag=flag+2 flag=flag+2
Duel.ResetFlagEffect(tp,11451731) Duel.ResetFlagEffect(tp,11451731)
local ct=math.max(math.min(flag+5,16),0) local ct=math.max(math.min(flag+5,15),0)
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetDescription(aux.Stringid(11451731,ct)) e1:SetDescription(aux.Stringid(11451731,ct))
e1:SetLabel(flag) e1:SetLabel(flag)
......
...@@ -96,7 +96,7 @@ function cm.thcost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -96,7 +96,7 @@ function cm.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
--limit --limit
flag=flag+1 flag=flag+1
Duel.ResetFlagEffect(tp,11451731) Duel.ResetFlagEffect(tp,11451731)
local ct=math.max(math.min(flag+5,16),0) local ct=math.max(math.min(flag+5,15),0)
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetDescription(aux.Stringid(11451731,ct)) e1:SetDescription(aux.Stringid(11451731,ct))
e1:SetLabel(flag) e1:SetLabel(flag)
......
...@@ -96,7 +96,7 @@ function cm.thcost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -96,7 +96,7 @@ function cm.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
--limit --limit
flag=flag+1 flag=flag+1
Duel.ResetFlagEffect(tp,11451731) Duel.ResetFlagEffect(tp,11451731)
local ct=math.max(math.min(flag+5,16),0) local ct=math.max(math.min(flag+5,15),0)
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetDescription(aux.Stringid(11451731,ct)) e1:SetDescription(aux.Stringid(11451731,ct))
e1:SetLabel(flag) e1:SetLabel(flag)
......
...@@ -96,7 +96,7 @@ function cm.thcost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -96,7 +96,7 @@ function cm.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
--limit --limit
flag=flag+2 flag=flag+2
Duel.ResetFlagEffect(tp,11451731) Duel.ResetFlagEffect(tp,11451731)
local ct=math.max(math.min(flag+5,16),0) local ct=math.max(math.min(flag+5,15),0)
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetDescription(aux.Stringid(11451731,ct)) e1:SetDescription(aux.Stringid(11451731,ct))
e1:SetLabel(flag) e1:SetLabel(flag)
......
...@@ -90,7 +90,7 @@ end ...@@ -90,7 +90,7 @@ end
function cm.costop(e,tp,eg,ep,ev,re,r,rp) 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)
cm.activate_sequence[te]=tc:GetSequence() cm.activate_sequence[te]=e:GetHandler():GetSequence()
e:GetHandler():CreateEffectRelation(te) e:GetHandler():CreateEffectRelation(te)
local c=e:GetHandler() local c=e:GetHandler()
local ev0=Duel.GetCurrentChain()+1 local ev0=Duel.GetCurrentChain()+1
......
...@@ -52,7 +52,8 @@ function cm.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -52,7 +52,8 @@ function cm.activate(e,tp,eg,ep,ev,re,r,rp)
elseif acs and bcs then elseif acs and bcs then
local acpos=ac:GetPosition() local acpos=ac:GetPosition()
local bcpos=bc:GetPosition() local bcpos=bc:GetPosition()
Duel.Overlay(ac,bc) local tempc=Duel.GetFieldGroup(0,LOCATION_DECK+LOCATION_HAND+LOCATION_EXTRA+LOCATION_REMOVED,LOCATION_DECK+LOCATION_HAND+LOCATION_EXTRA+LOCATION_REMOVED):GetFirst()
Duel.Overlay(tempc,bc)
Duel.MoveToField(ac,tp,1-ac:GetControler(),LOCATION_FZONE,acpos,true) Duel.MoveToField(ac,tp,1-ac:GetControler(),LOCATION_FZONE,acpos,true)
Duel.MoveToField(bc,tp,1-ac:GetControler(),LOCATION_FZONE,bcpos,true) Duel.MoveToField(bc,tp,1-ac:GetControler(),LOCATION_FZONE,bcpos,true)
end end
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
local m=14090046 local m=14090046
local cm=_G["c"..m] local cm=_G["c"..m]
function cm.initial_effect(c) function cm.initial_effect(c)
aux.AddCodeList(c,32274490)
--change code --change code
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
......
...@@ -43,7 +43,7 @@ function c98920290.syop(e,tp,eg,ep,ev,re,r,rp) ...@@ -43,7 +43,7 @@ function c98920290.syop(e,tp,eg,ep,ev,re,r,rp)
if #g>0 then if #g>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=g:Select(tp,1,1,nil) local sg=g:Select(tp,1,1,nil)
local mg=aux.GetSynMaterials(tp,sg:GetFirst()) --[[local mg=aux.GetSynMaterials(tp,sg:GetFirst())
for tc in aux.Next(mg) do for tc in aux.Next(mg) do
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
...@@ -53,7 +53,17 @@ function c98920290.syop(e,tp,eg,ep,ev,re,r,rp) ...@@ -53,7 +53,17 @@ function c98920290.syop(e,tp,eg,ep,ev,re,r,rp)
e1:SetValue(1) e1:SetValue(1)
e1:SetOperation(c98920290.synop) e1:SetOperation(c98920290.synop)
tc:RegisterEffect(e1) tc:RegisterEffect(e1)
end end--]]
local _SendToGrave=Duel.SendtoGrave
Duel.SendtoGrave=function(tg,r)
if r&REASON_SYNCHRO>0 then
local ct=Duel.Destroy(tg,r|REASON_EFFECT)
Duel.SendtoGrave=_SendToGrave
return ct
else
return _SendToGrave(tg,r)
end
end
Duel.SynchroSummon(tp,sg:GetFirst(),nil) Duel.SynchroSummon(tp,sg:GetFirst(),nil)
end end
end 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