Commit 575cb4b4 authored by salix5's avatar salix5 Committed by GitHub

Update Union monsters (#1423)

* CheckUnionTarget()

* add EFFECT_UNION_LIMIT

Now union monsters will not have their own EFFECT_EQUIP_LIMIT effect.
EFFECT_EFFECT_LIMIT is gained in union equipping procedure.

* comment

* old union

* modern union
parent dba3aaaf
...@@ -42,7 +42,7 @@ function c11678191.initial_effect(c) ...@@ -42,7 +42,7 @@ function c11678191.initial_effect(c)
--eqlimit --eqlimit
local e6=Effect.CreateEffect(c) local e6=Effect.CreateEffect(c)
e6:SetType(EFFECT_TYPE_SINGLE) e6:SetType(EFFECT_TYPE_SINGLE)
e6:SetCode(EFFECT_EQUIP_LIMIT) e6:SetCode(EFFECT_UNION_LIMIT)
e6:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e6:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e6:SetValue(c11678191.eqlimit) e6:SetValue(c11678191.eqlimit)
c:RegisterEffect(e6) c:RegisterEffect(e6)
......
...@@ -12,7 +12,7 @@ function c12079734.initial_effect(c) ...@@ -12,7 +12,7 @@ function c12079734.initial_effect(c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c12079734.filter1(c,ec) function c12079734.filter1(c,ec)
return c:IsType(TYPE_UNION) and c:CheckEquipTarget(ec) and aux.CheckUnionEquip(c,ec) return c:IsType(TYPE_UNION) and c:CheckUnionTarget(ec) and aux.CheckUnionEquip(c,ec)
end end
function c12079734.filter2(c) function c12079734.filter2(c)
return c:IsFaceup() and c:IsRace(RACE_MACHINE) and c:IsAttribute(ATTRIBUTE_LIGHT) and c:IsAbleToDeck() return c:IsFaceup() and c:IsRace(RACE_MACHINE) and c:IsAttribute(ATTRIBUTE_LIGHT) and c:IsAbleToDeck()
......
...@@ -17,7 +17,7 @@ function c12524259.tgfilter(c,tp) ...@@ -17,7 +17,7 @@ function c12524259.tgfilter(c,tp)
and Duel.IsExistingMatchingCard(c12524259.eqfilter,tp,LOCATION_HAND+LOCATION_DECK,0,1,nil,c,tp) and Duel.IsExistingMatchingCard(c12524259.eqfilter,tp,LOCATION_HAND+LOCATION_DECK,0,1,nil,c,tp)
end end
function c12524259.eqfilter(c,tc,tp) function c12524259.eqfilter(c,tc,tp)
return aux.CheckUnionEquip(c,tc) and c:CheckEquipTarget(tc) and c:IsType(TYPE_UNION) return aux.CheckUnionEquip(c,tc) and c:CheckUnionTarget(tc) and c:IsType(TYPE_UNION)
and c:IsRace(RACE_MACHINE) and c:CheckUniqueOnField(tp) and not c:IsForbidden() and c:IsRace(RACE_MACHINE) and c:CheckUniqueOnField(tp) and not c:IsForbidden()
end end
function c12524259.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c12524259.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
......
...@@ -42,7 +42,7 @@ function c12965761.initial_effect(c) ...@@ -42,7 +42,7 @@ function c12965761.initial_effect(c)
--eqlimit --eqlimit
local e5=Effect.CreateEffect(c) local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_SINGLE) e5:SetType(EFFECT_TYPE_SINGLE)
e5:SetCode(EFFECT_EQUIP_LIMIT) e5:SetCode(EFFECT_UNION_LIMIT)
e5:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e5:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e5:SetValue(c12965761.eqlimit) e5:SetValue(c12965761.eqlimit)
c:RegisterEffect(e5) c:RegisterEffect(e5)
......
...@@ -42,7 +42,7 @@ function c19086954.initial_effect(c) ...@@ -42,7 +42,7 @@ function c19086954.initial_effect(c)
--eqlimit --eqlimit
local e6=Effect.CreateEffect(c) local e6=Effect.CreateEffect(c)
e6:SetType(EFFECT_TYPE_SINGLE) e6:SetType(EFFECT_TYPE_SINGLE)
e6:SetCode(EFFECT_EQUIP_LIMIT) e6:SetCode(EFFECT_UNION_LIMIT)
e6:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e6:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e6:SetValue(c19086954.eqlimit) e6:SetValue(c19086954.eqlimit)
c:RegisterEffect(e6) c:RegisterEffect(e6)
......
--戦乙女の戦車 --戦乙女の戦車
function c19190082.initial_effect(c) function c19190082.initial_effect(c)
aux.EnableUnionAttribute(c,c19190082.eqlimit)
--equip --equip
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(19190082,0)) e1:SetDescription(aux.Stringid(19190082,0))
...@@ -19,20 +20,6 @@ function c19190082.initial_effect(c) ...@@ -19,20 +20,6 @@ function c19190082.initial_effect(c)
e2:SetTarget(c19190082.sptg) e2:SetTarget(c19190082.sptg)
e2:SetOperation(c19190082.spop) e2:SetOperation(c19190082.spop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--destroy sub
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_EQUIP)
e3:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e3:SetCode(EFFECT_DESTROY_SUBSTITUTE)
e3:SetValue(c19190082.repval)
c:RegisterEffect(e3)
--eqlimit
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetCode(EFFECT_EQUIP_LIMIT)
e4:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e4:SetValue(c19190082.eqlimit)
c:RegisterEffect(e4)
--atk up --atk up
local e5=Effect.CreateEffect(c) local e5=Effect.CreateEffect(c)
e5:SetDescription(aux.Stringid(19190082,2)) e5:SetDescription(aux.Stringid(19190082,2))
...@@ -81,9 +68,6 @@ function c19190082.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -81,9 +68,6 @@ function c19190082.spop(e,tp,eg,ep,ev,re,r,rp)
if not c:IsRelateToEffect(e) then return end if not c:IsRelateToEffect(e) then return end
Duel.SpecialSummon(c,0,tp,tp,true,false,POS_FACEUP) Duel.SpecialSummon(c,0,tp,tp,true,false,POS_FACEUP)
end end
function c19190082.repval(e,re,r,rp)
return r&(REASON_BATTLE+REASON_EFFECT)~=0
end
function c19190082.eqlimit(e,c) function c19190082.eqlimit(e,c)
return c:IsRace(RACE_FAIRY) or e:GetHandler():GetEquipTarget()==c return c:IsRace(RACE_FAIRY) or e:GetHandler():GetEquipTarget()==c
end end
......
--強化支援メカ・ヘビーウェポン --強化支援メカ・ヘビーウェポン
function c23265594.initial_effect(c) function c23265594.initial_effect(c)
aux.EnableUnionAttribute(c,c23265594.eqlimit)
--equip --equip
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(23265594,0)) e1:SetDescription(aux.Stringid(23265594,0))
...@@ -31,20 +32,6 @@ function c23265594.initial_effect(c) ...@@ -31,20 +32,6 @@ function c23265594.initial_effect(c)
e4:SetCode(EFFECT_UPDATE_DEFENSE) e4:SetCode(EFFECT_UPDATE_DEFENSE)
e4:SetValue(500) e4:SetValue(500)
c:RegisterEffect(e4) c:RegisterEffect(e4)
--destroy sub
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_EQUIP)
e5:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e5:SetCode(EFFECT_DESTROY_SUBSTITUTE)
e5:SetValue(1)
c:RegisterEffect(e5)
--eqlimit
local e6=Effect.CreateEffect(c)
e6:SetType(EFFECT_TYPE_SINGLE)
e6:SetCode(EFFECT_EQUIP_LIMIT)
e6:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e6:SetValue(c23265594.eqlimit)
c:RegisterEffect(e6)
end end
function c23265594.eqlimit(e,c) function c23265594.eqlimit(e,c)
return c:IsRace(RACE_MACHINE) or e:GetHandler():GetEquipTarget()==c return c:IsRace(RACE_MACHINE) or e:GetHandler():GetEquipTarget()==c
......
...@@ -14,7 +14,7 @@ function c26931058.filter1(c,tp) ...@@ -14,7 +14,7 @@ function c26931058.filter1(c,tp)
and Duel.IsExistingMatchingCard(c26931058.filter2,tp,LOCATION_MZONE,0,1,c,c) and Duel.IsExistingMatchingCard(c26931058.filter2,tp,LOCATION_MZONE,0,1,c,c)
end end
function c26931058.filter2(c,ec) function c26931058.filter2(c,ec)
return c:IsFaceup() and ec:CheckEquipTarget(c) and aux.CheckUnionEquip(ec,c) return c:IsFaceup() and ec:CheckUnionTarget(c) and aux.CheckUnionEquip(ec,c)
end end
function c26931058.filter3(c,e,tp) function c26931058.filter3(c,e,tp)
return c:IsFaceup() and c:IsHasEffect(EFFECT_UNION_STATUS) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsFaceup() and c:IsHasEffect(EFFECT_UNION_STATUS) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
......
--A-アサルト・コア --A-アサルト・コア
function c30012506.initial_effect(c) function c30012506.initial_effect(c)
aux.EnableUnionAttribute(c,c30012506.eqlimit)
--equip --equip
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(30012506,0)) e1:SetDescription(aux.Stringid(30012506,0))
...@@ -19,13 +20,6 @@ function c30012506.initial_effect(c) ...@@ -19,13 +20,6 @@ function c30012506.initial_effect(c)
e2:SetTarget(c30012506.sptg) e2:SetTarget(c30012506.sptg)
e2:SetOperation(c30012506.spop) e2:SetOperation(c30012506.spop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--destroy sub
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_EQUIP)
e3:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e3:SetCode(EFFECT_DESTROY_SUBSTITUTE)
e3:SetValue(c30012506.repval)
c:RegisterEffect(e3)
--immune --immune
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_EQUIP) e4:SetType(EFFECT_TYPE_EQUIP)
...@@ -42,13 +36,6 @@ function c30012506.initial_effect(c) ...@@ -42,13 +36,6 @@ function c30012506.initial_effect(c)
e5:SetTarget(c30012506.thtg) e5:SetTarget(c30012506.thtg)
e5:SetOperation(c30012506.thop) e5:SetOperation(c30012506.thop)
c:RegisterEffect(e5) c:RegisterEffect(e5)
--eqlimit
local e6=Effect.CreateEffect(c)
e6:SetType(EFFECT_TYPE_SINGLE)
e6:SetCode(EFFECT_EQUIP_LIMIT)
e6:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e6:SetValue(c30012506.eqlimit)
c:RegisterEffect(e6)
end end
function c30012506.filter(c) function c30012506.filter(c)
local ct1,ct2=c:GetUnionCount() local ct1,ct2=c:GetUnionCount()
...@@ -87,9 +74,6 @@ function c30012506.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -87,9 +74,6 @@ function c30012506.spop(e,tp,eg,ep,ev,re,r,rp)
if not c:IsRelateToEffect(e) then return end if not c:IsRelateToEffect(e) then return end
Duel.SpecialSummon(c,0,tp,tp,true,false,POS_FACEUP) Duel.SpecialSummon(c,0,tp,tp,true,false,POS_FACEUP)
end end
function c30012506.repval(e,re,r,rp)
return bit.band(r,REASON_BATTLE)~=0 or bit.band(r,REASON_EFFECT)~=0
end
function c30012506.efilter(e,te) function c30012506.efilter(e,te)
return te:GetOwnerPlayer()~=e:GetHandlerPlayer() and te:GetOwner()~=e:GetOwner() return te:GetOwnerPlayer()~=e:GetHandlerPlayer() and te:GetOwner()~=e:GetOwner()
and te:IsActiveType(TYPE_MONSTER) and te:IsActiveType(TYPE_MONSTER)
......
...@@ -26,7 +26,7 @@ function c31768112.initial_effect(c) ...@@ -26,7 +26,7 @@ function c31768112.initial_effect(c)
e3:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE) e3:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e3:SetCode(EFFECT_DESTROY_SUBSTITUTE) e3:SetCode(EFFECT_DESTROY_SUBSTITUTE)
e3:SetCondition(aux.IsUnionState) e3:SetCondition(aux.IsUnionState)
e3:SetValue(1) e3:SetValue(aux.UnionReplaceFilter)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--draw --draw
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
...@@ -43,7 +43,7 @@ function c31768112.initial_effect(c) ...@@ -43,7 +43,7 @@ function c31768112.initial_effect(c)
--eqlimit --eqlimit
local e5=Effect.CreateEffect(c) local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_SINGLE) e5:SetType(EFFECT_TYPE_SINGLE)
e5:SetCode(EFFECT_EQUIP_LIMIT) e5:SetCode(EFFECT_UNION_LIMIT)
e5:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e5:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e5:SetValue(c31768112.eqlimit) e5:SetValue(c31768112.eqlimit)
c:RegisterEffect(e5) c:RegisterEffect(e5)
......
--C-クラッシュ・ワイバーン --C-クラッシュ・ワイバーン
function c3405259.initial_effect(c) function c3405259.initial_effect(c)
aux.EnableUnionAttribute(c,c3405259.eqlimit)
--equip --equip
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(3405259,0)) e1:SetDescription(aux.Stringid(3405259,0))
...@@ -19,13 +20,6 @@ function c3405259.initial_effect(c) ...@@ -19,13 +20,6 @@ function c3405259.initial_effect(c)
e2:SetTarget(c3405259.sptg) e2:SetTarget(c3405259.sptg)
e2:SetOperation(c3405259.spop) e2:SetOperation(c3405259.spop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--destroy sub
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_EQUIP)
e3:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e3:SetCode(EFFECT_DESTROY_SUBSTITUTE)
e3:SetValue(c3405259.repval)
c:RegisterEffect(e3)
--immune --immune
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_EQUIP) e4:SetType(EFFECT_TYPE_EQUIP)
...@@ -42,13 +36,6 @@ function c3405259.initial_effect(c) ...@@ -42,13 +36,6 @@ function c3405259.initial_effect(c)
e5:SetTarget(c3405259.sptg2) e5:SetTarget(c3405259.sptg2)
e5:SetOperation(c3405259.spop2) e5:SetOperation(c3405259.spop2)
c:RegisterEffect(e5) c:RegisterEffect(e5)
--eqlimit
local e6=Effect.CreateEffect(c)
e6:SetType(EFFECT_TYPE_SINGLE)
e6:SetCode(EFFECT_EQUIP_LIMIT)
e6:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e6:SetValue(c3405259.eqlimit)
c:RegisterEffect(e6)
end end
function c3405259.filter(c) function c3405259.filter(c)
local ct1,ct2=c:GetUnionCount() local ct1,ct2=c:GetUnionCount()
...@@ -87,9 +74,6 @@ function c3405259.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -87,9 +74,6 @@ function c3405259.spop(e,tp,eg,ep,ev,re,r,rp)
if not c:IsRelateToEffect(e) then return end if not c:IsRelateToEffect(e) then return end
Duel.SpecialSummon(c,0,tp,tp,true,false,POS_FACEUP) Duel.SpecialSummon(c,0,tp,tp,true,false,POS_FACEUP)
end end
function c3405259.repval(e,re,r,rp)
return bit.band(r,REASON_BATTLE)~=0 or bit.band(r,REASON_EFFECT)~=0
end
function c3405259.efilter(e,te) function c3405259.efilter(e,te)
return te:GetOwnerPlayer()~=e:GetHandlerPlayer() and te:GetOwner()~=e:GetOwner() return te:GetOwnerPlayer()~=e:GetHandlerPlayer() and te:GetOwner()~=e:GetOwner()
and te:IsActiveType(TYPE_TRAP) and te:IsActiveType(TYPE_TRAP)
......
--チューン・ナイト --チューン・ナイト
function c38783169.initial_effect(c) function c38783169.initial_effect(c)
aux.EnableExtraDeckSummonCountLimit() aux.EnableExtraDeckSummonCountLimit()
aux.EnableUnionAttribute(c,1)
--tuner --tuner
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(38783169,0)) e1:SetDescription(aux.Stringid(38783169,0))
...@@ -29,20 +30,6 @@ function c38783169.initial_effect(c) ...@@ -29,20 +30,6 @@ function c38783169.initial_effect(c)
e3:SetTarget(c38783169.sptg) e3:SetTarget(c38783169.sptg)
e3:SetOperation(c38783169.spop) e3:SetOperation(c38783169.spop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--destroy sub
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_EQUIP)
e4:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e4:SetCode(EFFECT_DESTROY_SUBSTITUTE)
e4:SetValue(c38783169.repval)
c:RegisterEffect(e4)
--eqlimit
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_SINGLE)
e5:SetCode(EFFECT_EQUIP_LIMIT)
e5:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e5:SetValue(1)
c:RegisterEffect(e5)
end end
function c38783169.tntg(e,tp,eg,ep,ev,re,r,rp,chk) function c38783169.tntg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return not e:GetHandler():IsType(TYPE_TUNER) end if chk==0 then return not e:GetHandler():IsType(TYPE_TUNER) end
...@@ -131,6 +118,3 @@ function c38783169.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -131,6 +118,3 @@ function c38783169.spop(e,tp,eg,ep,ev,re,r,rp)
if not c:IsRelateToEffect(e) then return end if not c:IsRelateToEffect(e) then return end
Duel.SpecialSummon(c,0,tp,tp,true,false,POS_FACEUP) Duel.SpecialSummon(c,0,tp,tp,true,false,POS_FACEUP)
end end
function c38783169.repval(e,re,r,rp)
return bit.band(r,REASON_BATTLE)~=0 or bit.band(r,REASON_EFFECT)~=0
end
--運命の戦車 --運命の戦車
function c39299733.initial_effect(c) function c39299733.initial_effect(c)
aux.EnableUnionAttribute(c,c39299733.eqlimit)
--equip --equip
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(39299733,0)) e1:SetDescription(aux.Stringid(39299733,0))
...@@ -19,13 +20,6 @@ function c39299733.initial_effect(c) ...@@ -19,13 +20,6 @@ function c39299733.initial_effect(c)
e2:SetTarget(c39299733.sptg) e2:SetTarget(c39299733.sptg)
e2:SetOperation(c39299733.spop) e2:SetOperation(c39299733.spop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--destroy sub
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_EQUIP)
e3:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e3:SetCode(EFFECT_DESTROY_SUBSTITUTE)
e3:SetValue(c39299733.repval)
c:RegisterEffect(e3)
--direct attack --direct attack
local e5=Effect.CreateEffect(c) local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_EQUIP) e5:SetType(EFFECT_TYPE_EQUIP)
...@@ -38,13 +32,6 @@ function c39299733.initial_effect(c) ...@@ -38,13 +32,6 @@ function c39299733.initial_effect(c)
e6:SetCondition(c39299733.rdcon) e6:SetCondition(c39299733.rdcon)
e6:SetValue(aux.ChangeBattleDamage(1,HALF_DAMAGE)) e6:SetValue(aux.ChangeBattleDamage(1,HALF_DAMAGE))
c:RegisterEffect(e6) c:RegisterEffect(e6)
--eqlimit
local e7=Effect.CreateEffect(c)
e7:SetType(EFFECT_TYPE_SINGLE)
e7:SetCode(EFFECT_EQUIP_LIMIT)
e7:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e7:SetValue(c39299733.eqlimit)
c:RegisterEffect(e7)
end end
function c39299733.filter(c) function c39299733.filter(c)
local ct1,ct2=c:GetUnionCount() local ct1,ct2=c:GetUnionCount()
...@@ -83,9 +70,6 @@ function c39299733.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -83,9 +70,6 @@ function c39299733.spop(e,tp,eg,ep,ev,re,r,rp)
if not c:IsRelateToEffect(e) then return end if not c:IsRelateToEffect(e) then return end
Duel.SpecialSummon(c,0,tp,tp,true,false,POS_FACEUP) Duel.SpecialSummon(c,0,tp,tp,true,false,POS_FACEUP)
end end
function c39299733.repval(e,re,r,rp)
return bit.band(r,REASON_BATTLE)~=0 or bit.band(r,REASON_EFFECT)~=0
end
function c39299733.rdcon(e) function c39299733.rdcon(e)
local c=e:GetHandler():GetEquipTarget() local c=e:GetHandler():GetEquipTarget()
local tp=e:GetHandlerPlayer() local tp=e:GetHandlerPlayer()
......
--強化支援メカ・ヘビーアーマー --強化支援メカ・ヘビーアーマー
function c39890958.initial_effect(c) function c39890958.initial_effect(c)
aux.EnableUnionAttribute(c,c39890958.eqlimit)
--equip --equip
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(39890958,0)) e1:SetDescription(aux.Stringid(39890958,0))
...@@ -19,13 +20,6 @@ function c39890958.initial_effect(c) ...@@ -19,13 +20,6 @@ function c39890958.initial_effect(c)
e2:SetTarget(c39890958.sptg) e2:SetTarget(c39890958.sptg)
e2:SetOperation(c39890958.spop) e2:SetOperation(c39890958.spop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--destroy sub
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_EQUIP)
e3:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e3:SetCode(EFFECT_DESTROY_SUBSTITUTE)
e3:SetValue(c39890958.repval)
c:RegisterEffect(e3)
--untargetable --untargetable
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_EQUIP) e4:SetType(EFFECT_TYPE_EQUIP)
...@@ -43,13 +37,6 @@ function c39890958.initial_effect(c) ...@@ -43,13 +37,6 @@ function c39890958.initial_effect(c)
e5:SetTarget(c39890958.sumtg) e5:SetTarget(c39890958.sumtg)
e5:SetOperation(c39890958.sumop) e5:SetOperation(c39890958.sumop)
c:RegisterEffect(e5) c:RegisterEffect(e5)
--eqlimit
local e6=Effect.CreateEffect(c)
e6:SetType(EFFECT_TYPE_SINGLE)
e6:SetCode(EFFECT_EQUIP_LIMIT)
e6:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e6:SetValue(c39890958.eqlimit)
c:RegisterEffect(e6)
end end
function c39890958.filter(c) function c39890958.filter(c)
local ct1,ct2=c:GetUnionCount() local ct1,ct2=c:GetUnionCount()
...@@ -88,9 +75,6 @@ function c39890958.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -88,9 +75,6 @@ function c39890958.spop(e,tp,eg,ep,ev,re,r,rp)
if not c:IsRelateToEffect(e) then return end if not c:IsRelateToEffect(e) then return end
Duel.SpecialSummon(c,0,tp,tp,true,false,POS_FACEUP) Duel.SpecialSummon(c,0,tp,tp,true,false,POS_FACEUP)
end end
function c39890958.repval(e,re,r,rp)
return bit.band(r,REASON_BATTLE)~=0 or bit.band(r,REASON_EFFECT)~=0
end
function c39890958.spfilter(c,e,tp) function c39890958.spfilter(c,e,tp)
return c:IsType(TYPE_UNION) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsType(TYPE_UNION) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
......
--マシンナーズ・ギアフレーム --マシンナーズ・ギアフレーム
function c42940404.initial_effect(c) function c42940404.initial_effect(c)
aux.EnableUnionAttribute(c,c42940404.eqlimit)
--equip --equip
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(42940404,0)) e1:SetDescription(aux.Stringid(42940404,0))
...@@ -19,20 +20,6 @@ function c42940404.initial_effect(c) ...@@ -19,20 +20,6 @@ function c42940404.initial_effect(c)
e2:SetTarget(c42940404.sptg) e2:SetTarget(c42940404.sptg)
e2:SetOperation(c42940404.spop) e2:SetOperation(c42940404.spop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--destroy sub
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_EQUIP)
e3:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e3:SetCode(EFFECT_DESTROY_SUBSTITUTE)
e3:SetValue(c42940404.repval)
c:RegisterEffect(e3)
--eqlimit
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetCode(EFFECT_EQUIP_LIMIT)
e4:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e4:SetValue(c42940404.eqlimit)
c:RegisterEffect(e4)
--search --search
local e5=Effect.CreateEffect(c) local e5=Effect.CreateEffect(c)
e5:SetDescription(aux.Stringid(42940404,2)) e5:SetDescription(aux.Stringid(42940404,2))
...@@ -43,9 +30,6 @@ function c42940404.initial_effect(c) ...@@ -43,9 +30,6 @@ function c42940404.initial_effect(c)
e5:SetOperation(c42940404.sop) e5:SetOperation(c42940404.sop)
c:RegisterEffect(e5) c:RegisterEffect(e5)
end end
function c42940404.repval(e,re,r,rp)
return bit.band(r,REASON_BATTLE+REASON_EFFECT)~=0
end
function c42940404.eqlimit(e,c) function c42940404.eqlimit(e,c)
return c:IsRace(RACE_MACHINE) or e:GetHandler():GetEquipTarget()==c return c:IsRace(RACE_MACHINE) or e:GetHandler():GetEquipTarget()==c
end end
......
...@@ -26,7 +26,7 @@ function c47228077.initial_effect(c) ...@@ -26,7 +26,7 @@ function c47228077.initial_effect(c)
e3:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE) e3:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e3:SetCode(EFFECT_DESTROY_SUBSTITUTE) e3:SetCode(EFFECT_DESTROY_SUBSTITUTE)
e3:SetCondition(aux.IsUnionState) e3:SetCondition(aux.IsUnionState)
e3:SetValue(1) e3:SetValue(aux.UnionReplaceFilter)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--destroy --destroy
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
...@@ -43,7 +43,7 @@ function c47228077.initial_effect(c) ...@@ -43,7 +43,7 @@ function c47228077.initial_effect(c)
--eqlimit --eqlimit
local e5=Effect.CreateEffect(c) local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_SINGLE) e5:SetType(EFFECT_TYPE_SINGLE)
e5:SetCode(EFFECT_EQUIP_LIMIT) e5:SetCode(EFFECT_UNION_LIMIT)
e5:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e5:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e5:SetValue(c47228077.eqlimit) e5:SetValue(c47228077.eqlimit)
c:RegisterEffect(e5) c:RegisterEffect(e5)
......
...@@ -47,7 +47,7 @@ function c47415292.initial_effect(c) ...@@ -47,7 +47,7 @@ function c47415292.initial_effect(c)
--eqlimit --eqlimit
local e7=Effect.CreateEffect(c) local e7=Effect.CreateEffect(c)
e7:SetType(EFFECT_TYPE_SINGLE) e7:SetType(EFFECT_TYPE_SINGLE)
e7:SetCode(EFFECT_EQUIP_LIMIT) e7:SetCode(EFFECT_UNION_LIMIT)
e7:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e7:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e7:SetValue(c47415292.eqlimit) e7:SetValue(c47415292.eqlimit)
c:RegisterEffect(e7) c:RegisterEffect(e7)
......
...@@ -56,7 +56,7 @@ function c47693640.initial_effect(c) ...@@ -56,7 +56,7 @@ function c47693640.initial_effect(c)
--eqlimit --eqlimit
local e7=Effect.CreateEffect(c) local e7=Effect.CreateEffect(c)
e7:SetType(EFFECT_TYPE_SINGLE) e7:SetType(EFFECT_TYPE_SINGLE)
e7:SetCode(EFFECT_EQUIP_LIMIT) e7:SetCode(EFFECT_UNION_LIMIT)
e7:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e7:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e7:SetValue(c47693640.eqlimit) e7:SetValue(c47693640.eqlimit)
c:RegisterEffect(e7) c:RegisterEffect(e7)
......
...@@ -26,14 +26,14 @@ function c48568432.initial_effect(c) ...@@ -26,14 +26,14 @@ function c48568432.initial_effect(c)
e3:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE) e3:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e3:SetCode(EFFECT_DESTROY_SUBSTITUTE) e3:SetCode(EFFECT_DESTROY_SUBSTITUTE)
e3:SetCondition(aux.IsUnionState) e3:SetCondition(aux.IsUnionState)
e3:SetValue(1) e3:SetValue(aux.UnionReplaceFilter)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--eqlimit --eqlimit
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE) e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetCode(EFFECT_EQUIP_LIMIT) e4:SetCode(EFFECT_UNION_LIMIT)
e4:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e4:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e4:SetValue(aux.TargetBoolFunction(Card.IsRace,RACE_MACHINE)) e4:SetValue(c48568432.eqlimit)
c:RegisterEffect(e4) c:RegisterEffect(e4)
--spsummon --spsummon
local e5=Effect.CreateEffect(c) local e5=Effect.CreateEffect(c)
...@@ -49,6 +49,9 @@ function c48568432.initial_effect(c) ...@@ -49,6 +49,9 @@ function c48568432.initial_effect(c)
c:RegisterEffect(e5) c:RegisterEffect(e5)
end end
c48568432.old_union=true c48568432.old_union=true
function c48568432.eqlimit(e,c)
return c:IsRace(RACE_MACHINE)
end
function c48568432.filter(c) function c48568432.filter(c)
return c:IsFaceup() and c:IsRace(RACE_MACHINE) and c:GetUnionCount()==0 return c:IsFaceup() and c:IsRace(RACE_MACHINE) and c:GetUnionCount()==0
end end
......
...@@ -38,7 +38,7 @@ function c57062206.initial_effect(c) ...@@ -38,7 +38,7 @@ function c57062206.initial_effect(c)
--eqlimit --eqlimit
local e6=Effect.CreateEffect(c) local e6=Effect.CreateEffect(c)
e6:SetType(EFFECT_TYPE_SINGLE) e6:SetType(EFFECT_TYPE_SINGLE)
e6:SetCode(EFFECT_EQUIP_LIMIT) e6:SetCode(EFFECT_UNION_LIMIT)
e6:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e6:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e6:SetValue(c57062206.eqlimit) e6:SetValue(c57062206.eqlimit)
c:RegisterEffect(e6) c:RegisterEffect(e6)
......
...@@ -43,7 +43,7 @@ function c59364406.initial_effect(c) ...@@ -43,7 +43,7 @@ function c59364406.initial_effect(c)
--eqlimit --eqlimit
local e5=Effect.CreateEffect(c) local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_SINGLE) e5:SetType(EFFECT_TYPE_SINGLE)
e5:SetCode(EFFECT_EQUIP_LIMIT) e5:SetCode(EFFECT_UNION_LIMIT)
e5:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e5:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e5:SetValue(c59364406.eqlimit) e5:SetValue(c59364406.eqlimit)
c:RegisterEffect(e5) c:RegisterEffect(e5)
......
...@@ -26,12 +26,12 @@ function c63676256.initial_effect(c) ...@@ -26,12 +26,12 @@ function c63676256.initial_effect(c)
e3:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE) e3:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e3:SetCode(EFFECT_DESTROY_SUBSTITUTE) e3:SetCode(EFFECT_DESTROY_SUBSTITUTE)
e3:SetCondition(aux.IsUnionState) e3:SetCondition(aux.IsUnionState)
e3:SetValue(1) e3:SetValue(aux.UnionReplaceFilter)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--eqlimit --eqlimit
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE) e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetCode(EFFECT_EQUIP_LIMIT) e4:SetCode(EFFECT_UNION_LIMIT)
e4:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e4:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e4:SetValue(1) e4:SetValue(1)
c:RegisterEffect(e4) c:RegisterEffect(e4)
......
--Z-メタル・キャタピラー --Z-メタル・キャタピラー
function c64500000.initial_effect(c) function c64500000.initial_effect(c)
aux.EnableUnionAttribute(c,c64500000.eqlimit)
--equip --equip
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(64500000,0)) e1:SetDescription(aux.Stringid(64500000,0))
...@@ -31,23 +32,6 @@ function c64500000.initial_effect(c) ...@@ -31,23 +32,6 @@ function c64500000.initial_effect(c)
e4:SetCode(EFFECT_UPDATE_DEFENSE) e4:SetCode(EFFECT_UPDATE_DEFENSE)
e4:SetValue(600) e4:SetValue(600)
c:RegisterEffect(e4) c:RegisterEffect(e4)
--destroy sub
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_EQUIP)
e5:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e5:SetCode(EFFECT_DESTROY_SUBSTITUTE)
e5:SetValue(c64500000.repval)
c:RegisterEffect(e5)
--eqlimit
local e6=Effect.CreateEffect(c)
e6:SetType(EFFECT_TYPE_SINGLE)
e6:SetCode(EFFECT_EQUIP_LIMIT)
e6:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e6:SetValue(c64500000.eqlimit)
c:RegisterEffect(e6)
end
function c64500000.repval(e,re,r,rp)
return bit.band(r,REASON_BATTLE+REASON_EFFECT)~=0
end end
function c64500000.eqlimit(e,c) function c64500000.eqlimit(e,c)
return c:IsCode(62651957,65622692) or e:GetHandler():GetEquipTarget()==c return c:IsCode(62651957,65622692) or e:GetHandler():GetEquipTarget()==c
......
--Y-ドラゴン・ヘッド --Y-ドラゴン・ヘッド
function c65622692.initial_effect(c) function c65622692.initial_effect(c)
aux.EnableUnionAttribute(c,c65622692.eqlimit)
--equip --equip
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(65622692,0)) e1:SetDescription(aux.Stringid(65622692,0))
...@@ -31,23 +32,6 @@ function c65622692.initial_effect(c) ...@@ -31,23 +32,6 @@ function c65622692.initial_effect(c)
e4:SetCode(EFFECT_UPDATE_DEFENSE) e4:SetCode(EFFECT_UPDATE_DEFENSE)
e4:SetValue(400) e4:SetValue(400)
c:RegisterEffect(e4) c:RegisterEffect(e4)
--destroy sub
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_EQUIP)
e5:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e5:SetCode(EFFECT_DESTROY_SUBSTITUTE)
e5:SetValue(c65622692.repval)
c:RegisterEffect(e5)
--eqlimit
local e6=Effect.CreateEffect(c)
e6:SetType(EFFECT_TYPE_SINGLE)
e6:SetCode(EFFECT_EQUIP_LIMIT)
e6:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e6:SetValue(c65622692.eqlimit)
c:RegisterEffect(e6)
end
function c65622692.repval(e,re,r,rp)
return bit.band(r,REASON_BATTLE+REASON_EFFECT)~=0
end end
function c65622692.eqlimit(e,c) function c65622692.eqlimit(e,c)
return c:IsCode(62651957) or e:GetHandler():GetEquipTarget()==c return c:IsCode(62651957) or e:GetHandler():GetEquipTarget()==c
......
...@@ -40,7 +40,7 @@ function c65685470.initial_effect(c) ...@@ -40,7 +40,7 @@ function c65685470.initial_effect(c)
e5:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE) e5:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e5:SetCode(EFFECT_DESTROY_SUBSTITUTE) e5:SetCode(EFFECT_DESTROY_SUBSTITUTE)
e5:SetCondition(aux.IsUnionState) e5:SetCondition(aux.IsUnionState)
e5:SetValue(1) e5:SetValue(aux.UnionReplaceFilter)
c:RegisterEffect(e5) c:RegisterEffect(e5)
--draw --draw
local e6=Effect.CreateEffect(c) local e6=Effect.CreateEffect(c)
...@@ -57,7 +57,7 @@ function c65685470.initial_effect(c) ...@@ -57,7 +57,7 @@ function c65685470.initial_effect(c)
--eqlimit --eqlimit
local e7=Effect.CreateEffect(c) local e7=Effect.CreateEffect(c)
e7:SetType(EFFECT_TYPE_SINGLE) e7:SetType(EFFECT_TYPE_SINGLE)
e7:SetCode(EFFECT_EQUIP_LIMIT) e7:SetCode(EFFECT_UNION_LIMIT)
e7:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e7:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e7:SetValue(c65685470.eqlimit) e7:SetValue(c65685470.eqlimit)
c:RegisterEffect(e7) c:RegisterEffect(e7)
......
...@@ -44,7 +44,7 @@ function c66399653.tgfilter(c,e,tp,chk) ...@@ -44,7 +44,7 @@ function c66399653.tgfilter(c,e,tp,chk)
end end
function c66399653.cfilter(c,ec) function c66399653.cfilter(c,ec)
return c:IsRace(RACE_MACHINE) and c:IsAttribute(ATTRIBUTE_LIGHT) return c:IsRace(RACE_MACHINE) and c:IsAttribute(ATTRIBUTE_LIGHT)
and c:IsType(TYPE_UNION) and c:CheckEquipTarget(ec) and aux.CheckUnionEquip(c,ec) and not c:IsCode(ec:GetCode()) and c:IsType(TYPE_UNION) and c:CheckUnionTarget(ec) and aux.CheckUnionEquip(c,ec) and not c:IsCode(ec:GetCode())
end end
function c66399653.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c66399653.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return eg:IsContains(chkc) and c66399653.tgfilter(chkc,e,tp,true) end if chkc then return eg:IsContains(chkc) and c66399653.tgfilter(chkc,e,tp,true) end
......
--アーマード・サイバーン --アーマード・サイバーン
function c67159705.initial_effect(c) function c67159705.initial_effect(c)
aux.EnableUnionAttribute(c,c67159705.eqlimit)
--equip --equip
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(67159705,0)) e1:SetDescription(aux.Stringid(67159705,0))
...@@ -19,20 +20,6 @@ function c67159705.initial_effect(c) ...@@ -19,20 +20,6 @@ function c67159705.initial_effect(c)
e2:SetTarget(c67159705.sptg) e2:SetTarget(c67159705.sptg)
e2:SetOperation(c67159705.spop) e2:SetOperation(c67159705.spop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--destroy sub
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_EQUIP)
e3:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e3:SetCode(EFFECT_DESTROY_SUBSTITUTE)
e3:SetValue(1)
c:RegisterEffect(e3)
--eqlimit
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetCode(EFFECT_EQUIP_LIMIT)
e4:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e4:SetValue(c67159705.eqlimit)
c:RegisterEffect(e4)
--destroy --destroy
local e5=Effect.CreateEffect(c) local e5=Effect.CreateEffect(c)
e5:SetDescription(aux.Stringid(67159705,2)) e5:SetDescription(aux.Stringid(67159705,2))
...@@ -45,9 +32,6 @@ function c67159705.initial_effect(c) ...@@ -45,9 +32,6 @@ function c67159705.initial_effect(c)
e5:SetOperation(c67159705.desop) e5:SetOperation(c67159705.desop)
c:RegisterEffect(e5) c:RegisterEffect(e5)
end end
function c67159705.repval(e,re,r,rp)
return bit.band(r,REASON_BATTLE)~=0
end
function c67159705.eqlimit(e,c) function c67159705.eqlimit(e,c)
return c:IsCode(70095154) or aux.IsMaterialListCode(c,70095154) or e:GetHandler():GetEquipTarget()==c return c:IsCode(70095154) or aux.IsMaterialListCode(c,70095154) or e:GetHandler():GetEquipTarget()==c
end end
......
...@@ -44,7 +44,7 @@ function c69456283.initial_effect(c) ...@@ -44,7 +44,7 @@ function c69456283.initial_effect(c)
--eqlimit --eqlimit
local e6=Effect.CreateEffect(c) local e6=Effect.CreateEffect(c)
e6:SetType(EFFECT_TYPE_SINGLE) e6:SetType(EFFECT_TYPE_SINGLE)
e6:SetCode(EFFECT_EQUIP_LIMIT) e6:SetCode(EFFECT_UNION_LIMIT)
e6:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e6:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e6:SetValue(c69456283.eqlimit) e6:SetValue(c69456283.eqlimit)
c:RegisterEffect(e6) c:RegisterEffect(e6)
......
--比翼レンリン --比翼レンリン
function c70298454.initial_effect(c) function c70298454.initial_effect(c)
aux.EnableUnionAttribute(c,1)
--equip --equip
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(70298454,0)) e1:SetDescription(aux.Stringid(70298454,0))
...@@ -19,13 +20,6 @@ function c70298454.initial_effect(c) ...@@ -19,13 +20,6 @@ function c70298454.initial_effect(c)
e2:SetTarget(c70298454.sptg) e2:SetTarget(c70298454.sptg)
e2:SetOperation(c70298454.spop) e2:SetOperation(c70298454.spop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--destroy sub
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_EQUIP)
e3:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e3:SetCode(EFFECT_DESTROY_SUBSTITUTE)
e3:SetValue(c70298454.repval)
c:RegisterEffect(e3)
--change atk --change atk
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_EQUIP) e4:SetType(EFFECT_TYPE_EQUIP)
...@@ -38,13 +32,6 @@ function c70298454.initial_effect(c) ...@@ -38,13 +32,6 @@ function c70298454.initial_effect(c)
e5:SetCode(EFFECT_EXTRA_ATTACK) e5:SetCode(EFFECT_EXTRA_ATTACK)
e5:SetValue(1) e5:SetValue(1)
c:RegisterEffect(e5) c:RegisterEffect(e5)
--eqlimit
local e6=Effect.CreateEffect(c)
e6:SetType(EFFECT_TYPE_SINGLE)
e6:SetCode(EFFECT_EQUIP_LIMIT)
e6:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e6:SetValue(1)
c:RegisterEffect(e6)
end end
function c70298454.filter(c) function c70298454.filter(c)
local ct1,ct2=c:GetUnionCount() local ct1,ct2=c:GetUnionCount()
...@@ -86,6 +73,3 @@ function c70298454.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -86,6 +73,3 @@ function c70298454.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.SendtoGrave(c,REASON_RULE) Duel.SendtoGrave(c,REASON_RULE)
end end
end end
function c70298454.repval(e,re,r,rp)
return bit.band(r,REASON_BATTLE+REASON_EFFECT)~=0
end
...@@ -38,7 +38,7 @@ function c7369217.initial_effect(c) ...@@ -38,7 +38,7 @@ function c7369217.initial_effect(c)
--eqlimit --eqlimit
local e6=Effect.CreateEffect(c) local e6=Effect.CreateEffect(c)
e6:SetType(EFFECT_TYPE_SINGLE) e6:SetType(EFFECT_TYPE_SINGLE)
e6:SetCode(EFFECT_EQUIP_LIMIT) e6:SetCode(EFFECT_UNION_LIMIT)
e6:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e6:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e6:SetValue(1) e6:SetValue(1)
c:RegisterEffect(e6) c:RegisterEffect(e6)
......
--B-バスター・ドレイク --B-バスター・ドレイク
function c77411244.initial_effect(c) function c77411244.initial_effect(c)
aux.EnableUnionAttribute(c,c77411244.eqlimit)
--equip --equip
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(77411244,0)) e1:SetDescription(aux.Stringid(77411244,0))
...@@ -19,13 +20,6 @@ function c77411244.initial_effect(c) ...@@ -19,13 +20,6 @@ function c77411244.initial_effect(c)
e2:SetTarget(c77411244.sptg) e2:SetTarget(c77411244.sptg)
e2:SetOperation(c77411244.spop) e2:SetOperation(c77411244.spop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--destroy sub
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_EQUIP)
e3:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e3:SetCode(EFFECT_DESTROY_SUBSTITUTE)
e3:SetValue(c77411244.repval)
c:RegisterEffect(e3)
--immune --immune
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_EQUIP) e4:SetType(EFFECT_TYPE_EQUIP)
...@@ -42,13 +36,6 @@ function c77411244.initial_effect(c) ...@@ -42,13 +36,6 @@ function c77411244.initial_effect(c)
e5:SetTarget(c77411244.thtg) e5:SetTarget(c77411244.thtg)
e5:SetOperation(c77411244.thop) e5:SetOperation(c77411244.thop)
c:RegisterEffect(e5) c:RegisterEffect(e5)
--eqlimit
local e6=Effect.CreateEffect(c)
e6:SetType(EFFECT_TYPE_SINGLE)
e6:SetCode(EFFECT_EQUIP_LIMIT)
e6:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e6:SetValue(c77411244.eqlimit)
c:RegisterEffect(e6)
end end
function c77411244.filter(c) function c77411244.filter(c)
local ct1,ct2=c:GetUnionCount() local ct1,ct2=c:GetUnionCount()
...@@ -87,9 +74,6 @@ function c77411244.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -87,9 +74,6 @@ function c77411244.spop(e,tp,eg,ep,ev,re,r,rp)
if not c:IsRelateToEffect(e) then return end if not c:IsRelateToEffect(e) then return end
Duel.SpecialSummon(c,0,tp,tp,true,false,POS_FACEUP) Duel.SpecialSummon(c,0,tp,tp,true,false,POS_FACEUP)
end end
function c77411244.repval(e,re,r,rp)
return bit.band(r,REASON_BATTLE+REASON_EFFECT)~=0
end
function c77411244.efilter(e,te) function c77411244.efilter(e,te)
return te:GetOwnerPlayer()~=e:GetHandlerPlayer() and te:GetOwner()~=e:GetOwner() return te:GetOwnerPlayer()~=e:GetHandlerPlayer() and te:GetOwner()~=e:GetOwner()
and te:IsActiveType(TYPE_SPELL) and te:IsActiveType(TYPE_SPELL)
......
--マシンナーズ・ピースキーパー --マシンナーズ・ピースキーパー
function c78349103.initial_effect(c) function c78349103.initial_effect(c)
aux.EnableUnionAttribute(c,c78349103.eqlimit)
--equip --equip
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(78349103,0)) e1:SetDescription(aux.Stringid(78349103,0))
...@@ -19,20 +20,6 @@ function c78349103.initial_effect(c) ...@@ -19,20 +20,6 @@ function c78349103.initial_effect(c)
e2:SetTarget(c78349103.sptg) e2:SetTarget(c78349103.sptg)
e2:SetOperation(c78349103.spop) e2:SetOperation(c78349103.spop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--destroy sub
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_EQUIP)
e3:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e3:SetCode(EFFECT_DESTROY_SUBSTITUTE)
e3:SetValue(c78349103.repval)
c:RegisterEffect(e3)
--eqlimit
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetCode(EFFECT_EQUIP_LIMIT)
e4:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e4:SetValue(c78349103.eqlimit)
c:RegisterEffect(e4)
--search --search
local e5=Effect.CreateEffect(c) local e5=Effect.CreateEffect(c)
e5:SetDescription(aux.Stringid(78349103,2)) e5:SetDescription(aux.Stringid(78349103,2))
...@@ -45,9 +32,6 @@ function c78349103.initial_effect(c) ...@@ -45,9 +32,6 @@ function c78349103.initial_effect(c)
e5:SetOperation(c78349103.sop) e5:SetOperation(c78349103.sop)
c:RegisterEffect(e5) c:RegisterEffect(e5)
end end
function c78349103.repval(e,re,r,rp)
return bit.band(r,REASON_BATTLE+REASON_EFFECT)~=0
end
function c78349103.eqlimit(e,c) function c78349103.eqlimit(e,c)
return c:IsRace(RACE_MACHINE) or e:GetHandler():GetEquipTarget()==c return c:IsRace(RACE_MACHINE) or e:GetHandler():GetEquipTarget()==c
end end
......
--トルクチューン・ギア --トルクチューン・ギア
function c79538761.initial_effect(c) function c79538761.initial_effect(c)
aux.EnableUnionAttribute(c,1)
--equip --equip
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(79538761,0)) e1:SetDescription(aux.Stringid(79538761,0))
...@@ -19,13 +20,6 @@ function c79538761.initial_effect(c) ...@@ -19,13 +20,6 @@ function c79538761.initial_effect(c)
e2:SetTarget(c79538761.sptg) e2:SetTarget(c79538761.sptg)
e2:SetOperation(c79538761.spop) e2:SetOperation(c79538761.spop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--destroy sub
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_EQUIP)
e3:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e3:SetCode(EFFECT_DESTROY_SUBSTITUTE)
e3:SetValue(c79538761.repval)
c:RegisterEffect(e3)
--add type --add type
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_EQUIP) e4:SetType(EFFECT_TYPE_EQUIP)
...@@ -44,13 +38,6 @@ function c79538761.initial_effect(c) ...@@ -44,13 +38,6 @@ function c79538761.initial_effect(c)
e6:SetCode(EFFECT_UPDATE_DEFENSE) e6:SetCode(EFFECT_UPDATE_DEFENSE)
e6:SetValue(500) e6:SetValue(500)
c:RegisterEffect(e6) c:RegisterEffect(e6)
--eqlimit
local e7=Effect.CreateEffect(c)
e7:SetType(EFFECT_TYPE_SINGLE)
e7:SetCode(EFFECT_EQUIP_LIMIT)
e7:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e7:SetValue(1)
c:RegisterEffect(e7)
end end
function c79538761.filter(c) function c79538761.filter(c)
local ct1,ct2=c:GetUnionCount() local ct1,ct2=c:GetUnionCount()
...@@ -89,6 +76,3 @@ function c79538761.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -89,6 +76,3 @@ function c79538761.spop(e,tp,eg,ep,ev,re,r,rp)
if not c:IsRelateToEffect(e) then return end if not c:IsRelateToEffect(e) then return end
Duel.SpecialSummon(c,0,tp,tp,true,false,POS_FACEUP) Duel.SpecialSummon(c,0,tp,tp,true,false,POS_FACEUP)
end end
function c79538761.repval(e,re,r,rp)
return bit.band(r,REASON_BATTLE+REASON_EFFECT)~=0
end
--奇動装置メイルファクター --奇動装置メイルファクター
function c81951640.initial_effect(c) function c81951640.initial_effect(c)
aux.EnableUnionAttribute(c,1)
--equip --equip
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(81951640,0)) e1:SetDescription(aux.Stringid(81951640,0))
...@@ -19,13 +20,6 @@ function c81951640.initial_effect(c) ...@@ -19,13 +20,6 @@ function c81951640.initial_effect(c)
e2:SetTarget(c81951640.sptg) e2:SetTarget(c81951640.sptg)
e2:SetOperation(c81951640.spop) e2:SetOperation(c81951640.spop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--destroy sub
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_EQUIP)
e3:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e3:SetCode(EFFECT_DESTROY_SUBSTITUTE)
e3:SetValue(c81951640.repval)
c:RegisterEffect(e3)
--spsummon --spsummon
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(81951640,2)) e4:SetDescription(aux.Stringid(81951640,2))
...@@ -38,13 +32,6 @@ function c81951640.initial_effect(c) ...@@ -38,13 +32,6 @@ function c81951640.initial_effect(c)
e4:SetTarget(c81951640.tg) e4:SetTarget(c81951640.tg)
e4:SetOperation(c81951640.op) e4:SetOperation(c81951640.op)
c:RegisterEffect(e4) c:RegisterEffect(e4)
--eqlimit
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_SINGLE)
e5:SetCode(EFFECT_EQUIP_LIMIT)
e5:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e5:SetValue(1)
c:RegisterEffect(e5)
end end
function c81951640.filter(c) function c81951640.filter(c)
local ct1,ct2=c:GetUnionCount() local ct1,ct2=c:GetUnionCount()
...@@ -83,9 +70,6 @@ function c81951640.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -83,9 +70,6 @@ function c81951640.spop(e,tp,eg,ep,ev,re,r,rp)
if not c:IsRelateToEffect(e) then return end if not c:IsRelateToEffect(e) then return end
Duel.SpecialSummon(c,0,tp,tp,true,false,POS_FACEUP) Duel.SpecialSummon(c,0,tp,tp,true,false,POS_FACEUP)
end end
function c81951640.repval(e,re,r,rp)
return bit.band(r,REASON_BATTLE)~=0 or bit.band(r,REASON_EFFECT)~=0
end
function c81951640.con(e,tp,eg,ep,ev,re,r,rp) function c81951640.con(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
return c:IsReason(REASON_DESTROY) and c:GetPreviousLocation()==LOCATION_SZONE and not c:IsReason(REASON_LOST_TARGET) return c:IsReason(REASON_DESTROY) and c:GetPreviousLocation()==LOCATION_SZONE and not c:IsReason(REASON_LOST_TARGET)
......
...@@ -26,7 +26,7 @@ function c84313685.initial_effect(c) ...@@ -26,7 +26,7 @@ function c84313685.initial_effect(c)
e3:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE) e3:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e3:SetCode(EFFECT_DESTROY_SUBSTITUTE) e3:SetCode(EFFECT_DESTROY_SUBSTITUTE)
e3:SetCondition(aux.IsUnionState) e3:SetCondition(aux.IsUnionState)
e3:SetValue(1) e3:SetValue(aux.UnionReplaceFilter)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--special summon --special summon
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
...@@ -43,7 +43,7 @@ function c84313685.initial_effect(c) ...@@ -43,7 +43,7 @@ function c84313685.initial_effect(c)
--eqlimit --eqlimit
local e5=Effect.CreateEffect(c) local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_SINGLE) e5:SetType(EFFECT_TYPE_SINGLE)
e5:SetCode(EFFECT_EQUIP_LIMIT) e5:SetCode(EFFECT_UNION_LIMIT)
e5:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e5:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e5:SetValue(c84313685.eqlimit) e5:SetValue(c84313685.eqlimit)
c:RegisterEffect(e5) c:RegisterEffect(e5)
......
...@@ -54,7 +54,7 @@ function c84814897.initial_effect(c) ...@@ -54,7 +54,7 @@ function c84814897.initial_effect(c)
--eqlimit --eqlimit
local e7=Effect.CreateEffect(c) local e7=Effect.CreateEffect(c)
e7:SetType(EFFECT_TYPE_SINGLE) e7:SetType(EFFECT_TYPE_SINGLE)
e7:SetCode(EFFECT_EQUIP_LIMIT) e7:SetCode(EFFECT_UNION_LIMIT)
e7:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e7:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e7:SetValue(c84814897.eqlimit) e7:SetValue(c84814897.eqlimit)
c:RegisterEffect(e7) c:RegisterEffect(e7)
......
...@@ -43,7 +43,7 @@ function c85359414.initial_effect(c) ...@@ -43,7 +43,7 @@ function c85359414.initial_effect(c)
--eqlimit --eqlimit
local e5=Effect.CreateEffect(c) local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_SINGLE) e5:SetType(EFFECT_TYPE_SINGLE)
e5:SetCode(EFFECT_EQUIP_LIMIT) e5:SetCode(EFFECT_UNION_LIMIT)
e5:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e5:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e5:SetValue(c85359414.eqlimit) e5:SetValue(c85359414.eqlimit)
c:RegisterEffect(e5) c:RegisterEffect(e5)
......
...@@ -45,7 +45,7 @@ function c87564935.initial_effect(c) ...@@ -45,7 +45,7 @@ function c87564935.initial_effect(c)
--eqlimit --eqlimit
local e6=Effect.CreateEffect(c) local e6=Effect.CreateEffect(c)
e6:SetType(EFFECT_TYPE_SINGLE) e6:SetType(EFFECT_TYPE_SINGLE)
e6:SetCode(EFFECT_EQUIP_LIMIT) e6:SetCode(EFFECT_UNION_LIMIT)
e6:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e6:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e6:SetValue(1) e6:SetValue(1)
c:RegisterEffect(e6) c:RegisterEffect(e6)
......
...@@ -43,7 +43,7 @@ function c87798440.initial_effect(c) ...@@ -43,7 +43,7 @@ function c87798440.initial_effect(c)
--eqlimit --eqlimit
local e5=Effect.CreateEffect(c) local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_SINGLE) e5:SetType(EFFECT_TYPE_SINGLE)
e5:SetCode(EFFECT_EQUIP_LIMIT) e5:SetCode(EFFECT_UNION_LIMIT)
e5:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e5:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e5:SetValue(c87798440.eqlimit) e5:SetValue(c87798440.eqlimit)
c:RegisterEffect(e5) c:RegisterEffect(e5)
......
...@@ -14,7 +14,7 @@ function c91597389.filter(c,tp) ...@@ -14,7 +14,7 @@ function c91597389.filter(c,tp)
return c:IsType(TYPE_UNION) and Duel.IsExistingMatchingCard(c91597389.filter2,tp,LOCATION_MZONE,0,1,nil,c) return c:IsType(TYPE_UNION) and Duel.IsExistingMatchingCard(c91597389.filter2,tp,LOCATION_MZONE,0,1,nil,c)
end end
function c91597389.filter2(c,eqc) function c91597389.filter2(c,eqc)
return c:IsFaceup() and eqc:CheckEquipTarget(c) and aux.CheckUnionEquip(eqc,c) return c:IsFaceup() and eqc:CheckUnionTarget(c) and aux.CheckUnionEquip(eqc,c)
end end
function c91597389.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c91597389.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and c91597389.filter(chkc,tp) end if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and c91597389.filter(chkc,tp) end
......
--W-ウィング・カタパルト --W-ウィング・カタパルト
function c96300057.initial_effect(c) function c96300057.initial_effect(c)
aux.EnableUnionAttribute(c,c96300057.eqlimit)
--equip --equip
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(96300057,0)) e1:SetDescription(aux.Stringid(96300057,0))
...@@ -31,23 +32,6 @@ function c96300057.initial_effect(c) ...@@ -31,23 +32,6 @@ function c96300057.initial_effect(c)
e4:SetCode(EFFECT_UPDATE_DEFENSE) e4:SetCode(EFFECT_UPDATE_DEFENSE)
e4:SetValue(400) e4:SetValue(400)
c:RegisterEffect(e4) c:RegisterEffect(e4)
--destroy sub
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_EQUIP)
e5:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e5:SetCode(EFFECT_DESTROY_SUBSTITUTE)
e5:SetValue(c96300057.repval)
c:RegisterEffect(e5)
--eqlimit
local e6=Effect.CreateEffect(c)
e6:SetType(EFFECT_TYPE_SINGLE)
e6:SetCode(EFFECT_EQUIP_LIMIT)
e6:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e6:SetValue(c96300057.eqlimit)
c:RegisterEffect(e6)
end
function c96300057.repval(e,re,r,rp)
return bit.band(r,REASON_BATTLE+REASON_EFFECT)~=0
end end
function c96300057.eqlimit(e,c) function c96300057.eqlimit(e,c)
return c:IsCode(51638941) or e:GetHandler():GetEquipTarget()==c return c:IsCode(51638941) or e:GetHandler():GetEquipTarget()==c
......
--ユニオン・ドライバー --ユニオン・ドライバー
function c99249638.initial_effect(c) function c99249638.initial_effect(c)
aux.EnableUnionAttribute(c,1)
--equip --equip
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(99249638,0)) e1:SetDescription(aux.Stringid(99249638,0))
...@@ -19,13 +20,6 @@ function c99249638.initial_effect(c) ...@@ -19,13 +20,6 @@ function c99249638.initial_effect(c)
e2:SetTarget(c99249638.sptg) e2:SetTarget(c99249638.sptg)
e2:SetOperation(c99249638.spop) e2:SetOperation(c99249638.spop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--destroy sub
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_EQUIP)
e3:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e3:SetCode(EFFECT_DESTROY_SUBSTITUTE)
e3:SetValue(c99249638.repval)
c:RegisterEffect(e3)
--reequip --reequip
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(99249638,2)) e4:SetDescription(aux.Stringid(99249638,2))
...@@ -37,13 +31,6 @@ function c99249638.initial_effect(c) ...@@ -37,13 +31,6 @@ function c99249638.initial_effect(c)
e4:SetTarget(c99249638.retg) e4:SetTarget(c99249638.retg)
e4:SetOperation(c99249638.reop) e4:SetOperation(c99249638.reop)
c:RegisterEffect(e4) c:RegisterEffect(e4)
--eqlimit
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_SINGLE)
e5:SetCode(EFFECT_EQUIP_LIMIT)
e5:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e5:SetValue(1)
c:RegisterEffect(e5)
end end
function c99249638.filter(c) function c99249638.filter(c)
local ct1,ct2=c:GetUnionCount() local ct1,ct2=c:GetUnionCount()
...@@ -82,9 +69,6 @@ function c99249638.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -82,9 +69,6 @@ function c99249638.spop(e,tp,eg,ep,ev,re,r,rp)
if not c:IsRelateToEffect(e) then return end if not c:IsRelateToEffect(e) then return end
Duel.SpecialSummon(c,0,tp,tp,true,false,POS_FACEUP) Duel.SpecialSummon(c,0,tp,tp,true,false,POS_FACEUP)
end end
function c99249638.repval(e,re,r,rp)
return bit.band(r,REASON_BATTLE)~=0 or bit.band(r,REASON_EFFECT)~=0
end
function c99249638.recost(e,tp,eg,ep,ev,re,r,rp,chk) function c99249638.recost(e,tp,eg,ep,ev,re,r,rp,chk)
local tc=e:GetHandler():GetEquipTarget() local tc=e:GetHandler():GetEquipTarget()
e:SetLabelObject(tc) e:SetLabelObject(tc)
...@@ -92,7 +76,7 @@ function c99249638.recost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -92,7 +76,7 @@ function c99249638.recost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.Remove(e:GetHandler(),POS_FACEUP,REASON_COST) Duel.Remove(e:GetHandler(),POS_FACEUP,REASON_COST)
end end
function c99249638.refilter(c,tc,tp) function c99249638.refilter(c,tc,tp)
return aux.CheckUnionEquip(c,tc) and c:CheckEquipTarget(tc) and c:IsType(TYPE_UNION) return aux.CheckUnionEquip(c,tc) and c:CheckUnionTarget(tc) and c:IsType(TYPE_UNION)
and c:IsLevelBelow(4) and c:CheckUniqueOnField(tp) and not c:IsForbidden() and c:IsLevelBelow(4) and c:CheckUniqueOnField(tp) and not c:IsForbidden()
end end
function c99249638.retg(e,tp,eg,ep,ev,re,r,rp,chk) function c99249638.retg(e,tp,eg,ep,ev,re,r,rp,chk)
......
...@@ -372,6 +372,7 @@ EFFECT_DIRECT_ATTACK =74 --可以直接攻击 ...@@ -372,6 +372,7 @@ EFFECT_DIRECT_ATTACK =74 --可以直接攻击
EFFECT_DUAL_STATUS =75 --二重状态 EFFECT_DUAL_STATUS =75 --二重状态
EFFECT_EQUIP_LIMIT =76 --装备对象限制 EFFECT_EQUIP_LIMIT =76 --装备对象限制
EFFECT_DUAL_SUMMONABLE =77 --可以再度召唤 EFFECT_DUAL_SUMMONABLE =77 --可以再度召唤
EFFECT_UNION_LIMIT =78 --
EFFECT_REVERSE_DAMAGE =80 --伤害变回复 EFFECT_REVERSE_DAMAGE =80 --伤害变回复
EFFECT_REVERSE_RECOVER =81 --回复变伤害 EFFECT_REVERSE_RECOVER =81 --回复变伤害
EFFECT_CHANGE_DAMAGE =82 --改变伤害数值 EFFECT_CHANGE_DAMAGE =82 --改变伤害数值
......
...@@ -191,7 +191,16 @@ function Auxiliary.IsUnionState(effect) ...@@ -191,7 +191,16 @@ function Auxiliary.IsUnionState(effect)
local c=effect:GetHandler() local c=effect:GetHandler()
return c:IsHasEffect(EFFECT_UNION_STATUS) return c:IsHasEffect(EFFECT_UNION_STATUS)
end end
--set EFFECT_EQUIP_LIMIT after equipping
function Auxiliary.SetUnionState(c) function Auxiliary.SetUnionState(c)
local eset={c:IsHasEffect(EFFECT_UNION_LIMIT)}
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetCode(EFFECT_EQUIP_LIMIT)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e0:SetValue(eset[1]:GetValue())
e0:SetReset(RESET_EVENT+RESETS_STANDARD)
c:RegisterEffect(e0)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UNION_STATUS) e1:SetCode(EFFECT_UNION_STATUS)
...@@ -209,6 +218,28 @@ function Auxiliary.CheckUnionEquip(uc,tc) ...@@ -209,6 +218,28 @@ function Auxiliary.CheckUnionEquip(uc,tc)
if uc.old_union then return ct1==0 if uc.old_union then return ct1==0
else return ct2==0 end else return ct2==0 end
end end
--EFFECT_DESTROY_SUBSTITUTE filter for modern union monsters
function Auxiliary.UnionReplaceFilter(e,re,r,rp)
return r&(REASON_BATTLE+REASON_EFFECT)~=0
end
--add effect to modern union monsters
function Auxiliary.EnableUnionAttribute(c,f)
--destroy sub
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_EQUIP)
e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetCode(EFFECT_DESTROY_SUBSTITUTE)
e1:SetCondition(aux.IsUnionState)
e1:SetValue(aux.UnionReplaceFilter)
c:RegisterEffect(e1)
--limit
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_UNION_LIMIT)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetValue(f)
c:RegisterEffect(e2)
end
function Auxiliary.TargetEqualFunction(f,value,...) function Auxiliary.TargetEqualFunction(f,value,...)
local ext_params={...} local ext_params={...}
return function(effect,target) return function(effect,target)
......
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