Commit a7c940db authored by Satty's avatar Satty

fix

parent ae111589
......@@ -72,6 +72,7 @@ function cm.effop(e,tp,eg,ep,ev,re,r,rp)
rc:RegisterEffect(e1,true)
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(m,2))
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_UPDATE_ATTACK)
e2:SetProperty(EFFECT_FLAG_CLIENT_HINT)
......@@ -80,9 +81,8 @@ function cm.effop(e,tp,eg,ep,ev,re,r,rp)
rc:RegisterEffect(e2,true)
local e3=Effect.CreateEffect(c)
e3:SetProperty(EFFECT_FLAG_CLIENT_HINT)
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetDescription(aux.Stringid(18701053,2))
e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetCountLimit(1)
e3:SetRange(LOCATION_MZONE)
e3:SetTarget(cm.movtg)
......@@ -90,6 +90,7 @@ function cm.effop(e,tp,eg,ep,ev,re,r,rp)
e3:SetReset(RESET_EVENT+RESETS_STANDARD)
rc:RegisterEffect(e3,true)
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(m,2))
e4:SetProperty(EFFECT_FLAG_CLIENT_HINT)
e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
......@@ -97,6 +98,7 @@ function cm.effop(e,tp,eg,ep,ev,re,r,rp)
e4:SetReset(RESET_EVENT+RESETS_STANDARD)
rc:RegisterEffect(e4,true)
local e5=Effect.CreateEffect(c)
e5:SetDescription(aux.Stringid(m,2))
e5:SetProperty(EFFECT_FLAG_CLIENT_HINT)
e5:SetType(EFFECT_TYPE_SINGLE)
e5:SetCode(EFFECT_IMMUNE_EFFECT)
......@@ -114,14 +116,11 @@ end
function cm.movop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local at=Duel.GetFieldCard(tp,LOCATION_MZONE,5)
local bt=Duel.GetFieldCard(tp,LOCATION_MZONE,6)
local b1=Duel.GetLocationCount(tp,LOCATION_MZONE,PLAYER_NONE,0)>0
local b2=not Duel.GetFieldCard(tp,LOCATION_MZONE,5) and (Duel.GetFieldCard(tp,LOCATION_MZONE,6):IsControler(1-tp) or not Duel.GetFieldCard(tp,LOCATION_MZONE,6))
local b3=not Duel.GetFieldCard(tp,LOCATION_MZONE,6) and (Duel.GetFieldCard(tp,LOCATION_MZONE,5):IsControler(1-tp) or not Duel.GetFieldCard(tp,LOCATION_MZONE,5))
if not (b2 or b3) then
if c:IsControler(1-tp) or Duel.GetLocationCount(tp,LOCATION_MZONE,PLAYER_NONE,0)<=0 or (Duel.GetLocationCount(tp,LOCATION_MZONE,PLAYER_NONE,0)<=0
and (at or bt)) then return end
local b2=not Duel.GetFieldCard(tp,LOCATION_MZONE,5) and (not Duel.GetFieldCard(tp,LOCATION_MZONE,6) or Duel.GetFieldCard(tp,LOCATION_MZONE,6):IsControler(1-tp))
local b3=not Duel.GetFieldCard(tp,LOCATION_MZONE,6) and (not Duel.GetFieldCard(tp,LOCATION_MZONE,5) or Duel.GetFieldCard(tp,LOCATION_MZONE,5):IsControler(1-tp))
if c:IsControler(tp) and c:GetSequence()<5 and (b2 or b3) then
local op=aux.SelectFromOptions(tp,
{b1,aux.Stringid(m,7)},
{b2,aux.Stringid(m,8)},
......@@ -137,8 +136,7 @@ function cm.movop(e,tp,eg,ep,ev,re,r,rp)
if op==3 then
Duel.MoveSequence(c,6)
end
else
if c:IsControler(1-tp) or Duel.GetLocationCount(tp,LOCATION_MZONE,PLAYER_NONE,0)<=0 then return end
elseif c:IsControler(tp) and Duel.GetLocationCount(tp,LOCATION_MZONE,PLAYER_NONE,0)>0 then
local s=Duel.SelectDisableField(tp,1,LOCATION_MZONE,0,0)
local nseq=math.log(s,2)
Duel.MoveSequence(c,nseq)
......
......@@ -91,15 +91,11 @@ end
function cm.movop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
local at=Duel.GetFieldCard(tp,LOCATION_MZONE,5)
local bt=Duel.GetFieldCard(tp,LOCATION_MZONE,6)
local b1=Duel.GetLocationCount(tp,LOCATION_MZONE,PLAYER_NONE,0)>0
local b2=not Duel.GetFieldCard(tp,LOCATION_MZONE,5) and (Duel.GetFieldCard(tp,LOCATION_MZONE,6):IsControler(1-tp) or not Duel.GetFieldCard(tp,LOCATION_MZONE,6))
local b3=not Duel.GetFieldCard(tp,LOCATION_MZONE,6) and (Duel.GetFieldCard(tp,LOCATION_MZONE,5):IsControler(1-tp) or not Duel.GetFieldCard(tp,LOCATION_MZONE,5))
if tc:IsType(TYPE_FUSION+TYPE_SYNCHRO+TYPE_XYZ+TYPE_LINK) then
if tc:IsControler(1-tp) or Duel.GetLocationCount(tp,LOCATION_MZONE,PLAYER_NONE,0)<=0 or (Duel.GetLocationCount(tp,LOCATION_MZONE,PLAYER_NONE,0)<=0
and (at or bt)) then return end
local b2=not Duel.GetFieldCard(tp,LOCATION_MZONE,5) and (not Duel.GetFieldCard(tp,LOCATION_MZONE,6) or Duel.GetFieldCard(tp,LOCATION_MZONE,6):IsControler(1-tp))
local b3=not Duel.GetFieldCard(tp,LOCATION_MZONE,6) and (not Duel.GetFieldCard(tp,LOCATION_MZONE,5) or Duel.GetFieldCard(tp,LOCATION_MZONE,5):IsControler(1-tp))
if tc:IsControler(tp) and tc:GetSequence()<5 and (b2 or b3) then
local op=aux.SelectFromOptions(tp,
{b1,aux.Stringid(m,3)},
{b2,aux.Stringid(m,4)},
......@@ -115,8 +111,7 @@ function cm.movop(e,tp,eg,ep,ev,re,r,rp)
if op==3 then
Duel.MoveSequence(tc,6)
end
else
if tc:IsControler(1-tp) or Duel.GetLocationCount(tp,LOCATION_MZONE,PLAYER_NONE,0)<=0 then return end
elseif tc:IsControler(tp) and Duel.GetLocationCount(tp,LOCATION_MZONE,PLAYER_NONE,0)>0 then
local s=Duel.SelectDisableField(tp,1,LOCATION_MZONE,0,0)
local nseq=math.log(s,2)
Duel.MoveSequence(tc,nseq)
......
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