Commit a5a06bb2 authored by nekrozar's avatar nekrozar
parent 51baf54e
...@@ -12,15 +12,14 @@ function c20409757.initial_effect(c) ...@@ -12,15 +12,14 @@ function c20409757.initial_effect(c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--actlimit --actlimit
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EVENT_ATTACK_ANNOUNCE) e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetCode(EFFECT_CANNOT_ACTIVATE)
e2:SetRange(LOCATION_PZONE) e2:SetRange(LOCATION_PZONE)
e2:SetTargetRange(0,1)
e2:SetValue(c20409757.aclimit)
e2:SetCondition(c20409757.actcon) e2:SetCondition(c20409757.actcon)
e2:SetOperation(c20409757.actop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
local e3=e2:Clone()
e3:SetCode(EVENT_BE_BATTLE_TARGET)
c:RegisterEffect(e3)
--scale --scale
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE) e4:SetType(EFFECT_TYPE_SINGLE)
...@@ -47,21 +46,12 @@ end ...@@ -47,21 +46,12 @@ end
function c20409757.condition(e,tp,eg,ep,ev,re,r,rp) function c20409757.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFieldGroupCount(tp,LOCATION_MZONE,0)==0 return Duel.GetFieldGroupCount(tp,LOCATION_MZONE,0)==0
end end
function c20409757.actcon(e,tp,eg,ep,ev,re,r,rp) function c20409757.actcon(e)
local tp=e:GetHandlerPlayer()
local tc=Duel.GetAttacker() local tc=Duel.GetAttacker()
if tc:IsControler(1-tp) then tc=Duel.GetAttackTarget() end if tc:IsControler(1-tp) then tc=Duel.GetAttackTarget() end
return tc and tc:IsControler(tp) and tc:IsType(TYPE_PENDULUM) return tc and tc:IsControler(tp) and tc:IsType(TYPE_PENDULUM)
end end
function c20409757.actop(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_CANNOT_ACTIVATE)
e1:SetTargetRange(0,1)
e1:SetValue(c20409757.aclimit)
e1:SetReset(RESET_PHASE+PHASE_DAMAGE)
Duel.RegisterEffect(e1,tp)
end
function c20409757.aclimit(e,re,tp) function c20409757.aclimit(e,re,tp)
return re:IsActiveType(TYPE_TRAP) and re:IsHasType(EFFECT_TYPE_ACTIVATE) return re:IsActiveType(TYPE_TRAP) and re:IsHasType(EFFECT_TYPE_ACTIVATE)
end end
......
...@@ -26,23 +26,20 @@ function c40583194.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -26,23 +26,20 @@ function c40583194.operation(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if tc:IsFaceup() and tc:IsRelateToEffect(e) then if tc:IsFaceup() and tc:IsRelateToEffect(e) then
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_ATTACK_ANNOUNCE)
e1:SetOperation(c40583194.atkop)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e1)
end
end
function c40583194.atkop(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetOwner())
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_SELECT_EFFECT_TARGET) e1:SetCode(EFFECT_CANNOT_SELECT_EFFECT_TARGET)
e1:SetProperty(EFFECT_FLAG_SET_AVAILABLE) e1:SetProperty(EFFECT_FLAG_SET_AVAILABLE)
e1:SetRange(LOCATION_MZONE)
e1:SetTargetRange(0,0xff) e1:SetTargetRange(0,0xff)
e1:SetValue(c40583194.etarget) e1:SetValue(c40583194.etarget)
e1:SetReset(RESET_PHASE+PHASE_DAMAGE) e1:SetCondition(c40583194.limcon)
Duel.RegisterEffect(e1,tp) e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e1)
end
end end
function c40583194.etarget(e,re,c) function c40583194.etarget(e,re,c)
return c:IsType(TYPE_MONSTER) and (c:IsFaceup() or c:IsLocation(LOCATION_MZONE)) return c:IsType(TYPE_MONSTER) and (c:IsFaceup() or c:IsLocation(LOCATION_MZONE))
end end
function c40583194.limcon(e)
return Duel.GetAttacker()==e:GetHandler()
end
...@@ -10,10 +10,13 @@ function c44790889.initial_effect(c) ...@@ -10,10 +10,13 @@ function c44790889.initial_effect(c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--actlimit --actlimit
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EVENT_ATTACK_ANNOUNCE) e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetCondition(c44790889.atkcon) e2:SetCode(EFFECT_CANNOT_ACTIVATE)
e2:SetOperation(c44790889.atkop) e2:SetRange(LOCATION_MZONE)
e2:SetTargetRange(0,1)
e2:SetValue(c44790889.aclimit)
e2:SetCondition(c44790889.actcon)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c44790889.ntcon(e,c,minc) function c44790889.ntcon(e,c,minc)
...@@ -22,20 +25,10 @@ function c44790889.ntcon(e,c,minc) ...@@ -22,20 +25,10 @@ function c44790889.ntcon(e,c,minc)
and Duel.GetFieldGroupCount(c:GetControler(),LOCATION_ONFIELD,0,nil)==0 and Duel.GetFieldGroupCount(c:GetControler(),LOCATION_ONFIELD,0,nil)==0
and Duel.GetFieldGroupCount(c:GetControler(),0,LOCATION_ONFIELD,nil)>0 and Duel.GetFieldGroupCount(c:GetControler(),0,LOCATION_ONFIELD,nil)>0
end end
function c44790889.atkcon(e,tp,eg,ep,ev,re,r,rp) function c44790889.actcon(e)
return Duel.GetAttackTarget()~=nil return Duel.GetAttacker()==e:GetHandler() and Duel.GetAttackTarget()~=nil
and not Duel.IsExistingMatchingCard(Card.IsType,tp,LOCATION_ONFIELD,0,1,nil,TYPE_SPELL+TYPE_TRAP) and not Duel.IsExistingMatchingCard(Card.IsType,tp,LOCATION_ONFIELD,0,1,nil,TYPE_SPELL+TYPE_TRAP)
end end
function c44790889.atkop(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_CANNOT_ACTIVATE)
e1:SetTargetRange(0,1)
e1:SetValue(c44790889.aclimit)
e1:SetReset(RESET_PHASE+PHASE_DAMAGE)
Duel.RegisterEffect(e1,tp)
end
function c44790889.aclimit(e,re,tp) function c44790889.aclimit(e,re,tp)
return re:IsHasType(EFFECT_TYPE_ACTIVATE) return re:IsHasType(EFFECT_TYPE_ACTIVATE)
end end
...@@ -2,11 +2,13 @@ ...@@ -2,11 +2,13 @@
function c58569561.initial_effect(c) function c58569561.initial_effect(c)
--active limit --active limit
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EVENT_ATTACK_ANNOUNCE) e1:SetCode(EFFECT_CANNOT_ACTIVATE)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetCondition(c58569561.actcon) e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetOperation(c58569561.actop) e1:SetTargetRange(0,1)
e1:SetCondition(c58569561.accon)
e1:SetValue(c58569561.actlimit)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--position change --position change
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
...@@ -21,26 +23,10 @@ function c58569561.initial_effect(c) ...@@ -21,26 +23,10 @@ function c58569561.initial_effect(c)
e2:SetOperation(c58569561.posop) e2:SetOperation(c58569561.posop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c58569561.actcon(e,tp,eg,ep,ev,re,r,rp)
local ac=Duel.GetAttacker()
return ac and ac:IsControler(tp) and ac:IsRace(RACE_PLANT)
end
function c58569561.actop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_ACTIVATE)
e1:SetRange(LOCATION_MZONE)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(0,1)
e1:SetCondition(c58569561.accon)
e1:SetValue(c58569561.actlimit)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_DAMAGE)
c:RegisterEffect(e1)
end
function c58569561.accon(e) function c58569561.accon(e)
local tp=e:GetHandlerPlayer() local tp=e:GetHandlerPlayer()
return Duel.GetLP(tp)>Duel.GetLP(1-tp) local ac=Duel.GetAttacker()
return Duel.GetLP(tp)>Duel.GetLP(1-tp) and ac and ac:IsControler(tp) and ac:IsRace(RACE_PLANT)
end end
function c58569561.actlimit(e,re,tp) function c58569561.actlimit(e,re,tp)
return re:IsActiveType(TYPE_MONSTER) and not re:GetHandler():IsImmuneToEffect(e) return re:IsActiveType(TYPE_MONSTER) and not re:GetHandler():IsImmuneToEffect(e)
......
...@@ -11,9 +11,11 @@ function c83274244.initial_effect(c) ...@@ -11,9 +11,11 @@ function c83274244.initial_effect(c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--negate --negate
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e2:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e2:SetCode(EVENT_ATTACK_ANNOUNCE) e2:SetCode(EVENT_CHAIN_SOLVING)
e2:SetOperation(c83274244.atop) e2:SetRange(LOCATION_MZONE)
e2:SetCondition(c83274244.negcon)
e2:SetOperation(c83274244.negop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c83274244.ntcon(e,c,minc) function c83274244.ntcon(e,c,minc)
...@@ -31,14 +33,8 @@ function c83274244.ntop(e,tp,eg,ep,ev,re,r,rp,c) ...@@ -31,14 +33,8 @@ function c83274244.ntop(e,tp,eg,ep,ev,re,r,rp,c)
e1:SetValue(1800) e1:SetValue(1800)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c83274244.atop(e,tp,eg,ep,ev,re,r,rp) function c83274244.negcon(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler()) return Duel.GetAttacker()==e:GetHandler()
e1:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e1:SetCode(EVENT_CHAIN_SOLVING)
e1:SetRange(LOCATION_MZONE)
e1:SetOperation(c83274244.negop)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE+RESET_PHASE+PHASE_DAMAGE)
e:GetHandler():RegisterEffect(e1)
end end
function c83274244.negop(e,tp,eg,ep,ev,re,r,rp) function c83274244.negop(e,tp,eg,ep,ev,re,r,rp)
local loc=Duel.GetChainInfo(ev,CHAININFO_TRIGGERING_LOCATION) local loc=Duel.GetChainInfo(ev,CHAININFO_TRIGGERING_LOCATION)
......
...@@ -21,25 +21,22 @@ function c83370323.op(e,tp,eg,ep,ev,re,r,rp) ...@@ -21,25 +21,22 @@ function c83370323.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local sync=c:GetReasonCard() local sync=c:GetReasonCard()
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_ATTACK_ANNOUNCE)
e1:SetOperation(c83370323.atkop)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
sync:RegisterEffect(e1,true)
end
function c83370323.atkop(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_CANNOT_ACTIVATE) e1:SetCode(EFFECT_CANNOT_ACTIVATE)
e1:SetTargetRange(0,1) e1:SetTargetRange(0,1)
e1:SetRange(LOCATION_MZONE)
e1:SetValue(c83370323.aclimit) e1:SetValue(c83370323.aclimit)
e1:SetReset(RESET_PHASE+PHASE_DAMAGE) e1:SetCondition(c83370323.actcon)
Duel.RegisterEffect(e1,tp) e1:SetReset(RESET_EVENT+RESETS_STANDARD)
sync:RegisterEffect(e1,true)
end end
function c83370323.aclimit(e,re,tp) function c83370323.aclimit(e,re,tp)
return re:GetHandler():IsType(TYPE_TRAP) and re:IsHasType(EFFECT_TYPE_ACTIVATE) return re:GetHandler():IsType(TYPE_TRAP) and re:IsHasType(EFFECT_TYPE_ACTIVATE)
end end
function c83370323.actcon(e)
return Duel.GetAttacker()==e:GetHandler()
end
function c83370323.synlimit(e,c) function c83370323.synlimit(e,c)
if not c then return false end if not c then return false end
return not c:IsRace(RACE_WARRIOR) return not c:IsRace(RACE_WARRIOR)
......
...@@ -4,15 +4,14 @@ function c94415058.initial_effect(c) ...@@ -4,15 +4,14 @@ function c94415058.initial_effect(c)
aux.EnablePendulumAttribute(c) aux.EnablePendulumAttribute(c)
--actlimit --actlimit
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EVENT_ATTACK_ANNOUNCE) e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetCode(EFFECT_CANNOT_ACTIVATE)
e2:SetRange(LOCATION_PZONE) e2:SetRange(LOCATION_PZONE)
e2:SetTargetRange(0,1)
e2:SetValue(c94415058.aclimit)
e2:SetCondition(c94415058.actcon) e2:SetCondition(c94415058.actcon)
e2:SetOperation(c94415058.actop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
local e3=e2:Clone()
e3:SetCode(EVENT_BE_BATTLE_TARGET)
c:RegisterEffect(e3)
--scale --scale
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE) e4:SetType(EFFECT_TYPE_SINGLE)
...@@ -38,21 +37,12 @@ function c94415058.initial_effect(c) ...@@ -38,21 +37,12 @@ function c94415058.initial_effect(c)
e6:SetOperation(c94415058.spop) e6:SetOperation(c94415058.spop)
c:RegisterEffect(e6) c:RegisterEffect(e6)
end end
function c94415058.actcon(e,tp,eg,ep,ev,re,r,rp) function c94415058.actcon(e)
local tp=e:GetHandlerPlayer()
local tc=Duel.GetAttacker() local tc=Duel.GetAttacker()
if tc:IsControler(1-tp) then tc=Duel.GetAttackTarget() end if tc:IsControler(1-tp) then tc=Duel.GetAttackTarget() end
return tc and tc:IsControler(tp) and tc:IsType(TYPE_PENDULUM) return tc and tc:IsControler(tp) and tc:IsType(TYPE_PENDULUM)
end end
function c94415058.actop(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_CANNOT_ACTIVATE)
e1:SetTargetRange(0,1)
e1:SetValue(c94415058.aclimit)
e1:SetReset(RESET_PHASE+PHASE_DAMAGE)
Duel.RegisterEffect(e1,tp)
end
function c94415058.aclimit(e,re,tp) function c94415058.aclimit(e,re,tp)
return re:IsActiveType(TYPE_SPELL) and re:IsHasType(EFFECT_TYPE_ACTIVATE) return re:IsActiveType(TYPE_SPELL) and re:IsHasType(EFFECT_TYPE_ACTIVATE)
end 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