Commit d409a109 authored by mercury233's avatar mercury233

fix

parent f57fe547
...@@ -60,7 +60,7 @@ function c100259001.mfilter(c) ...@@ -60,7 +60,7 @@ function c100259001.mfilter(c)
return c:IsFusionCode(74677422) or (c:IsRace(RACE_DRAGON) and c:IsFusionType(TYPE_EFFECT)) return c:IsFusionCode(74677422) or (c:IsRace(RACE_DRAGON) and c:IsFusionType(TYPE_EFFECT))
end end
function c100259001.descon(e,tp,eg,ep,ev,re,r,rp) function c100259001.descon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetFlagEffectLabel(100259101)>0 return e:GetHandler():GetFlagEffectLabel(100259101) and e:GetHandler():GetFlagEffectLabel(100259101)>0
end end
function c100259001.destg(e,tp,eg,ep,ev,re,r,rp,chk) function c100259001.destg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
......
...@@ -52,8 +52,8 @@ function c100423045.spcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -52,8 +52,8 @@ function c100423045.spcon(e,tp,eg,ep,ev,re,r,rp)
end end
function c100423045.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function c100423045.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
local ec=eg:GetFirst() local ec=eg:GetFirst()
if chk==0 then return (ec:IsLocation(LOCATION_GRAVE+LOCATION_REMOVED) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0) if chk==0 then return ((ec:IsLocation(LOCATION_GRAVE+LOCATION_REMOVED) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0)
or (ec:IsLocation(LOCATION_EXTRA) and Duel.GetLocationCountFromEx(tp)>0) end or (ec:IsLocation(LOCATION_EXTRA) and Duel.GetLocationCountFromEx(tp)>0)) and ec:IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetTargetCard(ec) Duel.SetTargetCard(ec)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,ec,1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,ec,1,0,0)
end end
......
...@@ -55,18 +55,20 @@ function c100423048.thfilter(c,p) ...@@ -55,18 +55,20 @@ function c100423048.thfilter(c,p)
end end
function c100423048.atktg(e,tp,eg,ep,ev,re,r,rp,chk) function c100423048.atktg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,1-rp,LOCATION_REMOVED) local p=1-ep
Duel.SetOperationInfo(0,CATEGORY_HANDES,nil,1,1-rp,LOCATION_HAND) Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,p,LOCATION_REMOVED)
Duel.SetOperationInfo(0,CATEGORY_HANDES,nil,1,p,LOCATION_HAND)
end end
function c100423048.atkop(e,tp,eg,ep,ev,re,r,rp) function c100423048.atkop(e,tp,eg,ep,ev,re,r,rp)
local g=e:GetLabelObject():Filter(c100423048.thfilter,nil,1-rp) local p=1-ep
if g:GetCount()>0 and Duel.SelectYesNo(1-rp,aux.Stringid(100423048,1)) then local g=e:GetLabelObject():Filter(c100423048.thfilter,nil,p)
if g:GetCount()>0 and Duel.SelectYesNo(p,aux.Stringid(100423048,1)) then
local flag=false local flag=false
local sg=g:RandomSelect(rp,1) local sg=g:RandomSelect(1-p,1)
local sc=sg:GetFirst() local sc=sg:GetFirst()
if Duel.SendtoHand(sc,nil,REASON_EFFECT)~=0 and sc:IsLocation(LOCATION_HAND) and sc:IsControler(1-rp) then if Duel.SendtoHand(sc,nil,REASON_EFFECT)~=0 and sc:IsLocation(LOCATION_HAND) and sc:IsControler(p) then
Duel.ConfirmCards(rp,sc) Duel.ConfirmCards(1-p,sc)
if sc:IsDiscardable() and Duel.SelectYesNo(1-rp,aux.Stringid(100423048,2)) then if sc:IsDiscardable() and Duel.SelectYesNo(p,aux.Stringid(100423048,2)) then
flag=true flag=true
Duel.BreakEffect() Duel.BreakEffect()
Duel.SendtoGrave(sc,REASON_EFFECT+REASON_DISCARD) Duel.SendtoGrave(sc,REASON_EFFECT+REASON_DISCARD)
...@@ -81,7 +83,7 @@ function c100423048.atkop(e,tp,eg,ep,ev,re,r,rp) ...@@ -81,7 +83,7 @@ function c100423048.atkop(e,tp,eg,ep,ev,re,r,rp)
e1:SetTargetRange(1,0) e1:SetTargetRange(1,0)
e1:SetValue(c100423048.damval) e1:SetValue(c100423048.damval)
e1:SetReset(RESET_PHASE+PHASE_END) e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,1-rp) Duel.RegisterEffect(e1,p)
end end
end end
end end
......
This diff is collapsed.
...@@ -31,8 +31,9 @@ end ...@@ -31,8 +31,9 @@ end
function c101011053.fcheck(tp,sg,fc) function c101011053.fcheck(tp,sg,fc)
if sg:IsExists(c101011053.chkfilter,1,nil,tp) then if sg:IsExists(c101011053.chkfilter,1,nil,tp) then
return sg:FilterCount(Card.IsControler,nil,1-tp)<=1 return sg:FilterCount(Card.IsControler,nil,1-tp)<=1
else
return sg:FilterCount(Card.IsControler,nil,1-tp)<=0
end end
return true
end end
function c101011053.gcheck(tp) function c101011053.gcheck(tp)
return function(sg) return function(sg)
......
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