Commit 8598ea55 authored by mercury233's avatar mercury233

merge #862

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