Commit 9189531d authored by salix5's avatar salix5

EFFECT_CANNOT_BE_EFFECT_TARGET

parent fdb6e77c
......@@ -32,7 +32,7 @@ function c10000000.initial_effect(c)
e5:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e5:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e5:SetRange(LOCATION_MZONE)
e5:SetValue(1)
e5:SetValue(aux.tgval)
c:RegisterEffect(e5)
--to grave
local e6=Effect.CreateEffect(c)
......
......@@ -11,7 +11,7 @@ function c13756293.initial_effect(c)
e1:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE)
e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetTarget(c13756293.etarget)
e1:SetValue(c13756293.evalue)
e1:SetValue(aux.tgoval)
c:RegisterEffect(e1)
--spsummon
local e2=Effect.CreateEffect(c)
......@@ -27,9 +27,6 @@ end
function c13756293.etarget(e,c)
return c:IsRace(RACE_DRAGON)
end
function c13756293.evalue(e,re,rp)
return e:GetHandlerPlayer()~=rp
end
function c13756293.filter(c,e,tp)
return c:IsRace(RACE_DRAGON) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
......
......@@ -6,7 +6,7 @@ function c1409474.initial_effect(c)
e1:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE)
e1:SetValue(c1409474.tgvalue)
e1:SetValue(aux.tgoval)
c:RegisterEffect(e1)
--guess
local e2=Effect.CreateEffect(c)
......@@ -18,9 +18,6 @@ function c1409474.initial_effect(c)
e2:SetOperation(c1409474.operation)
c:RegisterEffect(e2)
end
function c1409474.tgvalue(e,re,rp)
return rp~=e:GetHandlerPlayer()
end
function c1409474.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsPlayerCanDiscardDeck(tp,1) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CARDTYPE)
......
......@@ -22,7 +22,7 @@ function c16259549.initial_effect(c)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e2:SetRange(LOCATION_MZONE)
e2:SetValue(1)
e2:SetValue(aux.tgval)
c:RegisterEffect(e2)
--destroy replace
local e3=Effect.CreateEffect(c)
......
......@@ -30,7 +30,7 @@ function c16308000.operation(e,tp,eg,ep,ev,re,r,rp)
e1:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e1:SetReset(RESET_EVENT+0x1fe0000)
e1:SetCondition(c16308000.rcon)
e1:SetValue(1)
e1:SetValue(aux.tgval)
tc:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
......
......@@ -38,7 +38,7 @@ function c1644289.eqlimit(e,c)
return c:IsSetCard(0x30)
end
function c1644289.tglimit(e,re,rp)
return rp~=e:GetHandlerPlayer() and re:IsActiveType(TYPE_TRAP+TYPE_MONSTER)
return aux.tgoval(e,re,rp) and re:IsActiveType(TYPE_TRAP+TYPE_MONSTER)
end
function c1644289.filter(c)
return c:IsFaceup() and c:IsSetCard(0x30)
......
......@@ -38,6 +38,7 @@ function c1686814.initial_effect(c)
c:RegisterEffect(e4)
local e5=e4:Clone()
e5:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e5:SetValue(aux.tgval)
c:RegisterEffect(e5)
end
function c1686814.sprfilter1(c,tp)
......
......@@ -7,7 +7,7 @@ function c17985575.initial_effect(c)
e1:SetRange(LOCATION_MZONE)
e1:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE)
e1:SetTarget(c17985575.etarget)
e1:SetValue(1)
e1:SetValue(aux.tgval)
c:RegisterEffect(e1)
end
function c17985575.etarget(e,c)
......
......@@ -22,7 +22,7 @@ function c19870120.initial_effect(c)
e3:SetRange(LOCATION_SZONE)
e3:SetTargetRange(LOCATION_MZONE,0)
e3:SetTarget(c19870120.target)
e3:SetValue(1)
e3:SetValue(aux.tgval)
c:RegisterEffect(e3)
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD)
......
......@@ -28,7 +28,7 @@ function c23626223.activate(e,tp,eg,ep,ev,re,r,rp)
e1:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e1:SetRange(LOCATION_MZONE)
e1:SetCondition(c23626223.tgcon)
e1:SetValue(c23626223.tgval)
e1:SetValue(aux.tgoval)
e1:SetReset(RESET_EVENT+0x1fe0000)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
......@@ -49,9 +49,6 @@ end
function c23626223.tgcon(e)
return Duel.IsExistingMatchingCard(c23626223.tgfilter,e:GetHandlerPlayer(),LOCATION_MZONE,0,1,e:GetHandler())
end
function c23626223.tgval(e,re,rp)
return rp~=e:GetHandlerPlayer()
end
function c23626223.cfilter(c,tp)
return c:IsPreviousLocation(LOCATION_SZONE) and c:GetPreviousControler()==tp
end
......
......@@ -34,7 +34,7 @@ function c23776077.initial_effect(c)
e4:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e4:SetRange(LOCATION_MZONE)
e4:SetCondition(c23776077.tgcon)
e4:SetValue(c23776077.tgvalue)
e4:SetValue(aux.tgoval)
c:RegisterEffect(e4)
--cannot be destroyed
local e5=Effect.CreateEffect(c)
......@@ -75,9 +75,6 @@ end
function c23776077.tgcon(e)
return e:GetHandler():GetOverlayCount()>=4
end
function c23776077.tgvalue(e,re,rp)
return rp~=e:GetHandlerPlayer()
end
function c23776077.indcon(e)
return e:GetHandler():GetOverlayCount()==5
end
......@@ -29,7 +29,7 @@ function c2521011.initial_effect(c)
e4:SetRange(LOCATION_MZONE)
e4:SetTargetRange(LOCATION_MZONE,0)
e4:SetTarget(aux.TargetBoolFunction(Card.IsRace,RACE_BEASTWARRIOR))
e4:SetValue(c2521011.tgvalue)
e4:SetValue(aux.tgoval)
c:RegisterEffect(e4)
end
function c2521011.spfilter(c)
......@@ -60,6 +60,3 @@ function c2521011.setop(e,tp,eg,ep,ev,re,r,rp)
Duel.ConfirmCards(1-tp,g)
end
end
function c2521011.tgvalue(e,re,rp)
return rp~=e:GetHandlerPlayer()
end
......@@ -16,13 +16,16 @@ function c25796442.initial_effect(c)
c:RegisterEffect(e2)
local e3=e2:Clone()
e3:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e3:SetValue(c25796442.efilter)
e3:SetValue(c25796442.tgval)
c:RegisterEffect(e3)
local e4=e2:Clone()
e4:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
e4:SetValue(c25796442.efilter)
c:RegisterEffect(e4)
end
function c25796442.tgval(e,re,rp)
return re:IsActiveType(TYPE_EFFECT) and aux.tgval(e,re,rp)
end
function c25796442.efilter(e,re)
return re:IsActiveType(TYPE_EFFECT)
end
......@@ -12,7 +12,7 @@ function c269012.initial_effect(c)
e2:SetRange(LOCATION_SZONE)
e2:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE)
e2:SetTarget(c269012.target)
e2:SetValue(1)
e2:SetValue(aux.tgval)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
......
......@@ -12,5 +12,5 @@ function c27527047.initial_effect(c)
end
function c27527047.tgval(e,re,rp)
local tp=e:GetHandler():GetControler()
return tp~=rp and re:GetHandler():IsType(TYPE_MONSTER)
return tp~=rp and re:GetHandler():IsType(TYPE_MONSTER) and aux.tgval(e,re,rp)
end
......@@ -25,7 +25,7 @@ function c28124263.initial_effect(c)
e3:SetCondition(c28124263.cond)
e3:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE)
e3:SetTarget(aux.TargetBoolFunction(Card.IsSetCard,0x26))
e3:SetValue(1)
e3:SetValue(aux.tgval)
c:RegisterEffect(e3)
end
function c28124263.check(e,tp,eg,ep,ev,re,r,rp)
......
......@@ -6,7 +6,7 @@ function c31303283.initial_effect(c)
e1:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE)
e1:SetValue(c31303283.tgvalue)
e1:SetValue(aux.tgoval)
c:RegisterEffect(e1)
--atkup
local e2=Effect.CreateEffect(c)
......@@ -19,9 +19,6 @@ function c31303283.initial_effect(c)
e2:SetOperation(c31303283.atkop)
c:RegisterEffect(e2)
end
function c31303283.tgvalue(e,re,rp)
return rp~=e:GetHandlerPlayer()
end
function c31303283.atkcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckReleaseGroup(tp,Card.IsAttribute,1,e:GetHandler(),ATTRIBUTE_FIRE) end
local g=Duel.SelectReleaseGroup(tp,Card.IsAttribute,1,1,e:GetHandler(),ATTRIBUTE_FIRE)
......
......@@ -17,7 +17,7 @@ function c33114323.initial_effect(c)
e2:SetProperty(EFFECT_FLAG_IGNORE_RANGE)
e2:SetRange(LOCATION_SZONE)
e2:SetTarget(c33114323.efftg)
e2:SetValue(c33114323.effval)
e2:SetValue(aux.tgoval)
c:RegisterEffect(e2)
--Equip limit
local e3=Effect.CreateEffect(c)
......@@ -43,6 +43,3 @@ end
function c33114323.efftg(e,c)
return c~=e:GetHandler():GetEquipTarget() and c:IsType(TYPE_MONSTER)
end
function c33114323.effval(e,re,rp)
return e:GetHandlerPlayer()~=rp
end
......@@ -27,12 +27,9 @@ function c33145233.operation(e,tp,eg,ep,ev,re,r,rp)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE+EFFECT_FLAG_CLIENT_HINT)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e1:SetValue(c33145233.tglimit)
e1:SetValue(aux.tgoval)
e1:SetReset(RESET_EVENT+0x1fe0000)
rc:RegisterEffect(e1,true)
rc:RegisterFlagEffect(33145233,RESET_EVENT+0x1fe0000,0,1)
end
end
function c33145233.tglimit(e,re,rp)
return rp~=e:GetHandlerPlayer()
end
......@@ -19,5 +19,5 @@ function c33655493.tg(e,c)
return c:IsFaceup() and c:GetCode()~=33655493
end
function c33655493.tglimit(e,re,rp)
return rp~=e:GetHandlerPlayer() and re:IsActiveType(TYPE_SPELL+TYPE_TRAP)
return aux.tgoval(e,re,rp) and re:IsActiveType(TYPE_SPELL+TYPE_TRAP)
end
......@@ -36,7 +36,7 @@ function c34822850.initial_effect(c)
c:RegisterEffect(e4)
local e5=e4:Clone()
e5:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e5:SetValue(c34822850.tgval)
e5:SetValue(aux.tgoval)
c:RegisterEffect(e5)
end
function c34822850.spcon(e,tp,eg,ep,ev,re,r,rp)
......@@ -64,6 +64,3 @@ end
function c34822850.tgtg(e,c)
return c:IsSetCard(0xbb) and Duel.IsExistingMatchingCard(c34822850.filter,c:GetControler(),LOCATION_MZONE,0,1,nil,c:GetLevel())
end
function c34822850.tgval(e,re,tp)
return e:GetHandlerPlayer()~=tp and not re:GetHandler():IsImmuneToEffect(e)
end
......@@ -6,7 +6,7 @@ function c37803172.initial_effect(c)
e1:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE)
e1:SetValue(c37803172.tgvalue)
e1:SetValue(aux.tgoval)
c:RegisterEffect(e1)
--spsummon limit
local e2=Effect.CreateEffect(c)
......@@ -27,9 +27,6 @@ function c37803172.initial_effect(c)
e3:SetOperation(c37803172.spop)
c:RegisterEffect(e3)
end
function c37803172.tgvalue(e,re,rp)
return rp~=e:GetHandlerPlayer()
end
function c37803172.splimit(e,se,sp,st)
return se:GetHandler():IsSetCard(0x107d)
end
......
......@@ -61,6 +61,7 @@ function c38296564.operation(e,tp,eg,ep,ev,re,r,rp)
tc:RegisterEffect(e2,true)
local e3=e2:Clone()
e3:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e3:SetValue(c38296564.tgval)
tc:RegisterEffect(e3,true)
local e4=e1:Clone()
e4:SetCode(EFFECT_CANNOT_DIRECT_ATTACK)
......@@ -78,6 +79,9 @@ end
function c38296564.efilter(e,re)
return e:GetOwnerPlayer()~=re:GetOwnerPlayer()
end
function c38296564.tgval(e,re,rp)
return rp~=e:GetOwnerPlayer() and aux.tgval(e,re,rp)
end
function c38296564.checkop(e,tp,eg,ep,ev,re,r,rp)
if e:GetHandler():IsDisabled() then
e:SetLabel(1)
......
......@@ -6,7 +6,7 @@ function c38525760.initial_effect(c)
e1:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE)
e1:SetValue(c38525760.tgvalue)
e1:SetValue(aux.tgoval)
c:RegisterEffect(e1)
--summon
local e2=Effect.CreateEffect(c)
......@@ -29,9 +29,6 @@ function c38525760.initial_effect(c)
e3:SetOperation(c38525760.thop)
c:RegisterEffect(e3)
end
function c38525760.tgvalue(e,re,rp)
return rp~=e:GetHandlerPlayer()
end
function c38525760.ntcon(e,c,minc)
if c==nil then return true end
local mi,ma=c:GetTributeRequirement()
......
......@@ -8,10 +8,11 @@ function c40502912.initial_effect(c)
e1:SetTargetRange(LOCATION_MZONE,0)
e1:SetTarget(aux.TargetBoolFunction(Card.IsSetCard,0x9b))
e1:SetCondition(c40502912.tgcon)
e1:SetValue(1)
e1:SetValue(aux.tgval)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
e2:SetValue(1)
c:RegisterEffect(e2)
end
function c40502912.tgcon(e)
......
......@@ -38,7 +38,6 @@ function c40583194.atkop(e,tp,eg,ep,ev,re,r,rp)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e1:SetProperty(EFFECT_FLAG_IGNORE_RANGE+EFFECT_FLAG_IGNORE_IMMUNE+EFFECT_FLAG_SET_AVAILABLE)
e1:SetRange(LOCATION_MZONE)
e1:SetTarget(c40583194.etarget)
e1:SetValue(c40583194.evalue)
e1:SetLabel(tp)
......@@ -49,5 +48,5 @@ function c40583194.etarget(e,c)
return c:IsType(TYPE_MONSTER)
end
function c40583194.evalue(e,re,rp)
return rp~=e:GetLabel()
return rp~=e:GetLabel() and aux.tgval(e,re,rp)
end
......@@ -43,7 +43,7 @@ function c40908371.effop(e,tp,eg,ep,ev,re,r,rp)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetValue(1)
e2:SetValue(aux.tgval)
e2:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END,2)
tc:RegisterEffect(e2)
tc=g:GetNext()
......
......@@ -9,7 +9,7 @@ function c43202238.initial_effect(c)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e1:SetValue(c43202238.tgvalue)
e1:SetValue(aux.tgoval)
c:RegisterEffect(e1)
--destroy
local e2=Effect.CreateEffect(c)
......@@ -35,9 +35,6 @@ function c43202238.initial_effect(c)
e3:SetOperation(c43202238.spop)
c:RegisterEffect(e3)
end
function c43202238.tgvalue(e,re,rp)
return rp~=e:GetHandlerPlayer()
end
function c43202238.desfilter(c)
return c:IsFaceup() and c:IsSetCard(0x9e) and c:IsDestructable()
end
......
......@@ -26,7 +26,7 @@ function c46008667.initial_effect(c)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_EQUIP)
e3:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e3:SetValue(c46008667.tglimit)
e3:SetValue(aux.tgoval)
c:RegisterEffect(e3)
--Equip limit
local e4=Effect.CreateEffect(c)
......@@ -39,9 +39,6 @@ end
function c46008667.eqlimit(e,c)
return c:IsSetCard(0x107a)
end
function c46008667.tglimit(e,re,rp)
return rp~=e:GetHandlerPlayer()
end
function c46008667.filter(c)
return c:IsFaceup() and c:IsSetCard(0x107a)
end
......
......@@ -24,8 +24,8 @@ end
function c46195773.tfilter(c)
return c:IsCode(67270095) or c:IsHasEffect(20932152)
end
function c46195773.efilter(e,re)
return re:GetHandler():IsLevelBelow(6)
function c46195773.efilter(e,re,rp)
return re:GetHandler():IsLevelBelow(6) and aux.tgval(e,re,rp)
end
function c46195773.atktg(e,tp,eg,ep,ev,re,r,rp,chk)
local d=Duel.GetAttackTarget()
......
......@@ -30,7 +30,7 @@ function c48582558.activate(e,tp,eg,ep,ev,re,r,rp)
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e2:SetValue(1)
e2:SetValue(aux.tgval)
e2:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e2)
local e3=Effect.CreateEffect(e:GetHandler())
......
......@@ -25,11 +25,12 @@ function c50527144.activate(e,tp,eg,ep,ev,re,r,rp)
e1:SetProperty(EFFECT_FLAG_SET_AVAILABLE)
e1:SetTargetRange(LOCATION_ONFIELD,0)
e1:SetTarget(c50527144.tgfilter)
e1:SetValue(1)
e1:SetValue(aux.tgval)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
local e2=e1:Clone()
e2:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
e2:SetValue(1)
Duel.RegisterEffect(e2,tp)
end
function c50527144.tgfilter(e,c)
......
......@@ -24,7 +24,7 @@ function c5255013.initial_effect(c)
e3:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e3:SetRange(LOCATION_SZONE)
e3:SetCondition(c5255013.tgcon)
e3:SetValue(1)
e3:SetValue(aux.tgval)
c:RegisterEffect(e3)
--self destroy
local e4=Effect.CreateEffect(c)
......
......@@ -14,7 +14,7 @@ function c52738610.initial_effect(c)
e2:SetRange(LOCATION_MZONE)
e2:SetTargetRange(LOCATION_MZONE,0)
e2:SetTarget(c52738610.tgtg)
e2:SetValue(c52738610.tgval)
e2:SetValue(aux.tgoval)
c:RegisterEffect(e2)
--tohand
local e3=Effect.CreateEffect(c)
......@@ -40,9 +40,6 @@ end
function c52738610.tgtg(e,c)
return c:IsSetCard(0xb4) and c:IsType(TYPE_RITUAL)
end
function c52738610.tgval(e,re,rp)
return rp~=e:GetHandlerPlayer()
end
function c52738610.thcon(e,tp,eg,ep,ev,re,r,rp)
return bit.band(r,REASON_EFFECT)~=0
end
......
......@@ -20,7 +20,7 @@ function c53550467.initial_effect(c)
e2:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e2:SetCondition(c53550467.con)
e2:SetTarget(c53550467.tg)
e2:SetValue(c53550467.efval)
e2:SetValue(aux.tgoval)
c:RegisterEffect(e2)
--destroy
local e3=Effect.CreateEffect(c)
......@@ -44,9 +44,6 @@ end
function c53550467.tg(e,c)
return c~=e:GetHandler() and c:GetAttack()<1800
end
function c53550467.efval(e,re,tp)
return e:GetHandlerPlayer()~=tp
end
function c53550467.descon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(Card.IsSetCard,1,nil,0x207a)
end
......
......@@ -9,7 +9,7 @@ function c58601383.initial_effect(c)
e2:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetRange(LOCATION_MZONE)
e2:SetValue(c58601383.efilter)
e2:SetValue(c58601383.efilter1)
c:RegisterEffect(e2)
--cannot be destroyed
local e3=Effect.CreateEffect(c)
......@@ -17,12 +17,15 @@ function c58601383.initial_effect(c)
e3:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
e3:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e3:SetRange(LOCATION_MZONE)
e3:SetValue(c58601383.efilter)
e3:SetValue(c58601383.efilter2)
c:RegisterEffect(e3)
end
function c58601383.ffilter(c)
return c:IsType(TYPE_SYNCHRO) and not c:IsType(TYPE_EFFECT)
end
function c58601383.efilter(e,re)
function c58601383.efilter1(e,re,rp)
return re:IsActiveType(TYPE_EFFECT) and aux.tgval(e,re,rp)
end
function c58601383.efilter2(e,re)
return re:IsActiveType(TYPE_EFFECT)
end
......@@ -34,7 +34,7 @@ function c59048135.etarget(e,c)
return c:IsRace(RACE_PSYCHO) and c:IsType(TYPE_XYZ)
end
function c59048135.evalue(e,re,rp)
return re:IsActiveType(TYPE_SPELL+TYPE_TRAP)
return re:IsActiveType(TYPE_SPELL+TYPE_TRAP) and aux.tgval(e,re,rp)
end
function c59048135.cfilter(c)
return c:IsSetCard(0x76) and c:IsType(TYPE_MONSTER) and c:IsDiscardable()
......
......@@ -31,7 +31,7 @@ function c60234913.utop(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e1:SetValue(1)
e1:SetValue(aux.tgval)
e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e1)
end
......
......@@ -12,12 +12,9 @@ function c61380658.initial_effect(c)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e2:SetValue(c61380658.val)
e2:SetValue(aux.tgoval)
c:RegisterEffect(e2)
end
function c61380658.target(e,c)
return c:IsSetCard(0xe) and c~=e:GetHandler()
end
function c61380658.val(e,re,rp)
return rp~=e:GetOwnerPlayer()
end
......@@ -15,7 +15,7 @@ function c6165656.initial_effect(c)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e2:SetRange(LOCATION_MZONE)
e2:SetValue(1)
e2:SetValue(aux.tgval)
c:RegisterEffect(e2)
--damage
local e3=Effect.CreateEffect(c)
......
......@@ -33,7 +33,7 @@ function c65025250.initial_effect(c)
e4:SetTargetRange(LOCATION_MZONE,0)
e4:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e4:SetTarget(c65025250.tgtg)
e4:SetValue(c65025250.tgval)
e4:SetValue(aux.tgoval)
c:RegisterEffect(e4)
end
function c65025250.filter(c,tp)
......@@ -63,6 +63,3 @@ end
function c65025250.tgtg(e,c)
return c:IsSetCard(0xb3) and c~=e:GetHandler()
end
function c65025250.tgval(e,re,tp)
return e:GetHandlerPlayer()~=tp
end
......@@ -26,8 +26,8 @@ function c67328336.initial_effect(c)
e3:SetOperation(c67328336.thop)
c:RegisterEffect(e3)
end
function c67328336.effval(e,re)
return re:GetHandler():IsType(TYPE_SYNCHRO)
function c67328336.effval(e,re,rp)
return re:GetHandler():IsType(TYPE_SYNCHRO) and aux.tgval(e,re,rp)
end
function c67328336.thcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -42,6 +42,6 @@ function c71209500.efop(e,tp,eg,ep,ev,re,r,rp)
tc=g:GetNext()
end
end
function c71209500.efilter(e,re)
return re:GetHandler():IsType(TYPE_MONSTER)
function c71209500.efilter(e,re,rp)
return re:IsActiveType(TYPE_MONSTER) and aux.tgval(e,re,rp)
end
\ No newline at end of file
......@@ -7,7 +7,7 @@ function c7183277.initial_effect(c)
e1:SetProperty(EFFECT_FLAG_IGNORE_RANGE)
e1:SetRange(LOCATION_MZONE)
e1:SetTarget(c7183277.etarget)
e1:SetValue(1)
e1:SetValue(aux.tgval)
c:RegisterEffect(e1)
--discard deck
local e2=Effect.CreateEffect(c)
......
......@@ -6,7 +6,7 @@ function c74010769.initial_effect(c)
e1:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE)
e1:SetValue(c74010769.tgvalue)
e1:SetValue(aux.tgoval)
c:RegisterEffect(e1)
--special summon
local e2=Effect.CreateEffect(c)
......@@ -17,9 +17,6 @@ function c74010769.initial_effect(c)
e2:SetCondition(c74010769.spcon)
c:RegisterEffect(e2)
end
function c74010769.tgvalue(e,re,rp)
return rp~=e:GetHandlerPlayer()
end
function c74010769.cfilter(c)
return (c:IsFacedown() or not c:IsAttribute(ATTRIBUTE_FIRE)) and c:IsType(TYPE_MONSTER)
end
......
......@@ -25,7 +25,7 @@ function c75574498.initial_effect(c)
c:RegisterEffect(e2)
local e3=e2:Clone()
e3:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e3:SetValue(c75574498.effval)
e3:SetValue(aux.tgoval)
c:RegisterEffect(e3)
--spsummon
local e4=Effect.CreateEffect(c)
......@@ -64,9 +64,6 @@ end
function c75574498.tgcon(e)
return Duel.GetFieldGroupCount(e:GetHandlerPlayer(),LOCATION_MZONE,0)>=2
end
function c75574498.effval(e,te,tp)
return tp~=e:GetHandlerPlayer() and not te:GetHandler():IsImmuneToEffect(e)
end
function c75574498.cfilter(c,tp)
return c:GetPreviousControler()==tp and c:IsPreviousLocation(LOCATION_MZONE) and c:IsReason(REASON_DESTROY)
and bit.band(c:GetPreviousTypeOnField(),TYPE_NORMAL)~=0
......
......@@ -10,7 +10,7 @@ function c75779210.initial_effect(c)
e1:SetRange(LOCATION_MZONE)
e1:SetTargetRange(LOCATION_SZONE,LOCATION_SZONE)
e1:SetTarget(c75779210.uttg)
e1:SetValue(1)
e1:SetValue(aux.tgval)
c:RegisterEffect(e1)
--destroy
local e2=Effect.CreateEffect(c)
......
......@@ -18,7 +18,7 @@ function c77797992.initial_effect(c)
e2:SetTargetRange(LOCATION_MZONE,0)
e2:SetCondition(c77797992.cond)
e2:SetTarget(c77797992.targetd)
e2:SetValue(1)
e2:SetValue(aux.tgval)
c:RegisterEffect(e2)
local e3=e2:Clone()
e3:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
......
......@@ -13,7 +13,7 @@ function c80208158.initial_effect(c)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e2:SetValue(c80208158.tgval)
e2:SetValue(aux.tgoval)
c:RegisterEffect(e2)
--spsummon
local e3=Effect.CreateEffect(c)
......@@ -30,9 +30,6 @@ end
function c80208158.tglimit(e,c)
return c~=e:GetHandler()
end
function c80208158.tgval(e,re,rp)
return e:GetHandlerPlayer()~=rp
end
function c80208158.spcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetAttacker():IsControler(1-tp) and Duel.GetAttackTarget()==nil
end
......
......@@ -32,7 +32,7 @@ function c8062132.initial_effect(c)
e4:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e4:SetRange(LOCATION_MZONE)
e4:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e4:SetValue(1)
e4:SetValue(aux.tgval)
c:RegisterEffect(e4)
local e5=e4:Clone()
e5:SetCode(EFFECT_IMMUNE_EFFECT)
......
......@@ -31,7 +31,7 @@ function c8102334.initial_effect(c)
e4:SetProperty(EFFECT_FLAG_SET_AVAILABLE+EFFECT_FLAG_IGNORE_IMMUNE)
e4:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e4:SetTarget(c8102334.tglimit)
e4:SetValue(c8102334.tgvalue)
e4:SetValue(aux.tgoval)
c:RegisterEffect(e4)
end
function c8102334.distg(e,c)
......@@ -46,6 +46,3 @@ end
function c8102334.tglimit(e,c)
return c~=e:GetHandler()
end
function c8102334.tgvalue(e,re,rp)
return rp~=e:GetHandlerPlayer()
end
......@@ -17,7 +17,7 @@ function c81471108.initial_effect(c)
e2:SetType(EFFECT_TYPE_EQUIP)
e2:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e2:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e2:SetValue(c81471108.indval)
e2:SetValue(aux.tgoval)
c:RegisterEffect(e2)
--destroy sub
local e3=Effect.CreateEffect(c)
......@@ -68,9 +68,6 @@ end
function c81471108.eqlimit(e,c)
return c==e:GetLabelObject()
end
function c81471108.indval(e,re,tp)
return e:GetHandler():GetControler()~=tp
end
function c81471108.repval(e,re,r,rp)
return bit.band(r,REASON_BATTLE)~=0
end
......@@ -26,7 +26,7 @@ function c85028288.initial_effect(c)
c:RegisterEffect(e3)
end
function c85028288.efilter(e,re)
return re:GetHandler():IsType(TYPE_TRAP+TYPE_MONSTER)
return re:GetHandler():IsType(TYPE_TRAP+TYPE_MONSTER) and aux.tgval(e,re,rp)
end
function c85028288.cfilter(c)
return c:IsAttackBelow(1700) and c:IsSetCard(0x22) and c:IsAbleToRemoveAsCost()
......
......@@ -52,12 +52,9 @@ function c85080444.indop(e,tp,eg,ep,ev,re,r,rp)
e1:SetTarget(c85080444.tg)
e1:SetTargetRange(LOCATION_MZONE,0)
e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetValue(c85080444.tgvalue)
e1:SetValue(aux.tgoval)
Duel.RegisterEffect(e1,tp)
local e2=e1:Clone()
e2:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
Duel.RegisterEffect(e2,tp)
end
function c85080444.tgvalue(e,re,rp)
return rp~=e:GetHandlerPlayer()
end
......@@ -10,12 +10,9 @@ function c8561192.initial_effect(c)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e1:SetCondition(c8561192.tgcon)
e1:SetValue(c8561192.tgvalue)
e1:SetValue(aux.tgoval)
c:RegisterEffect(e1)
end
function c8561192.tgcon(e)
return Duel.GetTurnPlayer()~=e:GetHandlerPlayer() or Duel.GetCurrentPhase()~=PHASE_MAIN2
end
function c8561192.tgvalue(e,re,rp)
return rp~=e:GetHandlerPlayer()
end
......@@ -23,7 +23,7 @@ function c85909450.initial_effect(c)
local e3=e2:Clone()
e3:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e3:SetProperty(EFFECT_FLAG_IGNORE_RANGE+EFFECT_FLAG_IGNORE_IMMUNE)
e3:SetValue(c85909450.tgvalue)
e3:SetValue(aux.tgoval)
c:RegisterEffect(e3)
--remove material
local e4=Effect.CreateEffect(c)
......@@ -42,9 +42,6 @@ end
function c85909450.target(e,c)
return c:IsSetCard(0x64) and c:IsType(TYPE_MONSTER)
end
function c85909450.tgvalue(e,re,rp)
return rp~=e:GetHandlerPlayer()
end
function c85909450.rmcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()==tp
end
......
......@@ -6,7 +6,7 @@ function c8696773.initial_effect(c)
e1:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE)
e1:SetValue(c8696773.tgvalue)
e1:SetValue(aux.tgoval)
c:RegisterEffect(e1)
--sum limit
local e2=Effect.CreateEffect(c)
......@@ -25,9 +25,6 @@ function c8696773.initial_effect(c)
e3:SetOperation(c8696773.effop)
c:RegisterEffect(e3)
end
function c8696773.tgvalue(e,re,rp)
return rp~=e:GetHandlerPlayer()
end
function c8696773.splimit(e,c,tp,sumtp,sumpos)
return c:GetAttribute()~=ATTRIBUTE_FIRE
end
......
......@@ -14,7 +14,7 @@ function c87475570.initial_effect(c)
e2:SetRange(LOCATION_PZONE)
e2:SetTargetRange(LOCATION_ONFIELD,0)
e2:SetTarget(c87475570.tgtg)
e2:SetValue(c87475570.tgval)
e2:SetValue(aux.tgoval)
c:RegisterEffect(e2)
--tohand
local e3=Effect.CreateEffect(c)
......@@ -30,9 +30,6 @@ end
function c87475570.tgtg(e,c)
return c:IsSetCard(0x1034) or (c:IsLocation(LOCATION_MZONE) and (c:IsCode(79407975) or c:IsCode(79856792)))
end
function c87475570.tgval(e,re,rp)
return rp~=e:GetHandlerPlayer()
end
function c87475570.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsReleasable() end
Duel.Release(e:GetHandler(),REASON_COST)
......
......@@ -25,13 +25,13 @@ function c87564935.initial_effect(c)
e3:SetType(EFFECT_TYPE_EQUIP)
e3:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e3:SetCondition(c87564935.uncon)
e3:SetValue(c87564935.efilter)
e3:SetValue(c87564935.efilter1)
c:RegisterEffect(e3)
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_EQUIP)
e4:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
e4:SetCondition(c87564935.uncon)
e4:SetValue(c87564935.efilter)
e4:SetValue(c87564935.efilter2)
c:RegisterEffect(e4)
--destroy sub
local e5=Effect.CreateEffect(c)
......@@ -90,6 +90,9 @@ function c87564935.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.SpecialSummon(c,0,tp,tp,true,false,POS_FACEUP_ATTACK)
end
end
function c87564935.efilter(e,te)
return te:GetOwnerPlayer()~=e:GetHandlerPlayer() and te:IsActiveType(TYPE_MONSTER)
function c87564935.efilter1(e,re,rp)
return aux.tgoval(e,re,rp) and re:IsActiveType(TYPE_MONSTER)
end
function c87564935.efilter2(e,te)
return te:GetHandlerPlayer()~=e:GetHandlerPlayer() and te:IsActiveType(TYPE_MONSTER)
end
......@@ -3,13 +3,13 @@ function c88754763.initial_effect(c)
--xyz summon
aux.AddXyzProcedure(c,nil,9,4)
c:EnableReviveLimit()
--
--cannot be target
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE)
e1:SetValue(1)
e1:SetValue(aux.tgval)
c:RegisterEffect(e1)
--draw
local e2=Effect.CreateEffect(c)
......
......@@ -8,13 +8,10 @@ function c9264485.initial_effect(c)
e1:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE)
e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetTarget(c9264485.etarget)
e1:SetValue(c9264485.efilter)
e1:SetValue(aux.tgoval)
c:RegisterEffect(e1)
end
function c9264485.etarget(e,c)
local code=c:GetCode()
return code==75830094 or code==11224103 or code==48229808
end
function c9264485.efilter(e,re,rp)
return e:GetHandlerPlayer()~=rp
end
......@@ -69,7 +69,7 @@ function c94820406.activate(e,tp,eg,ep,ev,re,r,rp)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END)
e1:SetValue(c94820406.efilter)
e1:SetValue(aux.tgoval)
tc:RegisterEffect(e1)
elseif Duel.IsPlayerCanSpecialSummon(tp) then
local cg1=Duel.GetFieldGroup(tp,LOCATION_HAND+LOCATION_MZONE,0)
......@@ -78,6 +78,3 @@ function c94820406.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.ConfirmCards(1-tp,cg2)
end
end
function c94820406.efilter(e,re)
return re:GetHandler():GetControler()~=e:GetHandler():GetControler()
end
......@@ -6,7 +6,7 @@ function c96051150.initial_effect(c)
e1:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE)
e1:SetValue(c96051150.tgvalue)
e1:SetValue(aux.tgoval)
c:RegisterEffect(e1)
--indes
local e2=Effect.CreateEffect(c)
......@@ -19,9 +19,6 @@ function c96051150.initial_effect(c)
e2:SetOperation(c96051150.operation)
c:RegisterEffect(e2)
end
function c96051150.tgvalue(e,re,rp)
return rp~=e:GetHandlerPlayer()
end
function c96051150.cfilter(c)
return (c:IsLocation(LOCATION_HAND) or c:IsFaceup()) and c:IsAttribute(ATTRIBUTE_FIRE) and c:IsAbleToGraveAsCost()
end
......
......@@ -12,7 +12,7 @@ function c96457619.initial_effect(c)
e2:SetRange(LOCATION_SZONE)
e2:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE)
e2:SetTarget(c96457619.etarget)
e2:SetValue(1)
e2:SetValue(aux.tgval)
c:RegisterEffect(e2)
end
function c96457619.etarget(e,c)
......
......@@ -34,7 +34,7 @@ function c96864811.activate(e,tp,eg,ep,ev,re,r,rp)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e2:SetValue(1)
e2:SetValue(aux.tgval)
e2:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
......
......@@ -37,7 +37,7 @@ function c98076754.initial_effect(c)
e4:SetRange(LOCATION_SZONE)
e4:SetTargetRange(LOCATION_MZONE,0)
e4:SetCondition(c98076754.effcon)
e4:SetValue(c98076754.indval)
e4:SetValue(aux.tgoval)
e4:SetLabel(8)
c:RegisterEffect(e4)
--todeck
......
......@@ -671,6 +671,8 @@ DUEL_PSEUDO_SHUFFLE =0x10 --不洗牌
DUEL_TAG_MODE =0x20 --双打PP
DUEL_SIMPLE_AI =0x40 --AI
--Activity counter
--global: 1-6 (binary: 5,6)
--custom: 1-5,7 (binary: 1-5)
ACTIVITY_SUMMON =1 --
ACTIVITY_NORMALSUMMON =2 --
ACTIVITY_SPSUMMON =3 --
......
......@@ -1156,7 +1156,15 @@ function Auxiliary.chainreg(e,tp,eg,ep,ev,re,r,rp)
e:GetHandler():RegisterFlagEffect(1,RESET_EVENT+0x1fc0000+RESET_CHAIN,0,1)
end
end
--immune test for EFFECT_CANNOT_BE_BATTLE_TARGET
--default filter for EFFECT_CANNOT_BE_BATTLE_TARGET
function Auxiliary.imval1(e,c)
return not c:IsImmuneToEffect(e)
end
--default filter for EFFECT_CANNOT_BE_EFFECT_TARGET
function Auxiliary.tgval(e,re,rp)
return not re:GetHandler():IsImmuneToEffect(e)
end
--filter for EFFECT_CANNOT_BE_EFFECT_TARGET + opponent
function Auxiliary.tgoval(e,re,rp)
return rp~=e:GetHandlerPlayer() and not re:GetHandler():IsImmuneToEffect(e)
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