Commit b035e67b authored by Tachibana's avatar Tachibana

E

parent bf4dcbe5
Pipeline #16319 passed with stages
in 27 minutes and 36 seconds
......@@ -4,7 +4,7 @@ local cm=_G["c"..m]
function cm.initial_effect(c)
--synchro summon
aux.AddSynchroProcedure(c,nil,aux.NonTuner(Card.IsSetCard,0x482),1)
c:EnableReviveLimit()
c:EnableReviveLimit()
--spsummon
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
......@@ -37,7 +37,7 @@ function cm.spcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_MAIN2
end
function cm.spfilter(c,e,tp)
return c:IsSetCard(0x482) and c:IsType(TYPE_SYNCHRO) and not c:IsCode() and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
return c:IsSetCard(0x482) and c:IsType(TYPE_SYNCHRO) and not c:IsCode(m) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
and Duel.GetLocationCountFromEx(tp,tp,nil,c)>0
end
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
......@@ -45,6 +45,7 @@ function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end
function cm.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsAbleToExtra() and Duel.SendtoDeck(c,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)~=0 and c:IsLocation(LOCATION_EXTRA) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,cm.spfilter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp)
......@@ -53,7 +54,7 @@ function cm.spop(e,tp,eg,ep,ev,re,r,rp)
local tc=g:GetFirst()
local fid=e:GetHandler():GetFieldID()
tc:RegisterFlagEffect(m,RESET_EVENT+RESETS_STANDARD,0,1,fid)
local e1=Effect.CreateEffect(e:GetHandler())
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetCountLimit(1)
......
......@@ -39,12 +39,12 @@ function MA.M(c,code,cat,tg,op)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e2:SetValue(MA.M_val1)
e2:SetValue(MA.M_val2)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_CANNOT_SELECT_BATTLE_TARGET)
e3:SetValue(MA.M_val1)
e3:SetValue(MA.M_val3)
c:RegisterEffect(e3)
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE)
......@@ -81,10 +81,14 @@ function MA.M(c,code,cat,tg,op)
return e1,e2,e3,e4,e5,e6,e7,e8
end
-----------
function MA.M_val1(e,re,rp)
if aux.GetValueType(re) == "Effect" and not re:IsActiveType(TYPE_MONSTER) then return false end
local c = aux.GetValueType(re) == "Effect" and re:GetHandler() or re
return e:GetHandler():GetSequence()~=(4-2*aux.MZoneSequence(c:GetSequence()))*math.abs(e:GetHandlerPlayer()-c:GetControler())+aux.MZoneSequence(c:GetSequence())
function MA.M_val1(e,c)
return not (e:GetHandler():GetColumnGroup():IsContains(c) or c:IsImmuneToEffect(e))
end
function MA.M_val2(e,re,rp)
return rp==1-e:GetHandlerPlayer() and re:IsActiveType(TYPE_MONSTER)
end
function MA.M_val3(e,c)
return not e:GetHandler():GetColumnGroup():IsContains(c)
end
function MA.M_con4(e)
local g=Duel.GetFieldGroup(e:GetHandlerPlayer(),0,LOCATION_MZONE)
......
......@@ -8,7 +8,7 @@ function cm.tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
end
function cm.opf(e,te)
local c=te:GetHandler()
local c= aux.GetValueType(te) == "Effect" and te:GetHandler() or te
return c:IsType(TYPE_MONSTER) and not c:IsControler(e:GetHandler():GetControler()) and c:IsLocation(LOCATION_MZONE)
end
function cm.opf2(e,c)
......
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