Commit 8c6abb9f authored by salix5's avatar salix5 Committed by GitHub

add EFFECT_TUNER (#2019)

parent c5e4f79f
......@@ -28,8 +28,8 @@ function c22850702.initial_effect(c)
c:RegisterEffect(e3)
e3:SetLabelObject(e2)
end
function c22850702.matfilter1(c)
return c:IsSynchroType(TYPE_TUNER) or c:IsAttribute(ATTRIBUTE_LIGHT+ATTRIBUTE_DARK)
function c22850702.matfilter1(c,syncard)
return c:IsTuner(syncard) or c:IsAttribute(ATTRIBUTE_LIGHT+ATTRIBUTE_DARK)
end
function c22850702.matfilter2(c,syncard)
return c:IsNotTuner(syncard) and c:IsAttribute(ATTRIBUTE_LIGHT+ATTRIBUTE_DARK)
......
--百檎龍-リンゴブルム
--not fully implemented
function c30765615.initial_effect(c)
--special summon
local e1=Effect.CreateEffect(c)
......@@ -75,22 +74,13 @@ function c30765615.tkop(e,tp,eg,ep,ev,re,r,rp)
Duel.SpecialSummonStep(token,0,tp,tp,false,false,POS_FACEUP)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_ADD_TYPE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetValue(TYPE_TUNER)
e1:SetCode(EFFECT_TUNER)
e1:SetValue(c30765615.tnval)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
token:RegisterEffect(e1,true)
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_NONTUNER)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE+EFFECT_FLAG_CANNOT_DISABLE)
e2:SetRange(LOCATION_MZONE)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetValue(c30765615.tnval)
token:RegisterEffect(e2,true)
Duel.SpecialSummonComplete()
end
end
function c30765615.tnval(e,c)
return e:GetHandler():IsControler(c:GetControler())
end
\ No newline at end of file
end
......@@ -19,8 +19,8 @@ function c63261835.initial_effect(c)
e2:SetOperation(c63261835.thop)
c:RegisterEffect(e2)
end
function c63261835.matfilter1(c)
return c:IsSynchroType(TYPE_TUNER) or c:IsSetCard(0x64)
function c63261835.matfilter1(c,syncard)
return c:IsTuner(syncard) or c:IsSetCard(0x64)
end
function c63261835.thcon(e,tp,eg,ep,ev,re,r,rp)
return re:IsActiveType(TYPE_SPELL+TYPE_TRAP)
......
......@@ -51,7 +51,7 @@ function c67030233.mfilter1(c)
return c:IsCode(21159309)
end
function c67030233.mfilter2(c,syncard,c1)
return c:IsCode(70902743) and (c:IsType(TYPE_TUNER) or c1:IsType(TYPE_TUNER))
return c:IsCode(70902743) and (c:IsTuner(syncard) or c1:IsTuner(syncard))
end
function c67030233.descon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler()==Duel.GetAttacker()
......
......@@ -41,8 +41,8 @@ function s.initial_effect(c)
e3:SetLabelObject(e2)
c:RegisterEffect(e3)
end
function s.mfilter(c,sc)
return c:IsRace(RACE_FISH) and c:IsType(TYPE_TUNER) or c:IsNotTuner(sc)
function s.mfilter(c,syncard)
return (c:IsRace(RACE_FISH) and c:IsTuner(syncard)) or c:IsNotTuner(syncard)
end
function s.filter(c)
return c:IsFaceup() and c:IsType(TYPE_MONSTER)
......
......@@ -53,7 +53,7 @@ function c7841112.mfilter1(c)
return c:IsCode(21159309)
end
function c7841112.mfilter2(c,syncard,c1)
return c:IsCode(44508094) and (c:IsType(TYPE_TUNER) or c1:IsType(TYPE_TUNER))
return c:IsCode(44508094) and (c:IsTuner(syncard) or c1:IsTuner(syncard))
end
function c7841112.negcon(e,tp,eg,ep,ev,re,r,rp)
return not e:GetHandler():IsStatus(STATUS_BATTLE_DESTROYED) and ep~=tp and Duel.IsChainNegatable(ev)
......
......@@ -60,8 +60,8 @@ function c80896940.initial_effect(c)
c:RegisterEffect(e7)
end
c80896940.material_type=TYPE_SYNCHRO
function c80896940.matfilter1(c)
return c:IsType(TYPE_TUNER) or (c:IsType(TYPE_PENDULUM) and c:IsSummonType(SUMMON_TYPE_PENDULUM))
function c80896940.matfilter1(c,syncard)
return c:IsTuner(syncard) or (c:IsType(TYPE_PENDULUM) and c:IsSummonType(SUMMON_TYPE_PENDULUM))
end
function c80896940.indcon(e,tp,eg,ep,ev,re,r,rp)
local a=Duel.GetAttacker()
......
......@@ -28,8 +28,8 @@ function c94677445.initial_effect(c)
e2:SetOperation(c94677445.spop)
c:RegisterEffect(e2)
end
function c94677445.matfilter1(c)
return c:IsSynchroType(TYPE_TUNER) or (c:IsSynchroType(TYPE_NORMAL) and c:IsSetCard(0xfd))
function c94677445.matfilter1(c,syncard)
return c:IsTuner(syncard) or (c:IsSynchroType(TYPE_NORMAL) and c:IsSetCard(0xfd))
end
function c94677445.thcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_SYNCHRO)
......
......@@ -504,7 +504,7 @@ EFFECT_SYNCHRO_LEVEL =240--做同调素材时的等级
EFFECT_RITUAL_LEVEL =241--做仪式祭品时的等级
EFFECT_XYZ_LEVEL =242--做超量素材时的等级
EFFECT_EXTRA_RITUAL_MATERIAL =243--在墓地当做仪式祭品
EFFECT_NONTUNER =244--同当作调整以外的怪兽(幻影王 幽骑)
EFFECT_NONTUNER =244--同调召唤时可以当作调整以外的怪兽(幻影王 幽骑)
EFFECT_OVERLAY_REMOVE_REPLACE =245--代替去除超量素材
EFFECT_SCRAP_CHIMERA =246--废铁奇美拉
EFFECT_TUNE_MAGICIAN_X =247--调弦之魔术师超量素材限制
......@@ -579,6 +579,7 @@ EFFECT_CHANGE_GRAVE_ATTRIBUTE =365 --墓地的卡将会改变属性(升级转
EFFECT_CHANGE_GRAVE_RACE =366 --墓地的卡将会改变种族(升级转变)
EFFECT_ACTIVATION_COUNT_LIMIT =367 --reserve
EFFECT_LIMIT_SPECIAL_SUMMON_POSITION =368 --不能以特定表示形式特殊召唤
EFFECT_TUNER =369 --同调召唤时可以当作调整(百檎龙-苹果鳞虫)
--下面是诱发效果的诱发事件、时点 (如果是TYPE_SINGLE则自己发生以下事件后触发,如果TYPE_FIELD则场上任何卡发生以下事件都触发)
EVENT_STARTUP =1000 --N/A
......
......@@ -347,8 +347,8 @@ function Auxiliary.FilterBoolFunction(f,...)
end
function Auxiliary.Tuner(f,...)
local ext_params={...}
return function(target)
return target:IsType(TYPE_TUNER) and (not f or f(target,table.unpack(ext_params)))
return function(target,syncard)
return target:IsTuner(syncard) and (not f or f(target,table.unpack(ext_params)))
end
end
function Auxiliary.NonTuner(f,...)
......@@ -403,7 +403,7 @@ function Auxiliary.SynCondition(f1,f2,minc,maxc)
if max<maxc then maxc=max end
if minc>maxc then return false end
end
if smat and smat:IsType(TYPE_TUNER) and (not f1 or f1(smat)) then
if smat and smat:IsTuner(c) and (not f1 or f1(smat)) then
return Duel.CheckTunerMaterial(c,smat,f1,f2,minc,maxc,mg) end
return Duel.CheckSynchroMaterial(c,f1,f2,minc,maxc,smat,mg)
end
......@@ -418,7 +418,7 @@ function Auxiliary.SynTarget(f1,f2,minc,maxc)
if minc>maxc then return false end
end
local g=nil
if smat and smat:IsType(TYPE_TUNER) and (not f1 or f1(smat)) then
if smat and smat:IsTuner(c) and (not f1 or f1(smat)) then
g=Duel.SelectTunerMaterial(c:GetControler(),c,smat,f1,f2,minc,maxc,mg)
else
g=Duel.SelectSynchroMaterial(c:GetControler(),c,f1,f2,minc,maxc,smat,mg)
......
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