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