Commit 845db8cb authored by POLYMER's avatar POLYMER

fix

parent 634ff160
...@@ -98,7 +98,28 @@ end ...@@ -98,7 +98,28 @@ end
-- 除外效果 -- 除外效果
function s.exccost(e,tp,eg,ep,ev,re,r,rp,chk) function s.exccost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToRemoveAsCost() end if chk==0 then return e:GetHandler():IsAbleToRemoveAsCost() end
Duel.Remove(e:GetHandler(),POS_FACEUP,REASON_COST) local tc=e:GetHandler()
if tc:IsRelateToEffect(e) and Duel.Remove(tc,0,REASON_COST+REASON_TEMPORARY)~=0
and tc:IsLocation(LOCATION_REMOVED) then
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetDescription(aux.Stringid(id,1))
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PHASE+PHASE_STANDBY)
e1:SetLabelObject(tc)
e1:SetCountLimit(1)
e1:SetCondition(s.retcon)
e1:SetOperation(s.retop)
if Duel.GetTurnPlayer()==tp and Duel.GetCurrentPhase()<=PHASE_STANDBY then
e1:SetReset(RESET_PHASE+PHASE_STANDBY+RESET_SELF_TURN,2)
e1:SetValue(Duel.GetTurnCount())
tc:RegisterFlagEffect(id,RESET_PHASE+PHASE_STANDBY+RESET_SELF_TURN,0,2)
else
e1:SetReset(RESET_PHASE+PHASE_STANDBY+RESET_SELF_TURN)
e1:SetValue(0)
tc:RegisterFlagEffect(id,RESET_PHASE+PHASE_STANDBY+RESET_SELF_TURN,0,1)
end
Duel.RegisterEffect(e1,tp)
end
end end
function s.excop(e,tp,eg,ep,ev,re,r,rp) function s.excop(e,tp,eg,ep,ev,re,r,rp)
...@@ -126,18 +147,6 @@ function s.excop(e,tp,eg,ep,ev,re,r,rp) ...@@ -126,18 +147,6 @@ function s.excop(e,tp,eg,ep,ev,re,r,rp)
local desc=math.random(5,10) local desc=math.random(5,10)
Duel.Hint(24,0,aux.Stringid(id,desc)) Duel.Hint(24,0,aux.Stringid(id,desc))
-- 回归效果
local c=e:GetHandler()
c:RegisterFlagEffect(id,RESET_EVENT+RESETS_STANDARD,0,1)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_PHASE+PHASE_STANDBY)
e3:SetCountLimit(1)
e3:SetLabel(Duel.GetTurnCount())
e3:SetCondition(s.retcon)
e3:SetOperation(s.retop)
e3:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_STANDBY,2)
Duel.RegisterEffect(e3,tp)
end end
-- 发动权限筛选 -- 发动权限筛选
...@@ -150,12 +159,10 @@ function s.actop(e,tp,eg,ep,ev,re,r,rp) ...@@ -150,12 +159,10 @@ function s.actop(e,tp,eg,ep,ev,re,r,rp)
end end
-- 回归效果 -- 回归效果
function s.retcon(e,tp,eg,ep,ev,re,r,rp) function s.retcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnCount()~=e:GetLabel() and e:GetOwner():GetFlagEffect(id)>0 if Duel.GetTurnPlayer()~=tp or Duel.GetTurnCount()==e:GetValue() then return false end
return e:GetLabelObject():GetFlagEffect(id)~=0
end end
function s.retop(e,tp,eg,ep,ev,re,r,rp) function s.retop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetOwner() local tc=e:GetLabelObject()
if c:IsLocation(LOCATION_REMOVED) and c:IsFaceup() then Duel.ReturnToField(tc)
Duel.ReturnToField(c)
end
e:Reset()
end end
\ No newline at end of file
...@@ -80,7 +80,7 @@ function c98941055.xyzfilter1(c,e,lv,ff) ...@@ -80,7 +80,7 @@ function c98941055.xyzfilter1(c,e,lv,ff)
if (ff==1 or ff==4) and not c:IsSetCard(0x9c) then return end if (ff==1 or ff==4) and not c:IsSetCard(0x9c) then return end
if ff==2 and not c:IsAttribute(ATTRIBUTE_LIGHT) then return end if ff==2 and not c:IsAttribute(ATTRIBUTE_LIGHT) then return end
if ff==3 and not c:IsSetCard(0x53) then return end if ff==3 and not c:IsSetCard(0x53) then return end
return c:IsSetCard(0x9c,0x53) and c:IsCanBeXyzMaterial(e:GetHandler()) return c:IsSetCard(0x9c,0x53) and c:IsLevel(4) and c:IsCanBeXyzMaterial(e:GetHandler())
end end
function c98941055.xyzfilter2(c,e) function c98941055.xyzfilter2(c,e)
return c:IsCode(98941055) and c:IsCanBeXyzMaterial(e:GetHandler()) and Duel.GetMZoneCount(c:GetControler(),c,c:GetControler())>0 and c:IsLevel(4) return c:IsCode(98941055) and c:IsCanBeXyzMaterial(e:GetHandler()) and Duel.GetMZoneCount(c:GetControler(),c,c:GetControler())>0 and c:IsLevel(4)
...@@ -96,7 +96,7 @@ function c98941055.tg(e,tp,eg,ep,ev,re,r,rp,chk,c,og,min,max) ...@@ -96,7 +96,7 @@ function c98941055.tg(e,tp,eg,ep,ev,re,r,rp,chk,c,og,min,max)
local c=e:GetHandler() local c=e:GetHandler()
local lv=c:GetLevel() local lv=c:GetLevel()
local ff=0 local ff=0
if c:IsSetCard(0x109c) and not c:IsType(TYPE_PENDULUM) then ff=1 if c:IsCode(42589641) and not c:IsType(TYPE_PENDULUM) then ff=1
elseif c:IsCode(2091298) then ff=2 elseif c:IsCode(2091298) then ff=2
elseif c:IsCode(26329679) then ff=3 elseif c:IsCode(26329679) then ff=3
elseif c:IsCode(64414267) then ff=4 end elseif c:IsCode(64414267) then ff=4 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