Commit 991829e8 authored by salix5's avatar salix5
parent 80013bb7
...@@ -2,10 +2,16 @@ ...@@ -2,10 +2,16 @@
function c21051146.initial_effect(c) function c21051146.initial_effect(c)
c:EnableCounterPermit(0x3001) c:EnableCounterPermit(0x3001)
--add counter --add counter
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e0:SetProperty(EFFECT_CANNOT_DISABLE)
e0:SetCode(EVENT_CHAINING)
e0:SetRange(LOCATION_MZONE)
e0:SetOperation(aux.chainreg)
c:RegisterEffect(e0)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e1:SetCode(EVENT_CHAIN_SOLVING) e1:SetCode(EVENT_CHAIN_SOLVED)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetOperation(c21051146.acop) e1:SetOperation(c21051146.acop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
...@@ -21,7 +27,7 @@ function c21051146.initial_effect(c) ...@@ -21,7 +27,7 @@ function c21051146.initial_effect(c)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c21051146.acop(e,tp,eg,ep,ev,re,r,rp) function c21051146.acop(e,tp,eg,ep,ev,re,r,rp)
if re:IsHasType(EFFECT_TYPE_ACTIVATE) and re:IsActiveType(TYPE_SPELL) then if re:IsHasType(EFFECT_TYPE_ACTIVATE) and re:IsActiveType(TYPE_SPELL) and e:GetHandler():GetFlagEffect(1)>0 then
e:GetHandler():AddCounter(0x3001,1) e:GetHandler():AddCounter(0x3001,1)
end end
end end
......
...@@ -18,15 +18,21 @@ function c29436665.initial_effect(c) ...@@ -18,15 +18,21 @@ function c29436665.initial_effect(c)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--damage --damage
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(29436665,0)) e3:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e3:SetCategory(CATEGORY_DAMAGE) e3:SetProperty(EFFECT_CANNOT_DISABLE)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e3:SetCode(EVENT_CHAINING)
e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetCode(EVENT_CHAIN_SOLVED)
e3:SetRange(LOCATION_MZONE) e3:SetRange(LOCATION_MZONE)
e3:SetCondition(c29436665.dmgcon) e3:SetOperation(aux.chainreg)
e3:SetOperation(c29436665.dmgop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(29436665,0))
e4:SetCategory(CATEGORY_DAMAGE)
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e4:SetCode(EVENT_CHAIN_SOLVED)
e4:SetRange(LOCATION_MZONE)
e4:SetCondition(c29436665.dmgcon)
e4:SetOperation(c29436665.dmgop)
c:RegisterEffect(e4)
end end
function c29436665.rfilter(c) function c29436665.rfilter(c)
return c:IsCode(46986414) return c:IsCode(46986414)
...@@ -41,7 +47,7 @@ function c29436665.spop(e,tp,eg,ep,ev,re,r,rp,c) ...@@ -41,7 +47,7 @@ function c29436665.spop(e,tp,eg,ep,ev,re,r,rp,c)
Duel.Release(g,REASON_COST) Duel.Release(g,REASON_COST)
end end
function c29436665.dmgcon(e,tp,eg,ep,ev,re,r,rp) function c29436665.dmgcon(e,tp,eg,ep,ev,re,r,rp)
return re:GetActiveType()==TYPE_SPELL and re:IsHasType(EFFECT_TYPE_ACTIVATE) return re:GetActiveType()==TYPE_SPELL and re:IsHasType(EFFECT_TYPE_ACTIVATE) and e:GetHandler():GetFlagEffect(1)>0
end end
function c29436665.dmgop(e,tp,eg,ep,ev,re,r,rp) function c29436665.dmgop(e,tp,eg,ep,ev,re,r,rp)
Duel.Damage(1-tp,1000,REASON_EFFECT) Duel.Damage(1-tp,1000,REASON_EFFECT)
......
...@@ -11,10 +11,16 @@ function c45462639.initial_effect(c) ...@@ -11,10 +11,16 @@ function c45462639.initial_effect(c)
e1:SetOperation(c45462639.addc) e1:SetOperation(c45462639.addc)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--add counter --add counter
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e0:SetProperty(EFFECT_CANNOT_DISABLE)
e0:SetCode(EVENT_CHAINING)
e0:SetRange(LOCATION_MZONE)
e0:SetOperation(aux.chainreg)
c:RegisterEffect(e0)
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD) e2:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e2:SetCode(EVENT_CHAIN_SOLVING) e2:SetCode(EVENT_CHAIN_SOLVED)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetOperation(c45462639.acop) e2:SetOperation(c45462639.acop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
...@@ -48,7 +54,7 @@ function c45462639.addc(e,tp,eg,ep,ev,re,r,rp) ...@@ -48,7 +54,7 @@ function c45462639.addc(e,tp,eg,ep,ev,re,r,rp)
end end
end end
function c45462639.acop(e,tp,eg,ep,ev,re,r,rp) function c45462639.acop(e,tp,eg,ep,ev,re,r,rp)
if re:IsHasType(EFFECT_TYPE_ACTIVATE) and re:IsActiveType(TYPE_SPELL) then if re:IsHasType(EFFECT_TYPE_ACTIVATE) and re:IsActiveType(TYPE_SPELL) and e:GetHandler():GetFlagEffect(1)>0 then
e:GetHandler():AddCounter(0x3001,1) e:GetHandler():AddCounter(0x3001,1)
end end
end end
......
...@@ -3,10 +3,16 @@ function c46363422.initial_effect(c) ...@@ -3,10 +3,16 @@ function c46363422.initial_effect(c)
c:EnableCounterPermit(0x3001) c:EnableCounterPermit(0x3001)
c:SetCounterLimit(0x3001,3) c:SetCounterLimit(0x3001,3)
--add counter --add counter
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e0:SetProperty(EFFECT_CANNOT_DISABLE)
e0:SetCode(EVENT_CHAINING)
e0:SetRange(LOCATION_MZONE)
e0:SetOperation(aux.chainreg)
c:RegisterEffect(e0)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e1:SetCode(EVENT_CHAIN_SOLVING) e1:SetCode(EVENT_CHAIN_SOLVED)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetOperation(c46363422.acop) e1:SetOperation(c46363422.acop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
...@@ -22,7 +28,7 @@ function c46363422.initial_effect(c) ...@@ -22,7 +28,7 @@ function c46363422.initial_effect(c)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c46363422.acop(e,tp,eg,ep,ev,re,r,rp) function c46363422.acop(e,tp,eg,ep,ev,re,r,rp)
if re:IsHasType(EFFECT_TYPE_ACTIVATE) and re:IsActiveType(TYPE_SPELL) then if re:IsHasType(EFFECT_TYPE_ACTIVATE) and re:IsActiveType(TYPE_SPELL) and e:GetHandler():GetFlagEffect(1)>0 then
e:GetHandler():AddCounter(0x3001,1) e:GetHandler():AddCounter(0x3001,1)
end end
end end
......
...@@ -5,23 +5,25 @@ function c48276469.initial_effect(c) ...@@ -5,23 +5,25 @@ function c48276469.initial_effect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMING_DRAW_PHASE) e1:SetHintTiming(0,TIMING_DRAW_PHASE)
e1:SetOperation(c48276469.regop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--damage --damage
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD) e2:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e2:SetCode(EVENT_CHAIN_SOLVED) e2:SetProperty(EFFECT_CANNOT_DISABLE)
e2:SetCode(EVENT_CHAINING)
e2:SetRange(LOCATION_SZONE) e2:SetRange(LOCATION_SZONE)
e2:SetOperation(c48276469.damop) e2:SetOperation(aux.chainreg)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end local e3=Effect.CreateEffect(c)
function c48276469.regop(e,tp,eg,ep,ev,re,r,rp) e3:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e:GetHandler():RegisterFlagEffect(48276469,RESET_CHAIN,0,1) e3:SetCode(EVENT_CHAIN_SOLVED)
e3:SetRange(LOCATION_SZONE)
e3:SetOperation(c48276469.damop)
c:RegisterEffect(e3)
end end
function c48276469.damop(e,tp,eg,ep,ev,re,r,rp) function c48276469.damop(e,tp,eg,ep,ev,re,r,rp)
local c=re:GetHandler() local c=re:GetHandler()
if re:IsHasType(EFFECT_TYPE_ACTIVATE) and re:IsActiveType(TYPE_TRAP) and c~=e:GetHandler() if re:IsHasType(EFFECT_TYPE_ACTIVATE) and re:IsActiveType(TYPE_TRAP) and e:GetHandler():GetFlagEffect(1)>0 then
and e:GetHandler():GetFlagEffect(48276469)==0 then
Duel.Damage(rp,1000,REASON_EFFECT) Duel.Damage(rp,1000,REASON_EFFECT)
end end
end end
...@@ -2,10 +2,16 @@ ...@@ -2,10 +2,16 @@
function c55424270.initial_effect(c) function c55424270.initial_effect(c)
c:EnableCounterPermit(0x3001) c:EnableCounterPermit(0x3001)
--add counter --add counter
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e0:SetProperty(EFFECT_CANNOT_DISABLE)
e0:SetCode(EVENT_CHAINING)
e0:SetRange(LOCATION_MZONE)
e0:SetOperation(aux.chainreg)
c:RegisterEffect(e0)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e1:SetCode(EVENT_CHAIN_SOLVING) e1:SetCode(EVENT_CHAIN_SOLVED)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetOperation(c55424270.acop) e1:SetOperation(c55424270.acop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
...@@ -26,7 +32,7 @@ function c55424270.initial_effect(c) ...@@ -26,7 +32,7 @@ function c55424270.initial_effect(c)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c55424270.acop(e,tp,eg,ep,ev,re,r,rp) function c55424270.acop(e,tp,eg,ep,ev,re,r,rp)
if re:IsHasType(EFFECT_TYPE_ACTIVATE) and re:IsActiveType(TYPE_SPELL) then if re:IsHasType(EFFECT_TYPE_ACTIVATE) and re:IsActiveType(TYPE_SPELL) and e:GetHandler():GetFlagEffect(1)>0 then
e:GetHandler():AddCounter(0x3001,1) e:GetHandler():AddCounter(0x3001,1)
end end
end end
......
...@@ -7,10 +7,16 @@ function c56321639.initial_effect(c) ...@@ -7,10 +7,16 @@ function c56321639.initial_effect(c)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--Add counter --Add counter
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e0:SetProperty(EFFECT_CANNOT_DISABLE)
e0:SetCode(EVENT_CHAINING)
e0:SetRange(LOCATION_SZONE)
e0:SetOperation(aux.chainreg)
c:RegisterEffect(e0)
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD) e2:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e2:SetCode(EVENT_CHAIN_SOLVING) e2:SetCode(EVENT_CHAIN_SOLVED)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetRange(LOCATION_SZONE) e2:SetRange(LOCATION_SZONE)
e2:SetCondition(c56321639.ctcon) e2:SetCondition(c56321639.ctcon)
e2:SetOperation(c56321639.ctop) e2:SetOperation(c56321639.ctop)
...@@ -39,7 +45,7 @@ end ...@@ -39,7 +45,7 @@ end
function c56321639.ctcon(e,tp,eg,ep,ev,re,r,rp) function c56321639.ctcon(e,tp,eg,ep,ev,re,r,rp)
if not re then return false end if not re then return false end
local c=re:GetHandler() local c=re:GetHandler()
return e:GetHandler()~=re:GetHandler() and re:IsHasType(EFFECT_TYPE_ACTIVATE) and re:IsActiveType(TYPE_SPELL) and c:IsSetCard(0x106e) return re:IsHasType(EFFECT_TYPE_ACTIVATE) and re:IsActiveType(TYPE_SPELL) and c:IsSetCard(0x106e) and e:GetHandler():GetFlagEffect(1)>0
end end
function c56321639.ctop(e,tp,eg,ep,ev,re,r,rp) function c56321639.ctop(e,tp,eg,ep,ev,re,r,rp)
e:GetHandler():AddCounter(0x3001,1) e:GetHandler():AddCounter(0x3001,1)
......
...@@ -3,10 +3,16 @@ function c60258960.initial_effect(c) ...@@ -3,10 +3,16 @@ function c60258960.initial_effect(c)
c:EnableReviveLimit() c:EnableReviveLimit()
c:EnableCounterPermit(0x3001) c:EnableCounterPermit(0x3001)
--add counter --add counter
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e0:SetProperty(EFFECT_CANNOT_DISABLE)
e0:SetCode(EVENT_CHAINING)
e0:SetRange(LOCATION_MZONE)
e0:SetOperation(aux.chainreg)
c:RegisterEffect(e0)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e1:SetCode(EVENT_CHAIN_SOLVING) e1:SetCode(EVENT_CHAIN_SOLVED)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetOperation(c60258960.acop) e1:SetOperation(c60258960.acop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
...@@ -23,7 +29,7 @@ function c60258960.initial_effect(c) ...@@ -23,7 +29,7 @@ function c60258960.initial_effect(c)
end end
function c60258960.acop(e,tp,eg,ep,ev,re,r,rp) function c60258960.acop(e,tp,eg,ep,ev,re,r,rp)
local c=re:GetHandler() local c=re:GetHandler()
if re:IsHasType(EFFECT_TYPE_ACTIVATE) and c:IsType(TYPE_SPELL) then if re:IsHasType(EFFECT_TYPE_ACTIVATE) and c:IsType(TYPE_SPELL) and e:GetHandler():GetFlagEffect(1)>0 then
e:GetHandler():AddCounter(0x3001,1) e:GetHandler():AddCounter(0x3001,1)
end end
end end
......
...@@ -2,10 +2,16 @@ ...@@ -2,10 +2,16 @@
function c6061630.initial_effect(c) function c6061630.initial_effect(c)
c:EnableCounterPermit(0x3001) c:EnableCounterPermit(0x3001)
--add counter --add counter
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e0:SetProperty(EFFECT_CANNOT_DISABLE)
e0:SetCode(EVENT_CHAINING)
e0:SetRange(LOCATION_MZONE)
e0:SetOperation(aux.chainreg)
c:RegisterEffect(e0)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e1:SetCode(EVENT_CHAIN_SOLVING) e1:SetCode(EVENT_CHAIN_SOLVED)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetOperation(c6061630.acop) e1:SetOperation(c6061630.acop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
...@@ -21,7 +27,7 @@ function c6061630.initial_effect(c) ...@@ -21,7 +27,7 @@ function c6061630.initial_effect(c)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c6061630.acop(e,tp,eg,ep,ev,re,r,rp) function c6061630.acop(e,tp,eg,ep,ev,re,r,rp)
if re:IsHasType(EFFECT_TYPE_ACTIVATE) and re:IsActiveType(TYPE_SPELL) then if re:IsHasType(EFFECT_TYPE_ACTIVATE) and re:IsActiveType(TYPE_SPELL) and e:GetHandler():GetFlagEffect(1)>0 then
e:GetHandler():AddCounter(0x3001,2) e:GetHandler():AddCounter(0x3001,2)
end end
end end
......
...@@ -3,10 +3,16 @@ function c70791313.initial_effect(c) ...@@ -3,10 +3,16 @@ function c70791313.initial_effect(c)
c:EnableCounterPermit(0x3001) c:EnableCounterPermit(0x3001)
c:SetCounterLimit(0x3001,3) c:SetCounterLimit(0x3001,3)
--add counter --add counter
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e0:SetProperty(EFFECT_CANNOT_DISABLE)
e0:SetCode(EVENT_CHAINING)
e0:SetRange(LOCATION_MZONE)
e0:SetOperation(aux.chainreg)
c:RegisterEffect(e0)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e1:SetCode(EVENT_CHAIN_SOLVING) e1:SetCode(EVENT_CHAIN_SOLVED)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetOperation(c70791313.acop) e1:SetOperation(c70791313.acop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
...@@ -23,7 +29,7 @@ function c70791313.initial_effect(c) ...@@ -23,7 +29,7 @@ function c70791313.initial_effect(c)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c70791313.acop(e,tp,eg,ep,ev,re,r,rp) function c70791313.acop(e,tp,eg,ep,ev,re,r,rp)
if re:IsHasType(EFFECT_TYPE_ACTIVATE) and re:IsActiveType(TYPE_SPELL) then if re:IsHasType(EFFECT_TYPE_ACTIVATE) and re:IsActiveType(TYPE_SPELL) and e:GetHandler():GetFlagEffect(1)>0 then
e:GetHandler():AddCounter(0x3001,1) e:GetHandler():AddCounter(0x3001,1)
end end
end end
......
...@@ -3,10 +3,16 @@ function c73752131.initial_effect(c) ...@@ -3,10 +3,16 @@ function c73752131.initial_effect(c)
c:EnableCounterPermit(0x3001) c:EnableCounterPermit(0x3001)
c:SetCounterLimit(0x3001,3) c:SetCounterLimit(0x3001,3)
--add counter --add counter
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e0:SetProperty(EFFECT_CANNOT_DISABLE)
e0:SetCode(EVENT_CHAINING)
e0:SetRange(LOCATION_MZONE)
e0:SetOperation(aux.chainreg)
c:RegisterEffect(e0)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e1:SetCode(EVENT_CHAIN_SOLVING) e1:SetCode(EVENT_CHAIN_SOLVED)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetOperation(c73752131.acop) e1:SetOperation(c73752131.acop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
...@@ -22,7 +28,7 @@ function c73752131.initial_effect(c) ...@@ -22,7 +28,7 @@ function c73752131.initial_effect(c)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c73752131.acop(e,tp,eg,ep,ev,re,r,rp) function c73752131.acop(e,tp,eg,ep,ev,re,r,rp)
if re:IsHasType(EFFECT_TYPE_ACTIVATE) and re:IsActiveType(TYPE_SPELL) then if re:IsHasType(EFFECT_TYPE_ACTIVATE) and re:IsActiveType(TYPE_SPELL) and e:GetHandler():GetFlagEffect(1)>0 then
e:GetHandler():AddCounter(0x3001,1) e:GetHandler():AddCounter(0x3001,1)
end end
end end
......
...@@ -12,10 +12,16 @@ function c74402414.initial_effect(c) ...@@ -12,10 +12,16 @@ function c74402414.initial_effect(c)
e1:SetLabelObject(g) e1:SetLabelObject(g)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--add counter --add counter
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e0:SetProperty(EFFECT_CANNOT_DISABLE)
e0:SetCode(EVENT_CHAINING)
e0:SetRange(LOCATION_SZONE)
e0:SetOperation(aux.chainreg)
c:RegisterEffect(e0)
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD) e2:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e2:SetCode(EVENT_CHAIN_SOLVING) e2:SetCode(EVENT_CHAIN_SOLVED)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetRange(LOCATION_SZONE) e2:SetRange(LOCATION_SZONE)
e2:SetOperation(c74402414.ctop) e2:SetOperation(c74402414.ctop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
...@@ -68,7 +74,7 @@ function c74402414.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -68,7 +74,7 @@ function c74402414.activate(e,tp,eg,ep,ev,re,r,rp)
e:GetLabelObject():Merge(rg) e:GetLabelObject():Merge(rg)
end end
function c74402414.ctop(e,tp,eg,ep,ev,re,r,rp) function c74402414.ctop(e,tp,eg,ep,ev,re,r,rp)
if rp~=tp and re:IsHasType(EFFECT_TYPE_ACTIVATE) and re:IsActiveType(TYPE_SPELL) then if rp~=tp and re:IsHasType(EFFECT_TYPE_ACTIVATE) and re:IsActiveType(TYPE_SPELL) and e:GetHandler():GetFlagEffect(1)>0 then
e:GetHandler():AddCounter(0x25,1) e:GetHandler():AddCounter(0x25,1)
end end
end end
......
...@@ -2,6 +2,13 @@ ...@@ -2,6 +2,13 @@
function c8034697.initial_effect(c) function c8034697.initial_effect(c)
c:EnableCounterPermit(0x3001) c:EnableCounterPermit(0x3001)
--add counter --add counter
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e0:SetProperty(EFFECT_CANNOT_DISABLE)
e0:SetCode(EVENT_CHAINING)
e0:SetRange(LOCATION_MZONE)
e0:SetOperation(aux.chainreg)
c:RegisterEffect(e0)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e1:SetCode(EVENT_CHAIN_SOLVING) e1:SetCode(EVENT_CHAIN_SOLVING)
...@@ -28,9 +35,7 @@ function c8034697.initial_effect(c) ...@@ -28,9 +35,7 @@ function c8034697.initial_effect(c)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c8034697.acop(e,tp,eg,ep,ev,re,r,rp) function c8034697.acop(e,tp,eg,ep,ev,re,r,rp)
local te=Duel.GetChainInfo(ev,CHAININFO_TRIGGERING_EFFECT) if re:IsHasType(EFFECT_TYPE_ACTIVATE) and re:IsActiveType(TYPE_SPELL) and e:GetHandler():GetFlagEffect(1)>0 then
local c=te:GetHandler()
if te:IsHasType(EFFECT_TYPE_ACTIVATE) and c:IsType(TYPE_SPELL) and c~=e:GetHandler() then
e:GetHandler():AddCounter(0x3001,1) e:GetHandler():AddCounter(0x3001,1)
end end
end end
......
...@@ -13,12 +13,19 @@ function c81059524.initial_effect(c) ...@@ -13,12 +13,19 @@ function c81059524.initial_effect(c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--atkup --atkup
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e2:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e2:SetProperty(EFFECT_CANNOT_DISABLE)
e2:SetCode(EVENT_CHAINING)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetCode(EVENT_CHAIN_SOLVING) e2:SetOperation(aux.chainreg)
e2:SetCondition(c81059524.atkcon)
e2:SetOperation(c81059524.atkop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e3:SetRange(LOCATION_MZONE)
e3:SetCode(EVENT_CHAIN_SOLVED)
e3:SetCondition(c81059524.atkcon)
e3:SetOperation(c81059524.atkop)
c:RegisterEffect(e3)
end end
function c81059524.damcon(e,tp,eg,ep,ev,re,r,rp) function c81059524.damcon(e,tp,eg,ep,ev,re,r,rp)
local bc=e:GetHandler():GetBattleTarget() local bc=e:GetHandler():GetBattleTarget()
...@@ -36,7 +43,7 @@ function c81059524.damop(e,tp,eg,ep,ev,re,r,rp) ...@@ -36,7 +43,7 @@ function c81059524.damop(e,tp,eg,ep,ev,re,r,rp)
end end
function c81059524.atkcon(e,tp,eg,ep,ev,re,r,rp) function c81059524.atkcon(e,tp,eg,ep,ev,re,r,rp)
local tpe=re:GetActiveType() local tpe=re:GetActiveType()
return re:IsHasType(EFFECT_TYPE_ACTIVATE) and (tpe==TYPE_SPELL or tpe==TYPE_QUICKPLAY+TYPE_SPELL) return re:IsHasType(EFFECT_TYPE_ACTIVATE) and (tpe==TYPE_SPELL or tpe==TYPE_QUICKPLAY+TYPE_SPELL) and e:GetHandler():GetFlagEffect(1)>0
end end
function c81059524.atkop(e,tp,eg,ep,ev,re,r,rp) function c81059524.atkop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
......
...@@ -5,23 +5,25 @@ function c84970821.initial_effect(c) ...@@ -5,23 +5,25 @@ function c84970821.initial_effect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMING_DRAW_PHASE) e1:SetHintTiming(0,TIMING_DRAW_PHASE)
e1:SetOperation(c84970821.regop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--damage --damage
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD) e2:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e2:SetCode(EVENT_CHAIN_SOLVED) e2:SetProperty(EFFECT_CANNOT_DISABLE)
e2:SetCode(EVENT_CHAINING)
e2:SetRange(LOCATION_SZONE) e2:SetRange(LOCATION_SZONE)
e2:SetOperation(c84970821.damop) e2:SetOperation(aux.chainreg)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end local e3=Effect.CreateEffect(c)
function c84970821.regop(e,tp,eg,ep,ev,re,r,rp) e3:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e:GetHandler():RegisterFlagEffect(84970821,RESET_CHAIN,0,1) e3:SetCode(EVENT_CHAIN_SOLVED)
e3:SetRange(LOCATION_SZONE)
e3:SetOperation(c84970821.damop)
c:RegisterEffect(e3)
end end
function c84970821.damop(e,tp,eg,ep,ev,re,r,rp) function c84970821.damop(e,tp,eg,ep,ev,re,r,rp)
local c=re:GetHandler() local c=re:GetHandler()
if re:IsHasType(EFFECT_TYPE_ACTIVATE) and re:IsActiveType(TYPE_SPELL) and c~=e:GetHandler() if re:IsHasType(EFFECT_TYPE_ACTIVATE) and re:IsActiveType(TYPE_SPELL) and e:GetHandler():GetFlagEffect(1)>0 then
and e:GetHandler():GetFlagEffect(84970821)==0 then
Duel.Damage(rp,1000,REASON_EFFECT) Duel.Damage(rp,1000,REASON_EFFECT)
end end
end end
...@@ -3,10 +3,16 @@ function c88901771.initial_effect(c) ...@@ -3,10 +3,16 @@ function c88901771.initial_effect(c)
c:EnableCounterPermit(0x3001) c:EnableCounterPermit(0x3001)
c:SetCounterLimit(0x3001,3) c:SetCounterLimit(0x3001,3)
--add counter --add counter
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e0:SetProperty(EFFECT_CANNOT_DISABLE)
e0:SetCode(EVENT_CHAINING)
e0:SetRange(LOCATION_MZONE)
e0:SetOperation(aux.chainreg)
c:RegisterEffect(e0)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_CHAIN_SOLVING) e1:SetCode(EVENT_CHAIN_SOLVED)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetOperation(c88901771.acop) e1:SetOperation(c88901771.acop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
...@@ -32,7 +38,7 @@ function c88901771.initial_effect(c) ...@@ -32,7 +38,7 @@ function c88901771.initial_effect(c)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c88901771.acop(e,tp,eg,ep,ev,re,r,rp) function c88901771.acop(e,tp,eg,ep,ev,re,r,rp)
if re:IsHasType(EFFECT_TYPE_ACTIVATE) and re:IsActiveType(TYPE_SPELL) then if re:IsHasType(EFFECT_TYPE_ACTIVATE) and re:IsActiveType(TYPE_SPELL) and e:GetHandler():GetFlagEffect(1)>0 then
e:GetHandler():AddCounter(0x3001,1) e:GetHandler():AddCounter(0x3001,1)
end end
end end
......
...@@ -5,33 +5,35 @@ function c94256039.initial_effect(c) ...@@ -5,33 +5,35 @@ function c94256039.initial_effect(c)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetOperation(c94256039.regop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--add counter --add counter
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD) e2:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e2:SetCode(EVENT_CHAIN_SOLVING) e2:SetProperty(EFFECT_CANNOT_DISABLE)
e2:SetProperty(EFFECT_FLAG_DELAY) e2:SetCode(EVENT_CHAINING)
e2:SetRange(LOCATION_SZONE) e2:SetRange(LOCATION_SZONE)
e2:SetOperation(c94256039.acop) e2:SetOperation(aux.chainreg)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--destroy&damage
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(94256039,0)) e3:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e3:SetCategory(CATEGORY_DESTROY+CATEGORY_DAMAGE) e3:SetCode(EVENT_CHAIN_SOLVED)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F) e3:SetRange(LOCATION_SZONE)
e3:SetCode(94256039) e3:SetOperation(c94256039.acop)
e3:SetTarget(c94256039.damtg)
e3:SetOperation(c94256039.damop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end --destroy&damage
function c94256039.regop(e,tp,eg,ep,ev,re,r,rp) local e4=Effect.CreateEffect(c)
e:GetHandler():RegisterFlagEffect(94256039,RESET_CHAIN,0,1) e4:SetDescription(aux.Stringid(94256039,0))
e4:SetCategory(CATEGORY_DESTROY+CATEGORY_DAMAGE)
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e4:SetCode(94256039)
e4:SetTarget(c94256039.damtg)
e4:SetOperation(c94256039.damop)
c:RegisterEffect(e4)
end end
function c94256039.acop(e,tp,eg,ep,ev,re,r,rp) function c94256039.acop(e,tp,eg,ep,ev,re,r,rp)
local p=Duel.GetChainInfo(ev,CHAININFO_TRIGGERING_PLAYER) local p=Duel.GetChainInfo(ev,CHAININFO_TRIGGERING_PLAYER)
local c=e:GetHandler() local c=e:GetHandler()
if re:IsHasType(EFFECT_TYPE_ACTIVATE) and re:IsActiveType(TYPE_SPELL) and c:GetFlagEffect(94256039)==0 then if re:IsHasType(EFFECT_TYPE_ACTIVATE) and re:IsActiveType(TYPE_SPELL) and c:GetFlagEffect(1)>0 then
c:AddCounter(0x3001,1) c:AddCounter(0x3001,1)
if c:GetCounter(0x3001)==4 then if c:GetCounter(0x3001)==4 then
Duel.RaiseSingleEvent(c,94256039,re,0,0,p,0) Duel.RaiseSingleEvent(c,94256039,re,0,0,p,0)
......
...@@ -1113,3 +1113,8 @@ function Auxiliary.bdogcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -1113,3 +1113,8 @@ function Auxiliary.bdogcon(e,tp,eg,ep,ev,re,r,rp)
local bc=c:GetBattleTarget() local bc=c:GetBattleTarget()
return c:IsRelateToBattle() and c:IsStatus(STATUS_OPPO_BATTLE) and bc:IsLocation(LOCATION_GRAVE) and bc:IsType(TYPE_MONSTER) return c:IsRelateToBattle() and c:IsStatus(STATUS_OPPO_BATTLE) and bc:IsLocation(LOCATION_GRAVE) and bc:IsType(TYPE_MONSTER)
end end
function Auxiliary.chainreg(e,tp,eg,ep,ev,re,r,rp)
if e:GetHandler():GetFlagEffect(1)==0 then
e:GetHandler():RegisterFlagEffect(1,RESET_EVENT+0x1fc0000+RESET_CHAIN,0,1)
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