Commit 0ab45522 authored by nekrozar's avatar nekrozar Committed by nanahira

update EFFECT_CANNOT_BE_FUSION_MATERIAL (#1173)

parent 92551d40
......@@ -16,12 +16,13 @@ function c16366810.initial_effect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e3:SetCode(EFFECT_CANNOT_BE_FUSION_MATERIAL)
e3:SetValue(1)
e3:SetValue(c16366810.fuslimit)
c:RegisterEffect(e3)
local e4=e3:Clone()
e4:SetCode(EFFECT_CANNOT_BE_SYNCHRO_MATERIAL)
e4:SetValue(1)
c:RegisterEffect(e4)
local e5=e3:Clone()
local e5=e4:Clone()
e5:SetCode(EFFECT_CANNOT_BE_XYZ_MATERIAL)
c:RegisterEffect(e5)
--todeck
......@@ -36,6 +37,9 @@ function c16366810.initial_effect(c)
e6:SetOperation(c16366810.retop)
c:RegisterEffect(e6)
end
function c16366810.fuslimit(e,c,sumtype)
return sumtype==SUMMON_TYPE_FUSION
end
function c16366810.retcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:IsReason(REASON_DESTROY) and c:IsPreviousLocation(LOCATION_ONFIELD)
......
......@@ -28,6 +28,7 @@ function c24845628.initial_effect(c)
c:RegisterEffect(e4)
local e5=e3:Clone()
e5:SetCode(EFFECT_CANNOT_BE_FUSION_MATERIAL)
e5:SetValue(c24845628.fuslimit)
c:RegisterEffect(e5)
local e6=e3:Clone()
e6:SetCode(EFFECT_CANNOT_BE_SYNCHRO_MATERIAL)
......@@ -46,6 +47,9 @@ function c24845628.initial_effect(c)
e7:SetOperation(c24845628.thop)
c:RegisterEffect(e7)
end
function c24845628.fuslimit(e,c,sumtype)
return sumtype==SUMMON_TYPE_FUSION
end
function c24845628.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsFaceup() end
if chk==0 then return Duel.IsExistingTarget(Card.IsFaceup,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) end
......
......@@ -43,17 +43,21 @@ function c25700114.activate(e,tp,eg,ep,ev,re,r,rp)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e3:SetCode(EFFECT_CANNOT_BE_FUSION_MATERIAL)
e3:SetValue(1)
e3:SetValue(c25700114.fuslimit)
e3:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e3)
local e4=e3:Clone()
e4:SetCode(EFFECT_CANNOT_BE_SYNCHRO_MATERIAL)
e4:SetValue(1)
tc:RegisterEffect(e4)
local e5=e3:Clone()
local e5=e4:Clone()
e5:SetCode(EFFECT_CANNOT_BE_XYZ_MATERIAL)
tc:RegisterEffect(e5)
end
end
function c25700114.fuslimit(e,c,sumtype)
return sumtype==SUMMON_TYPE_FUSION
end
function c25700114.thcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return rp==1-tp and bit.band(r,0x41)==0x41 and c:GetPreviousControler()==tp
......
......@@ -16,12 +16,13 @@ function c40217358.initial_effect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e3:SetCode(EFFECT_CANNOT_BE_FUSION_MATERIAL)
e3:SetValue(1)
e3:SetValue(c40217358.fuslimit)
c:RegisterEffect(e3)
local e4=e3:Clone()
e4:SetCode(EFFECT_CANNOT_BE_SYNCHRO_MATERIAL)
e4:SetValue(1)
c:RegisterEffect(e4)
local e5=e3:Clone()
local e5=e4:Clone()
e5:SetCode(EFFECT_CANNOT_BE_XYZ_MATERIAL)
c:RegisterEffect(e5)
--banish
......@@ -35,6 +36,9 @@ function c40217358.initial_effect(c)
e6:SetOperation(c40217358.rmop)
c:RegisterEffect(e6)
end
function c40217358.fuslimit(e,c,sumtype)
return sumtype==SUMMON_TYPE_FUSION
end
function c40217358.rmcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:IsReason(REASON_DESTROY) and c:IsPreviousLocation(LOCATION_ONFIELD)
......
......@@ -54,16 +54,17 @@ function c44026393.spop(e,tp,eg,ep,ev,re,r,rp)
e1:SetCode(EFFECT_CANNOT_BE_FUSION_MATERIAL)
e1:SetTargetRange(0xff,0xff)
e1:SetTarget(aux.NOT(aux.TargetBoolFunction(Card.IsSetCard,0x101b)))
e1:SetValue(c44026393.sumlimit)
e1:SetValue(c44026393.fuslimit)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
local e2=e1:Clone()
e2:SetCode(EFFECT_CANNOT_BE_SYNCHRO_MATERIAL)
e2:SetValue(c44026393.sumlimit)
Duel.RegisterEffect(e2,tp)
local e3=e1:Clone()
local e3=e2:Clone()
e3:SetCode(EFFECT_CANNOT_BE_XYZ_MATERIAL)
Duel.RegisterEffect(e3,tp)
local e4=e1:Clone()
local e4=e2:Clone()
e4:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL)
Duel.RegisterEffect(e4,tp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
......@@ -72,6 +73,10 @@ function c44026393.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.SpecialSummon(token,0,tp,tp,false,false,POS_FACEUP)
end
end
function c44026393.fuslimit(e,c,sumtype)
if not c then return false end
return c:IsControler(e:GetHandlerPlayer()) and sumtype==SUMMON_TYPE_FUSION
end
function c44026393.sumlimit(e,c)
if not c then return false end
return c:IsControler(e:GetHandlerPlayer())
......
......@@ -5,15 +5,16 @@ function c47346782.initial_effect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetCode(EFFECT_CANNOT_BE_FUSION_MATERIAL)
e1:SetValue(1)
e1:SetValue(c47346782.fuslimit)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_CANNOT_BE_SYNCHRO_MATERIAL)
e2:SetValue(1)
c:RegisterEffect(e2)
local e3=e1:Clone()
local e3=e2:Clone()
e3:SetCode(EFFECT_CANNOT_BE_XYZ_MATERIAL)
c:RegisterEffect(e3)
local e4=e1:Clone()
local e4=e2:Clone()
e4:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL)
c:RegisterEffect(e4)
--to defense
......@@ -40,6 +41,9 @@ function c47346782.initial_effect(c)
e7:SetOperation(c47346782.ctop)
c:RegisterEffect(e7)
end
function c47346782.fuslimit(e,c,sumtype)
return sumtype==SUMMON_TYPE_FUSION
end
function c47346782.postg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_POSITION,e:GetHandler(),1,0,0)
......
......@@ -16,12 +16,13 @@ function c52182715.initial_effect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e3:SetCode(EFFECT_CANNOT_BE_FUSION_MATERIAL)
e3:SetValue(1)
e3:SetValue(c52182715.fuslimit)
c:RegisterEffect(e3)
local e4=e3:Clone()
e4:SetCode(EFFECT_CANNOT_BE_SYNCHRO_MATERIAL)
e4:SetValue(1)
c:RegisterEffect(e4)
local e5=e3:Clone()
local e5=e4:Clone()
e5:SetCode(EFFECT_CANNOT_BE_XYZ_MATERIAL)
c:RegisterEffect(e5)
--tohand
......@@ -36,6 +37,9 @@ function c52182715.initial_effect(c)
e6:SetOperation(c52182715.retop)
c:RegisterEffect(e6)
end
function c52182715.fuslimit(e,c,sumtype)
return sumtype==SUMMON_TYPE_FUSION
end
function c52182715.retcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:IsReason(REASON_DESTROY) and c:IsPreviousLocation(LOCATION_ONFIELD)
......
......@@ -16,12 +16,13 @@ function c61019812.initial_effect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e3:SetCode(EFFECT_CANNOT_BE_FUSION_MATERIAL)
e3:SetValue(1)
e3:SetValue(c61019812.fuslimit)
c:RegisterEffect(e3)
local e4=e3:Clone()
e4:SetCode(EFFECT_CANNOT_BE_SYNCHRO_MATERIAL)
e4:SetValue(1)
c:RegisterEffect(e4)
local e5=e3:Clone()
local e5=e4:Clone()
e5:SetCode(EFFECT_CANNOT_BE_XYZ_MATERIAL)
c:RegisterEffect(e5)
--damage
......@@ -35,6 +36,9 @@ function c61019812.initial_effect(c)
e6:SetOperation(c61019812.dmop)
c:RegisterEffect(e6)
end
function c61019812.fuslimit(e,c,sumtype)
return sumtype==SUMMON_TYPE_FUSION
end
function c61019812.dmcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:IsReason(REASON_DESTROY) and c:IsPreviousLocation(LOCATION_ONFIELD)
......
......@@ -40,6 +40,7 @@ function c63845230.initial_effect(c)
c:RegisterEffect(e6)
local e7=e5:Clone()
e7:SetCode(EFFECT_CANNOT_BE_FUSION_MATERIAL)
e7:SetValue(c63845230.fuslimit)
c:RegisterEffect(e7)
local e8=e5:Clone()
e8:SetCode(EFFECT_CANNOT_BE_SYNCHRO_MATERIAL)
......@@ -58,6 +59,9 @@ function c63845230.initial_effect(c)
ea:SetOperation(c63845230.rmop)
c:RegisterEffect(ea)
end
function c63845230.fuslimit(e,c,sumtype)
return sumtype==SUMMON_TYPE_FUSION
end
function c63845230.cfilter(c)
return c:IsAbleToRemoveAsCost() and not c:IsType(TYPE_TOKEN)
end
......
......@@ -15,12 +15,13 @@ function c85101097.initial_effect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e3:SetCode(EFFECT_CANNOT_BE_FUSION_MATERIAL)
e3:SetValue(1)
e3:SetValue(c85101097.fuslimit)
c:RegisterEffect(e3)
local e4=e3:Clone()
e4:SetCode(EFFECT_CANNOT_BE_SYNCHRO_MATERIAL)
e4:SetValue(1)
c:RegisterEffect(e4)
local e5=e3:Clone()
local e5=e4:Clone()
e5:SetCode(EFFECT_CANNOT_BE_XYZ_MATERIAL)
c:RegisterEffect(e5)
--control
......@@ -49,6 +50,9 @@ function c85101097.initial_effect(c)
e7:SetOperation(c85101097.damop)
c:RegisterEffect(e7)
end
function c85101097.fuslimit(e,c,sumtype)
return sumtype==SUMMON_TYPE_FUSION
end
function c85101097.ctlcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()==tp
end
......
......@@ -27,6 +27,7 @@ function c9030160.initial_effect(c)
c:RegisterEffect(e3)
local e5=e3:Clone()
e5:SetCode(EFFECT_CANNOT_BE_FUSION_MATERIAL)
e5:SetValue(c9030160.fuslimit)
c:RegisterEffect(e5)
local e6=e3:Clone()
e6:SetCode(EFFECT_CANNOT_BE_SYNCHRO_MATERIAL)
......@@ -54,6 +55,10 @@ function c9030160.sumlimit(e,c)
if not c then return false end
return not c:IsControler(e:GetHandlerPlayer())
end
function c9030160.fuslimit(e,c,sumtype)
if not c then return false end
return not c:IsControler(e:GetHandlerPlayer()) and sumtype==SUMMON_TYPE_FUSION
end
function c9030160.evalue(e,re,rp)
return re:IsActiveType(TYPE_SPELL+TYPE_TRAP) and rp==1-e:GetHandlerPlayer()
end
......
......@@ -113,15 +113,19 @@ function c96857854.spop(e,tp,eg,ep,ev,re,r,rp)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e3:SetCode(EFFECT_CANNOT_BE_FUSION_MATERIAL)
e3:SetValue(1)
e3:SetValue(c96857854.fuslimit)
e3:SetReset(RESET_EVENT+RESETS_STANDARD)
c:RegisterEffect(e3,true)
local e4=e3:Clone()
e4:SetCode(EFFECT_CANNOT_BE_SYNCHRO_MATERIAL)
e4:SetValue(1)
c:RegisterEffect(e4,true)
local e5=e3:Clone()
local e5=e4:Clone()
e5:SetCode(EFFECT_CANNOT_BE_XYZ_MATERIAL)
c:RegisterEffect(e5,true)
Duel.SpecialSummonComplete()
end
end
function c96857854.fuslimit(e,c,sumtype)
return sumtype==SUMMON_TYPE_FUSION
end
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