Commit 153cf493 authored by wind2009's avatar wind2009

Fix Phychic Omnibuster

parent cb071182
Pipeline #37891 passed with stages
in 2 minutes and 13 seconds
...@@ -32,7 +32,7 @@ function s.rmtg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -32,7 +32,7 @@ function s.rmtg(e,tp,eg,ep,ev,re,r,rp,chk)
local b2=Duel.GetFlagEffect(tp,id+o)==0 local b2=Duel.GetFlagEffect(tp,id+o)==0
local b3=Duel.GetFlagEffect(tp,id+o*2)==0 local b3=Duel.GetFlagEffect(tp,id+o*2)==0
if chk==0 then return (b1 or b2 or b3) and Duel.GetFieldGroupCount(tp,0,LOCATION_HAND)~=0 if chk==0 then return (b1 or b2 or b3) and Duel.GetFieldGroupCount(tp,0,LOCATION_HAND)~=0
and Duel.IsExistingMatchingCard(Card.IsAbleToRemove,tp,0,LOCATION_HAND,1,nil) end and Duel.IsExistingMatchingCard(nil,tp,0,LOCATION_HAND,1,nil) end
local op=0 local op=0
if b1 or b2 or b3 then if b1 or b2 or b3 then
op=aux.SelectFromOptions(tp, op=aux.SelectFromOptions(tp,
...@@ -70,8 +70,8 @@ function s.rmop(e,tp,eg,ep,ev,re,r,rp) ...@@ -70,8 +70,8 @@ function s.rmop(e,tp,eg,ep,ev,re,r,rp)
end end
if Duel.Remove(sg,POS_FACEUP,REASON_EFFECT)~=0 then if Duel.Remove(sg,POS_FACEUP,REASON_EFFECT)~=0 then
local tc=sg:GetFirst() local tc=sg:GetFirst()
local fid=tc:GetFieldID() local fid=c:GetFieldID()
tc:RegisterFlagEffect(id,RESET_EVENT+RESETS_STANDARD,0,1,fid) tc:RegisterFlagEffect(id,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1,fid)
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PHASE+PHASE_END) e1:SetCode(EVENT_PHASE+PHASE_END)
...@@ -90,13 +90,12 @@ function s.efilter(e,re) ...@@ -90,13 +90,12 @@ function s.efilter(e,re)
return re:GetOwner():IsType(e:GetLabel()) return re:GetOwner():IsType(e:GetLabel())
end end
function s.retcon(e,tp,eg,ep,ev,re,r,rp) function s.retcon(e,tp,eg,ep,ev,re,r,rp)
local fid=e:GetLabel()
local tc=e:GetLabelObject() local tc=e:GetLabelObject()
if tc:GetFlagEffectLabel(id)==fid then if tc:GetFlagEffectLabel(id)==e:GetLabel() then
return true
else
e:Reset() e:Reset()
return false return false
else
return Duel.GetTurnPlayer()==1-tp and Duel.GetTurnCount()~=e:GetLabel()
end end
end end
function s.retop(e,tp,eg,ep,ev,re,r,rp) function s.retop(e,tp,eg,ep,ev,re,r,rp)
......
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