Commit 8598ea55 authored by mercury233's avatar mercury233

merge #862

parent d79c0d07
--調弦の魔術師
--fusion and xyz limit not implemented
function c73941492.initial_effect(c)
Duel.EnableGlobalFlag(GLOBALFLAG_TUNE_MAGICIAN)
--pendulum summon
......@@ -23,17 +22,21 @@ function c73941492.initial_effect(c)
e3:SetCode(EFFECT_SPSUMMON_CONDITION)
e3:SetValue(aux.FALSE)
c:RegisterEffect(e3)
--synchro custom
--synchro limit
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetCode(EFFECT_TUNER_MATERIAL_LIMIT)
e4:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e4:SetTarget(c73941492.synlimit)
c:RegisterEffect(e4)
--fusion and xyz custom not implemented
--local e5=Effect.CreateEffect(c)
--fusion limit
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_SINGLE)
e5:SetCode(EFFECT_TUNE_MAGICIAN_F)
e5:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
c:RegisterEffect(e5)
--xyz limit
local e6=Effect.CreateEffect(c)
e6:SetDescription(aux.Stringid(73941492,1))
e6:SetType(EFFECT_TYPE_SINGLE)
e6:SetCode(EFFECT_TUNE_MAGICIAN_X)
e6:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
......@@ -104,6 +107,9 @@ function c73941492.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.SpecialSummonComplete()
end
end
function c73941492.fuslimit(c)
return not (c:IsSetCard(0x98) and c:IsType(TYPE_PENDULUM))
end
function c73941492.xyzlimit(e,c)
return not (c:IsSetCard(0x98) and c:IsType(TYPE_PENDULUM))
end
......@@ -467,6 +467,7 @@ EFFECT_NONTUNER =244--同时当作调整以外的怪兽(幻影王 幽骑
EFFECT_OVERLAY_REMOVE_REPLACE =245--代替去除超量素材
EFFECT_SCRAP_CHIMERA =246--废铁奇美拉
EFFECT_TUNE_MAGICIAN_X =247--调弦之魔术师超量素材限制
EFFECT_TUNE_MAGICIAN_F =248--调弦之魔术师融合素材限制
EFFECT_PRE_MONSTER =250 --可存取怪獸的各項數值(Card.AddMonsterAttribute()專用)
EFFECT_MATERIAL_CHECK =251 --检查素材
EFFECT_DISABLE_FIELD =260 --无效区域(扰乱王等)
......
......@@ -542,9 +542,13 @@ function Auxiliary.FCheckMix(c,mg,sg,fc,sub,fun1,fun2,...)
return fun1(c,fc,sub,mg,sg)
end
end
function Auxiliary.FCheckTuneMagicianX(c,sg)
return c:IsHasEffect(EFFECT_TUNE_MAGICIAN_F) and sg:IsExists(c.fuslimit,1,c)
end
--if sg1 is subset of sg2 then not Auxiliary.FCheckAdditional(tp,sg1,fc) -> not Auxiliary.FCheckAdditional(tp,sg2,fc)
Auxiliary.FCheckAdditional=nil
function Auxiliary.FCheckMixGoal(tp,sg,fc,sub,chkf,...)
if sg:IsExists(Auxiliary.FCheckTuneMagicianX,1,nil,sg) then return false end
local g=Group.CreateGroup()
return sg:IsExists(Auxiliary.FCheckMix,1,nil,sg,g,fc,sub,...) and (chkf==PLAYER_NONE or Duel.GetLocationCountFromEx(tp,tp,sg,fc)>0)
and (not Auxiliary.FCheckAdditional or Auxiliary.FCheckAdditional(tp,sg,fc))
......@@ -657,6 +661,7 @@ function Auxiliary.FCheckMixRepFilter(c,sg,g,fc,sub,chkf,fun1,minc,maxc,fun2,...
return false
end
function Auxiliary.FCheckMixRepGoal(tp,sg,fc,sub,chkf,fun1,minc,maxc,...)
if sg:IsExists(Auxiliary.FCheckTuneMagicianX,1,nil,sg) then return false end
if sg:GetCount()<minc+#{...} or sg:GetCount()>maxc+#{...} then return false end
local g=Group.CreateGroup()
return Auxiliary.FCheckMixRep(sg,g,fc,sub,chkf,fun1,minc,maxc,...) and (chkf==PLAYER_NONE or Duel.GetLocationCountFromEx(tp,tp,sg,fc)>0)
......
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