Commit 286b34be authored by mercury233's avatar mercury233 Committed by GitHub

update S:Pリトルナイト (#2351)

parent 8565f4bc
......@@ -108,9 +108,6 @@ end
function s.retfilter(c,fid)
return c:GetFlagEffectLabel(id)==fid
end
function s.retfilter1(c,tp,fid)
return c:GetFlagEffectLabel(id)==fid and c:IsPreviousControler(tp)
end
function s.retcon(e,tp,eg,ep,ev,re,r,rp)
if not e:GetLabelObject():IsExists(s.retfilter,1,nil,e:GetLabel()) then
e:GetLabelObject():DeleteGroup()
......@@ -121,29 +118,20 @@ function s.retcon(e,tp,eg,ep,ev,re,r,rp)
end
function s.retop(e,tp,eg,ep,ev,re,r,rp)
local fid=e:GetLabel()
local g1=e:GetLabelObject():Filter(s.retfilter1,nil,tp,fid)
local g2=e:GetLabelObject():Filter(s.retfilter1,nil,1-tp,fid)
local turnp=Duel.GetTurnPlayer()
if #g2==0 then
if #g1==1 then
Duel.ReturnToField(g1:GetFirst())
else
local tc=g1:Select(tp,1,1,nil):GetFirst()
Duel.ReturnToField(tc)
g1:RemoveCard(tc)
Duel.ReturnToField(g1:GetFirst())
local g=e:GetLabelObject():Filter(s.retfilter,nil,fid)
if #g<=0 then return end
Duel.Hint(HINT_CARD,0,id)
for p in aux.TurnPlayers() do
local tg=g:Filter(Card.IsPreviousControler,nil,p)
local ft=Duel.GetLocationCount(p,LOCATION_MZONE)
if #tg>1 and ft==1 then
Duel.Hint(HINT_SELECTMSG,p,HINTMSG_TOFIELD)
local sg=tg:Select(p,1,1,nil)
Duel.ReturnToField(sg:GetFirst())
tg:Sub(sg)
end
else
if turnp==tp then
if #g1>0 then
Duel.ReturnToField(g1:GetFirst())
end
Duel.ReturnToField(g2:GetFirst())
else
Duel.ReturnToField(g2:GetFirst())
if #g1>0 then
Duel.ReturnToField(g1:GetFirst())
end
for tc in aux.Next(tg) do
Duel.ReturnToField(tc)
end
end
e:GetLabelObject():DeleteGroup()
......
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