Commit 56916a9f authored by salix5's avatar salix5

contunuous trap with a target

Field effects will be enabled before operation funcion, so now it uses EFFECT_FLAG_OWNER_RELATE single effects instead.
parent eb091ffa
...@@ -47,7 +47,6 @@ function c14005031.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -47,7 +47,6 @@ function c14005031.activate(e,tp,eg,ep,ev,re,r,rp)
e1:SetCode(EVENT_PHASE+PHASE_END) e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetRange(LOCATION_SZONE) e1:SetRange(LOCATION_SZONE)
e1:SetCountLimit(1) e1:SetCountLimit(1)
e1:SetCondition(c14005031.matcon)
e1:SetOperation(c14005031.matop) e1:SetOperation(c14005031.matop)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END) e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
c:RegisterEffect(e1) c:RegisterEffect(e1)
...@@ -66,9 +65,6 @@ end ...@@ -66,9 +65,6 @@ end
function c14005031.desop(e,tp,eg,ep,ev,re,r,rp) function c14005031.desop(e,tp,eg,ep,ev,re,r,rp)
Duel.Destroy(e:GetHandler(),REASON_EFFECT) Duel.Destroy(e:GetHandler(),REASON_EFFECT)
end end
function c14005031.matcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetFirstCardTarget()~=nil
end
function c14005031.matop(e,tp,eg,ep,ev,re,r,rp) function c14005031.matop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local tc=c:GetFirstCardTarget() local tc=c:GetFirstCardTarget()
......
...@@ -53,7 +53,7 @@ function c21768554.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -53,7 +53,7 @@ function c21768554.operation(e,tp,eg,ep,ev,re,r,rp)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_CONTROL) e1:SetCode(EFFECT_SET_CONTROL)
e1:SetValue(c21768554.ctval) e1:SetValue(c21768554.ctval)
e1:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TURN_SET) e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetCondition(c21768554.con) e1:SetCondition(c21768554.con)
tc:RegisterEffect(e1,true) tc:RegisterEffect(e1,true)
end end
......
...@@ -10,17 +10,6 @@ function c25542642.initial_effect(c) ...@@ -10,17 +10,6 @@ function c25542642.initial_effect(c)
e1:SetTarget(c25542642.target) e1:SetTarget(c25542642.target)
e1:SetOperation(c25542642.tgop) e1:SetOperation(c25542642.tgop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--cannot attack/disable
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_CANNOT_ATTACK)
e3:SetRange(LOCATION_SZONE)
e3:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE)
e3:SetTarget(aux.ctg)
c:RegisterEffect(e3)
local e5=e3:Clone()
e5:SetCode(EFFECT_DISABLE)
c:RegisterEffect(e5)
--cannot be battle target --cannot be battle target
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD) e4:SetType(EFFECT_TYPE_FIELD)
...@@ -66,11 +55,20 @@ function c25542642.tgop(e,tp,eg,ep,ev,re,r,rp) ...@@ -66,11 +55,20 @@ function c25542642.tgop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if c:IsRelateToEffect(e) and tc:IsFaceup() and tc:IsRelateToEffect(e) then if c:IsRelateToEffect(e) and tc:IsFaceup() and tc:IsRelateToEffect(e) then
c:SetCardTarget(tc) c:SetCardTarget(tc)
--cannot attack/disable
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CANNOT_ATTACK)
e1:SetProperty(EFFECT_FLAG_OWNER_RELATE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1,true)
local e2=e1:Clone()
e2:SetCode(EFFECT_DISABLE)
tc:RegisterEffect(e2,true)
end end
end end
function c25542642.descon(e,tp,eg,ep,ev,re,r,rp) function c25542642.descon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsStatus(STATUS_DESTROY_CONFIRMED) then return false end
local tc=c:GetFirstCardTarget() local tc=c:GetFirstCardTarget()
return tc and eg:IsContains(tc) return tc and eg:IsContains(tc)
end end
......
...@@ -11,23 +11,6 @@ function c29267084.initial_effect(c) ...@@ -11,23 +11,6 @@ function c29267084.initial_effect(c)
e1:SetTarget(c29267084.target) e1:SetTarget(c29267084.target)
e1:SetOperation(c29267084.operation) e1:SetOperation(c29267084.operation)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--cannot attack, atk down
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_CANNOT_ATTACK)
e2:SetRange(LOCATION_SZONE)
e2:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE)
e2:SetTarget(aux.ctg)
c:RegisterEffect(e2)
local e3=e2:Clone()
e3:SetCode(EFFECT_UPDATE_ATTACK)
e3:SetValue(-700)
c:RegisterEffect(e3)
--cannot change position
local e4=e2:Clone()
e4:SetCode(EFFECT_CANNOT_CHANGE_POSITION)
e4:SetProperty(EFFECT_FLAG_SET_AVAILABLE)
c:RegisterEffect(e4)
--Destroy --Destroy
local e5=Effect.CreateEffect(c) local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD) e5:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
...@@ -51,11 +34,25 @@ function c29267084.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -51,11 +34,25 @@ function c29267084.operation(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if c:IsRelateToEffect(e) and tc:IsRelateToEffect(e) then if c:IsRelateToEffect(e) and tc:IsRelateToEffect(e) then
c:SetCardTarget(tc) c:SetCardTarget(tc)
--cannot attack, atk down
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_CANNOT_ATTACK)
e2:SetProperty(EFFECT_FLAG_OWNER_RELATE)
e2:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e2,true)
local e3=e2:Clone()
e3:SetCode(EFFECT_UPDATE_ATTACK)
e3:SetValue(-700)
tc:RegisterEffect(e3,true)
--cannot change position
local e4=e2:Clone()
e4:SetCode(EFFECT_CANNOT_CHANGE_POSITION)
tc:RegisterEffect(e4,true)
end end
end end
function c29267084.descon(e,tp,eg,ep,ev,re,r,rp) function c29267084.descon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsStatus(STATUS_DESTROY_CONFIRMED) then return false end
local tc=c:GetFirstCardTarget() local tc=c:GetFirstCardTarget()
return tc and eg:IsContains(tc) return tc and eg:IsContains(tc)
end end
......
...@@ -36,22 +36,22 @@ function c36975314.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -36,22 +36,22 @@ function c36975314.operation(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_CONTROL) e1:SetCode(EFFECT_SET_CONTROL)
e1:SetProperty(EFFECT_FLAG_OWNER_RELATE+EFFECT_FLAG_SET_AVAILABLE) e1:SetProperty(EFFECT_FLAG_OWNER_RELATE)
e1:SetValue(c36975314.ctval) e1:SetValue(c36975314.ctval)
e1:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TURN_SET) e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetCondition(c36975314.con) e1:SetCondition(c36975314.con)
tc:RegisterEffect(e1,true) tc:RegisterEffect(e1,true)
--cannot attack, trigger --cannot attack, trigger
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD) e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_CANNOT_ATTACK) e2:SetCode(EFFECT_CANNOT_ATTACK)
e2:SetRange(LOCATION_SZONE) e2:SetProperty(EFFECT_FLAG_OWNER_RELATE)
e2:SetTargetRange(LOCATION_MZONE,0) e2:SetCondition(c36975314.con2)
e2:SetTarget(aux.ctg) e2:SetReset(RESET_EVENT+RESETS_STANDARD)
c:RegisterEffect(e2) tc:RegisterEffect(e2,true)
local e3=e2:Clone() local e3=e2:Clone()
e3:SetCode(EFFECT_CANNOT_TRIGGER) e3:SetCode(EFFECT_CANNOT_TRIGGER)
c:RegisterEffect(e3) tc:RegisterEffect(e3,true)
end end
end end
function c36975314.con(e) function c36975314.con(e)
...@@ -62,6 +62,10 @@ end ...@@ -62,6 +62,10 @@ end
function c36975314.ctval(e,c) function c36975314.ctval(e,c)
return e:GetOwnerPlayer() return e:GetOwnerPlayer()
end end
function c36975314.con2(e)
local tc=e:GetHandler()
return tc:IsControler(e:GetOwnerPlayer())
end
function c36975314.descon(e,tp,eg,ep,ev,re,r,rp) function c36975314.descon(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetHandler():GetFirstCardTarget() local tc=e:GetHandler():GetFirstCardTarget()
return tc and eg:IsContains(tc) return tc and eg:IsContains(tc)
......
...@@ -10,18 +10,6 @@ function c50078509.initial_effect(c) ...@@ -10,18 +10,6 @@ function c50078509.initial_effect(c)
e1:SetTarget(c50078509.target) e1:SetTarget(c50078509.target)
e1:SetOperation(c50078509.tgop) e1:SetOperation(c50078509.tgop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--disable
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_DISABLE)
e3:SetRange(LOCATION_SZONE)
e3:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE)
e3:SetTarget(aux.ctg)
c:RegisterEffect(e3)
--cannot attack
local e4=e3:Clone()
e4:SetCode(EFFECT_CANNOT_ATTACK)
c:RegisterEffect(e4)
--Destroy --Destroy
local e5=Effect.CreateEffect(c) local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD) e5:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
...@@ -46,6 +34,17 @@ function c50078509.tgop(e,tp,eg,ep,ev,re,r,rp) ...@@ -46,6 +34,17 @@ function c50078509.tgop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if c:IsRelateToEffect(e) and tc:IsFaceup() and tc:IsRelateToEffect(e) then if c:IsRelateToEffect(e) and tc:IsFaceup() and tc:IsRelateToEffect(e) then
c:SetCardTarget(tc) c:SetCardTarget(tc)
--disable
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_DISABLE)
e1:SetProperty(EFFECT_FLAG_OWNER_RELATE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1,true)
--cannot attack
local e2=e1:Clone()
e2:SetCode(EFFECT_CANNOT_ATTACK)
tc:RegisterEffect(e2,true)
end end
end end
function c50078509.descon(e,tp,eg,ep,ev,re,r,rp) function c50078509.descon(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -10,19 +10,6 @@ function c54704216.initial_effect(c) ...@@ -10,19 +10,6 @@ function c54704216.initial_effect(c)
e1:SetTarget(c54704216.target) e1:SetTarget(c54704216.target)
e1:SetOperation(c54704216.operation) e1:SetOperation(c54704216.operation)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--cannot attack
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_CANNOT_ATTACK)
e2:SetRange(LOCATION_SZONE)
e2:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE)
e2:SetTarget(aux.ctg)
c:RegisterEffect(e2)
--cannot change position
local e3=e2:Clone()
e3:SetCode(EFFECT_CANNOT_CHANGE_POSITION)
e3:SetProperty(EFFECT_FLAG_SET_AVAILABLE)
c:RegisterEffect(e3)
--damage --damage
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(54704216,0)) e4:SetDescription(aux.Stringid(54704216,0))
...@@ -56,17 +43,14 @@ function c54704216.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -56,17 +43,14 @@ function c54704216.operation(e,tp,eg,ep,ev,re,r,rp)
if c:IsRelateToEffect(e) and tc:IsRelateToEffect(e) then if c:IsRelateToEffect(e) and tc:IsRelateToEffect(e) then
c:SetCardTarget(tc) c:SetCardTarget(tc)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetRange(LOCATION_SZONE)
e1:SetCode(EFFECT_CANNOT_ATTACK) e1:SetCode(EFFECT_CANNOT_ATTACK)
e1:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE) e1:SetProperty(EFFECT_FLAG_OWNER_RELATE)
e1:SetTarget(c54704216.efftg)
e1:SetReset(RESET_EVENT+RESETS_STANDARD) e1:SetReset(RESET_EVENT+RESETS_STANDARD)
c:RegisterEffect(e1) tc:RegisterEffect(e1)
local e2=e1:Clone() local e2=e1:Clone()
e2:SetCode(EFFECT_CANNOT_CHANGE_POSITION) e2:SetCode(EFFECT_CANNOT_CHANGE_POSITION)
e2:SetProperty(EFFECT_FLAG_SET_AVAILABLE) tc:RegisterEffect(e2)
c:RegisterEffect(e2)
end end
end end
function c54704216.efftg(e,c) function c54704216.efftg(e,c)
...@@ -74,7 +58,6 @@ function c54704216.efftg(e,c) ...@@ -74,7 +58,6 @@ function c54704216.efftg(e,c)
end end
function c54704216.descon(e,tp,eg,ep,ev,re,r,rp) function c54704216.descon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsStatus(STATUS_DESTROY_CONFIRMED) then return false end
local tc=c:GetFirstCardTarget() local tc=c:GetFirstCardTarget()
return tc and eg:IsContains(tc) return tc and eg:IsContains(tc)
end end
...@@ -91,7 +74,7 @@ function c54704216.damtg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -91,7 +74,7 @@ function c54704216.damtg(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,1-tp,500) Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,1-tp,500)
end end
function c54704216.damop(e,tp,eg,ep,ev,re,r,rp) function c54704216.damop(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end if not e:GetHandler():GetFirstCardTarget() then return end
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM) local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
Duel.Damage(p,d,REASON_EFFECT) Duel.Damage(p,d,REASON_EFFECT)
end end
...@@ -56,7 +56,7 @@ function c59258334.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -56,7 +56,7 @@ function c59258334.operation(e,tp,eg,ep,ev,re,r,rp)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_CONTROL) e1:SetCode(EFFECT_SET_CONTROL)
e1:SetValue(c59258334.ctval) e1:SetValue(c59258334.ctval)
e1:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TURN_SET) e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetCondition(c59258334.con) e1:SetCondition(c59258334.con)
tc:RegisterEffect(e1,true) tc:RegisterEffect(e1,true)
end end
......
...@@ -39,7 +39,7 @@ function c70284332.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -39,7 +39,7 @@ function c70284332.operation(e,tp,eg,ep,ev,re,r,rp)
e1:SetCode(EFFECT_SET_CONTROL) e1:SetCode(EFFECT_SET_CONTROL)
e1:SetProperty(EFFECT_FLAG_OWNER_RELATE) e1:SetProperty(EFFECT_FLAG_OWNER_RELATE)
e1:SetValue(c70284332.ctval) e1:SetValue(c70284332.ctval)
e1:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TURN_SET) e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetCondition(c70284332.con) e1:SetCondition(c70284332.con)
tc:RegisterEffect(e1,true) tc:RegisterEffect(e1,true)
--redirect --redirect
......
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