Commit b88a5d13 authored by VanillaSalt's avatar VanillaSalt

fix

parent a7b24c19
--Elder God Noden
--구신 노덴
function c17412721.initial_effect(c)
--fusion material
c:EnableReviveLimit()
aux.AddFusionProcFun2(c,aux.FilterBoolFunction(c17412721.fusfilter),aux.FilterBoolFunction(c17412721.fusfilter),true)
--spsummon
aux.AddFusionProcFun2(c,c17412721.ffilter,c17412721.ffilter,true)
--spsummon
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(17412721,1))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
......@@ -21,8 +21,8 @@ function c17412721.initial_effect(c)
c:RegisterEffect(e2)
e1:SetLabelObject(e2)
end
function c17412721.fusfilter(c)
return c:IsType(TYPE_XYZ) or c:IsType(TYPE_SYNCHRO)
function c17412721.ffilter(c)
return c:IsType(TYPE_XYZ+TYPE_SYNCHRO)
end
function c17412721.filter(c,e,tp)
return c:IsLevelBelow(4) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
......@@ -38,7 +38,7 @@ end
function c17412721.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)>0 and c:IsRelateToEffect(e) then
if tc:IsRelateToEffect(e) and Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)>0 then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_DISABLE)
......@@ -49,11 +49,12 @@ function c17412721.spop(e,tp,eg,ep,ev,re,r,rp)
e2:SetCode(EFFECT_DISABLE_EFFECT)
e2:SetReset(RESET_EVENT+0x1fe0000)
tc:RegisterEffect(e2,true)
Duel.SpecialSummonComplete()
c:SetCardTarget(tc)
e:GetLabelObject():SetLabelObject(tc)
c:CreateRelation(tc,RESET_EVENT+0x5020000)
tc:CreateRelation(c,RESET_EVENT+0x1fe0000)
if c:IsRelateToEffect(e) then
c:SetCardTarget(tc)
e:GetLabelObject():SetLabelObject(tc)
c:CreateRelation(tc,RESET_EVENT+0x5020000)
tc:CreateRelation(c,RESET_EVENT+0x1fe0000)
end
end
end
function c17412721.leave(e,tp,eg,ep,ev,re,r,rp)
......
......@@ -19,7 +19,8 @@ end
function c38495396.ovfilter(c)
return c:IsFaceup() and c:IsSetCard(0x53) and c:GetCode()~=38495396 and c:IsType(TYPE_XYZ)
end
function c38495396.xyzop(e,tp)
function c38495396.xyzop(e,tp,chk)
if chk==0 then return true end
e:GetHandler():RegisterFlagEffect(38495396,RESET_EVENT+0xfe0000+RESET_PHASE+PHASE_END,0,1)
end
function c38495396.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
......
......@@ -28,14 +28,13 @@ function c41510920.target(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SetOperationInfo(0,CATEGORY_NEGATE,eg,1,0,0)
if re:GetHandler():IsDestructable() and re:GetHandler():IsRelateToEffect(re) then
Duel.SetOperationInfo(0,CATEGORY_DESTROY,eg,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
end
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
end
function c41510920.activate(e,tp,eg,ep,ev,re,r,rp)
if not Duel.NegateActivation(ev) then return end
if re:GetHandler():IsRelateToEffect(re) then
Duel.Destroy(eg,REASON_EFFECT)
if re:GetHandler():IsRelateToEffect(re) and Duel.Destroy(eg,REASON_EFFECT)~=0 then
Duel.BreakEffect()
Duel.Draw(tp,1,REASON_EFFECT)
end
Duel.BreakEffect()
Duel.Draw(tp,1,REASON_EFFECT)
end
......@@ -32,17 +32,12 @@ c51543904.xyz_number=99
function c51543904.cfilter(c)
return c:IsSetCard(0x95) and c:IsType(TYPE_SPELL) and c:IsDiscardable()
end
function c51543904.cfilter2(c)
return c:GetFlagEffect(51543904)
end
function c51543904.ovfilter(c)
return c:IsFaceup() and c:IsSetCard(0x7f)
and (Duel.IsExistingMatchingCard(c51543904.cfilter,c:GetControler(),LOCATION_HAND,0,1,nil)
or Duel.IsExistingMatchingCard(c51543904.cfilter2,c:GetControler(),LOCATION_EXTRA,0,1,nil))
end
function c51543904.xyzop(e,tp)
function c51543904.xyzop(e,tp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c51543904.cfilter,tp,LOCATION_HAND,0,1,nil) end
Duel.DiscardHand(tp,c51543904.cfilter,1,1,REASON_COST+REASON_DISCARD)
e:GetHandler():RegisterFlagEffect(51543904,RESET_EVENT+0x7ff0000,0,1)
end
function c51543904.filter(c,e,tp)
return c:IsSetCard(0x48) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
......
......@@ -39,8 +39,8 @@ function c82962242.initial_effect(c)
e4:SetCondition(c82962242.spcon)
e4:SetTarget(c82962242.sptg)
e4:SetOperation(c82962242.spop)
e4:SetLabelObject(e3)
c:RegisterEffect(e4)
e3:SetLabelObject(e4)
end
function c82962242.cfilter(c,tp)
return c:IsFaceup() and c:IsSetCard(0x8e) and c:IsControler(tp)
......
......@@ -182,7 +182,7 @@ function Auxiliary.AddXyzProcedure(c,f,ct,alterf,desc,maxct,op)
e1:SetRange(LOCATION_EXTRA)
if not maxct then maxct=ct end
if alterf then
e1:SetCondition(Auxiliary.XyzCondition2(f,ct,maxct,alterf,desc))
e1:SetCondition(Auxiliary.XyzCondition2(f,ct,maxct,alterf,desc,op))
e1:SetOperation(Auxiliary.XyzOperation2(f,ct,maxct,alterf,desc,op))
else
e1:SetCondition(Auxiliary.XyzCondition(f,ct,maxct))
......@@ -213,13 +213,16 @@ function Auxiliary.XyzOperation(f,minc,maxc)
end
end
end
function Auxiliary.XyzCondition2(f,minc,maxc,alterf,desc)
function Auxiliary.XyzCondition2(f,minc,maxc,alterf,desc,op)
return function(e,c,og)
if c==nil then return true end
local ft=Duel.GetLocationCount(c:GetControler(),LOCATION_MZONE)
local ct=-ft
if minc<=ct then return false end
if ct<1 and Duel.IsExistingMatchingCard(alterf,c:GetControler(),LOCATION_MZONE,0,1,nil) then return true end
if ct<1 and Duel.IsExistingMatchingCard(alterf,c:GetControler(),LOCATION_MZONE,0,1,nil)
and (not op or op(e,tp,0)) then
return true
end
return Duel.CheckXyzMaterial(c,f,minc,maxc,og)
end
end
......@@ -235,7 +238,7 @@ function Auxiliary.XyzOperation2(f,minc,maxc,alterf,desc,op)
local b2=ct<1 and Duel.IsExistingMatchingCard(alterf,tp,LOCATION_MZONE,0,1,nil)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_XMATERIAL)
if b2 and (not b1 or Duel.SelectYesNo(tp,desc)) then
if op then op(e,tp) end
if op then op(e,tp,1) end
local mg=Duel.SelectMatchingCard(tp,alterf,tp,LOCATION_MZONE,0,1,1,nil)
local mg2=mg:GetFirst():GetOverlayGroup()
if mg2:GetCount()~=0 then
......
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