Commit f2b0893a authored by 聖園ミカ's avatar 聖園ミカ 🐟

man!

parent c5acc3df
Pipeline #32480 passed with stages
in 37 minutes and 55 seconds
......@@ -132,14 +132,14 @@ function cm.disop(e,tp,eg,ep,ev,re,r,rp)
e3:SetLabel(zone)
Duel.RegisterEffect(e3,tp)
-- local e0=Effect.CreateEffect(e:GetHandler())
-- e0:SetDescription(aux.Stringid(m,4))
-- e0:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
-- e0:SetCode(EVENT_FREE_CHAIN)
-- e0:SetOperation(cm.debug)
-- e0:SetLabel(zone)
-- e0:SetReset(RESET_PHASE+PHASE_END)
-- Duel.RegisterEffect(e0,1-tp)
-- local e0=Effect.CreateEffect(e:GetHandler())
-- e0:SetDescription(aux.Stringid(m,4))
-- e0:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
-- e0:SetCode(EVENT_FREE_CHAIN)
-- e0:SetOperation(cm.debug)
-- e0:SetLabel(zone)
-- e0:SetReset(RESET_PHASE+PHASE_END)
-- Duel.RegisterEffect(e0,1-tp)
end
function cm.debug(e,tp,eg,ep,ev,re,r,rp)
local zone=e:GetLabel()>>16
......@@ -224,7 +224,7 @@ function cm.seqop(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_DISABLE)
e1:SetTargetRange(0,LOCATION_ONFIELD)
e1:SetTargetRange(LOCATION_MZONE,LOCATION_ONFIELD)
e1:SetTarget(cm.dis2able)
e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetLabel(zone)
......@@ -239,7 +239,7 @@ function cm.seqop(e,tp,eg,ep,ev,re,r,rp)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_DISABLE_TRAPMONSTER)
e3:SetTargetRange(0,LOCATION_MZONE)
e3:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE)
e3:SetTarget(cm.dis2able)
e3:SetReset(RESET_PHASE+PHASE_END)
e3:SetLabel(zone)
......@@ -248,25 +248,30 @@ end
function cm.dis2able(e,c)
local zone=e:GetLabel()
local seq=math.log(zone>>16,2)
local aloc=0
if bit.band(zone,0x1f001f)~=0 then aloc=LOCATION_MZONE end
if bit.band(zone,0x1f001f00)~=0 then aloc=LOCATION_SZONE end
if bit.band(zone,0x20002000)~=0 then aloc=LOCATION_FZONE end
if aloc==LOCATION_FZONE then
return c:IsLocation(LOCATION_FZONE) and c:GetControler()~=e:GetHandlerPlayer()
else
local loc=LOCATION_MZONE
if seq>8 then
loc=LOCATION_SZONE
seq=seq-8
local tp=e:GetOwnerPlayer()
local loc=LOCATION_MZONE and seq<5 or LOCATION_SZONE
if seq==13 then
return not c:IsControler(tp) and c:IsLocation(LOCATION_FZONE)
end
local cseq=c:GetSequence()
local cloc=c:GetLocation()
if cloc&LOCATION_SZONE~=0 and cseq>=5 then return false end
if cloc&LOCATION_MZONE~=0 and cseq>=5 then
if c:IsControler(tp) then
return seq==1 and cseq==6 or seq==3 and cseq==5
else
return seq==1 and cseq==5 or seq==3 and cseq==6
end
if seq>=5 and seq<=7 then return false end
local cseq=c:GetSequence()
local cloc=c:GetLocation()
if cloc==LOCATION_SZONE and cseq>=5 then return false end
if cloc==LOCATION_MZONE and cseq>=5 and loc==LOCATION_MZONE and (seq==1 and cseq==5 or seq==3 and cseq==6) then return true end
return cseq==seq or cloc==loc and math.abs(cseq-seq)==1
end
if c:IsControler(tp) then
return false
end
if cloc&LOCATION_MZONE~=0 then
return cseq==seq or seq<5 and cseq<5 and math.abs(cseq-seq)==1
else
return cseq==seq
end
return false
end
function cm.dis3op(e,tp,eg,ep,ev,re,r,rp)
local zone=e:GetLabel()
......
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