Commit 7eba87b3 authored by wyykak's avatar wyykak

fix dots

Signed-off-by: wyykak's avatarwyykak <wyy_1414@126.com>
parent a0998e51
Pipeline #39559 passed with stage
in 1 minute and 26 seconds
......@@ -23,7 +23,13 @@ if not DOT.DotCounter then
num1 = num1+dmg1
num2 = num2+dmg2
end
Debug.Message('下一波持续伤害:'..num1..
local name
if tp == 0 then
name = '先手玩家'
else
name = '后手玩家'
end
Debug.Message(name..'下一波持续伤害:'..num1..
'剩余持续伤害:'..num2)
class._n[tp] = {52001, num1, num2}
end
......
......@@ -86,9 +86,10 @@ function c19047.damop(e,tp,eg,ep,ev,re,r,rp)
e:SetLabel(ct)
c:SetTurnCounter(ct)
Duel.Damage(1-tp,400,REASON_EFFECT)
DOT.DotCounter.Add(nil,1-tp,0,0,-400,e)
if ct==3 then
DOT.DotCounter.Add(nil,1-tp,0,-400,-400,e)
else
DOT.DotCounter.Add(nil,1-tp,0,0,-400,e)
end
end
end
......
--藤原妹红
function c21024.initial_effect(c)
--synchro summon
aux.AddSynchroProcedure(c,nil,aux.NonTuner(c21024.synfilter),1)
c:EnableReviveLimit()
--damage
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(21024,0))
e1:SetCategory(CATEGORY_DAMAGE)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetTarget(c21024.dtg)
e1:SetOperation(c21024.dop)
c:RegisterEffect(e1)
--special summon
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_SPSUMMON_PROC)
e2:SetProperty(EFFECT_FLAG_UNCOPYABLE)
e2:SetRange(LOCATION_GRAVE)
e2:SetCondition(c21024.spcon)
e2:SetOperation(c21024.spop)
c:RegisterEffect(e2)
--attack up
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(21024,1))
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e3:SetRange(LOCATION_MZONE)
e3:SetCode(EVENT_DAMAGE)
e3:SetCondition(c21024.cd)
e3:SetOperation(c21024.op)
c:RegisterEffect(e3)
end
function c21024.synfilter(c)
return c:IsSetCard(0x208) and c:IsType(TYPE_DUAL)
end
function c21024.dtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
end
function c21024.dop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local e1=Effect.CreateEffect(c)
e1:SetLabel(0)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCountLimit(1)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetOperation(c21024.damop)
e1:SetReset(RESET_PHASE+PHASE_END,3)
Duel.RegisterEffect(e1,tp)
DOT.DotCounter.Add(nil,1-tp,0,400,1200,e)
end
function c21024.damop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local ct=e:GetLabel()
if(ct<3) then
ct=ct+1
e:SetLabel(ct)
c:SetTurnCounter(ct)
Duel.Damage(tp,400,REASON_EFFECT,true)
Duel.Damage(1-tp,400,REASON_EFFECT,true)
Duel.RDComplete()
DOT.DotCounter.Add(nil,1-tp,0,0,-400,e)
if ct==3 then
DOT.DotCounter.Add(nil,1-tp,0,-400,-400,e)
end
end
end
function c21024.spfilter(c)
return c:IsFaceup() and c:IsSetCard(0x208) and c:IsReleasable()
end
function c21024.spcon(e,c)
if c==nil then return true end
return Duel.GetFlagEffect(c:GetControler(),21024)==0
and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
and Duel.GetLocationCount(c:GetControler(),LOCATION_MZONE)>-1
and Duel.IsExistingMatchingCard(c21024.spfilter,c:GetControler(),LOCATION_MZONE,0,1,nil)
end
function c21024.spop(e,tp,eg,ep,ev,re,r,rp,c)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local g=Duel.SelectMatchingCard(tp,c21024.spfilter,tp,LOCATION_MZONE,0,1,1,nil)
Duel.Release(g,nil,REASON_COST)
Duel.RegisterFlagEffect(tp,21024,RESET_PHASE+PHASE_END,EFFECT_FLAG_OATH,1)
end
function c21024.cd(e,tp,eg,ep,ev,re,r,rp)
if e:GetHandler():IsStatus(STATUS_BATTLE_DESTROYED) then return false end
return tp==ep
end
function c21024.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(300)
e1:SetReset(RESET_EVENT+0x1ff0000+RESET_PHASE+PHASE_END+RESET_OPPO_TURN)
c:RegisterEffect(e1)
end
--藤原妹红
function c21024.initial_effect(c)
--synchro summon
aux.AddSynchroProcedure(c,nil,aux.NonTuner(c21024.synfilter),1)
c:EnableReviveLimit()
--damage
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(21024,0))
e1:SetCategory(CATEGORY_DAMAGE)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetTarget(c21024.dtg)
e1:SetOperation(c21024.dop)
c:RegisterEffect(e1)
--special summon
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_SPSUMMON_PROC)
e2:SetProperty(EFFECT_FLAG_UNCOPYABLE)
e2:SetRange(LOCATION_GRAVE)
e2:SetCondition(c21024.spcon)
e2:SetOperation(c21024.spop)
c:RegisterEffect(e2)
--attack up
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(21024,1))
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e3:SetRange(LOCATION_MZONE)
e3:SetCode(EVENT_DAMAGE)
e3:SetCondition(c21024.cd)
e3:SetOperation(c21024.op)
c:RegisterEffect(e3)
end
function c21024.synfilter(c)
return c:IsSetCard(0x208) and c:IsType(TYPE_DUAL)
end
function c21024.dtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
end
function c21024.dop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local e1=Effect.CreateEffect(c)
e1:SetLabel(0)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCountLimit(1)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetOperation(c21024.damop)
e1:SetReset(RESET_PHASE+PHASE_END,3)
Duel.RegisterEffect(e1,tp)
DOT.DotCounter.Add(nil,1-tp,0,400,1200,e)
end
function c21024.damop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local ct=e:GetLabel()
if(ct<3) then
ct=ct+1
e:SetLabel(ct)
c:SetTurnCounter(ct)
Duel.Damage(tp,400,REASON_EFFECT,true)
Duel.Damage(1-tp,400,REASON_EFFECT,true)
Duel.RDComplete()
if ct==3 then
DOT.DotCounter.Add(nil,1-tp,0,-400,-400,e)
else
DOT.DotCounter.Add(nil,1-tp,0,0,-400,e)
end
end
end
function c21024.spfilter(c)
return c:IsFaceup() and c:IsSetCard(0x208) and c:IsReleasable()
end
function c21024.spcon(e,c)
if c==nil then return true end
return Duel.GetFlagEffect(c:GetControler(),21024)==0
and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
and Duel.GetLocationCount(c:GetControler(),LOCATION_MZONE)>-1
and Duel.IsExistingMatchingCard(c21024.spfilter,c:GetControler(),LOCATION_MZONE,0,1,nil)
end
function c21024.spop(e,tp,eg,ep,ev,re,r,rp,c)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local g=Duel.SelectMatchingCard(tp,c21024.spfilter,tp,LOCATION_MZONE,0,1,1,nil)
Duel.Release(g,nil,REASON_COST)
Duel.RegisterFlagEffect(tp,21024,RESET_PHASE+PHASE_END,EFFECT_FLAG_OATH,1)
end
function c21024.cd(e,tp,eg,ep,ev,re,r,rp)
if e:GetHandler():IsStatus(STATUS_BATTLE_DESTROYED) then return false end
return tp==ep
end
function c21024.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(300)
e1:SetReset(RESET_EVENT+0x1ff0000+RESET_PHASE+PHASE_END+RESET_OPPO_TURN)
c:RegisterEffect(e1)
end
--烧不死的人类✿藤原妹红
function c21091.initial_effect(c)
--recover?
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(21091,0))
e1:SetCategory(CATEGORY_DAMAGE)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EVENT_BATTLE_DESTROYING)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e1:SetCondition(c21091.reccon)
e1:SetTarget(c21091.rectg)
e1:SetOperation(c21091.recop)
c:RegisterEffect(e1)
--special summon
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(21091,1))
e4:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_ATKCHANGE+CATEGORY_DEFCHANGE)
e4:SetProperty(EFFECT_FLAG_CARD_TARGET)
e4:SetType(EFFECT_TYPE_IGNITION)
e4:SetRange(LOCATION_GRAVE)
e4:SetCountLimit(1,21091+EFFECT_FLAG_OATH)
e4:SetCondition(c21091.condition)
e4:SetCost(c21091.hspcost)
e4:SetTarget(c21091.hsptg)
e4:SetOperation(c21091.hspop)
c:RegisterEffect(e4)
end
function c21091.reccon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local t=Duel.GetAttackTarget()
if ev==1 then t=Duel.GetAttacker() end
if not c:IsRelateToBattle() or c:IsFacedown() then return false end
e:SetLabel(t:GetLevel()*200)
return t:GetLocation()==LOCATION_GRAVE and t:IsType(TYPE_MONSTER)
end
function c21091.rectg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
end
function c21091.recop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local e1=Effect.CreateEffect(c)
e1:SetLabel(0,e:GetLabel())
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCountLimit(1)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetOperation(c21091.damop)
e1:SetReset(RESET_PHASE+PHASE_END,3)
Duel.RegisterEffect(e1,tp)
DOT.DotCounter.Add(nil,1-tp,0,e:GetLabel(),e:GetLabel()*3,e)
end
function c21091.damop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local ct,dam=e:GetLabel()
if(ct<3) then
ct=ct+1
e:SetLabel(ct,dam)
c:SetTurnCounter(ct)
Duel.Damage(tp,dam,REASON_EFFECT,true)
Duel.Damage(1-tp,dam,REASON_EFFECT,true)
Duel.RDComplete()
DOT.DotCounter.Add(nil,1-tp,0,0,-dam,e)
if ct==3 then
DOT.DotCounter.Add(nil,1-tp,0,-dam,-dam,e)
end
end
end
function c21091.filter(c)
return not (c:IsFaceup() and c:IsSetCard(0x137))
end
function c21091.condition(e,tp,eg,ep,ev,re,r,rp)
return not Duel.IsExistingMatchingCard(c21091.filter,tp,LOCATION_MZONE,0,1,nil) and Duel.GetFieldGroupCount(tp,LOCATION_MZONE,0)>0
end
function c21091.hspcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
local cost=math.floor(Duel.GetLP(tp)/2)
Duel.PayLPCost(tp,cost)
end
function c21091.hsptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:GetLocation()==LOCATION_MZONE end
if chk==0 then return Duel.IsExistingTarget(aux.TRUE,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) and e:GetHandler():IsReason(REASON_EFFECT+REASON_BATTLE) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
local g=Duel.SelectTarget(tp,aux.TRUE,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil)
end
function c21091.hspop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and c:IsRelateToEffect(e) then
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
if tc:IsFaceup() then
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_ATTACK_FINAL)
e1:SetReset(RESET_EVENT+0x1fe0000)
e1:SetValue(tc:GetAttack()/2)
tc:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_SET_DEFENSE_FINAL)
e2:SetValue(tc:GetDefense()/2)
tc:RegisterEffect(e2)
end
end
end
--烧不死的人类✿藤原妹红
function c21091.initial_effect(c)
--recover?
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(21091,0))
e1:SetCategory(CATEGORY_DAMAGE)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EVENT_BATTLE_DESTROYING)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e1:SetCondition(c21091.reccon)
e1:SetTarget(c21091.rectg)
e1:SetOperation(c21091.recop)
c:RegisterEffect(e1)
--special summon
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(21091,1))
e4:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_ATKCHANGE+CATEGORY_DEFCHANGE)
e4:SetProperty(EFFECT_FLAG_CARD_TARGET)
e4:SetType(EFFECT_TYPE_IGNITION)
e4:SetRange(LOCATION_GRAVE)
e4:SetCountLimit(1,21091+EFFECT_FLAG_OATH)
e4:SetCondition(c21091.condition)
e4:SetCost(c21091.hspcost)
e4:SetTarget(c21091.hsptg)
e4:SetOperation(c21091.hspop)
c:RegisterEffect(e4)
end
function c21091.reccon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local t=Duel.GetAttackTarget()
if ev==1 then t=Duel.GetAttacker() end
if not c:IsRelateToBattle() or c:IsFacedown() then return false end
e:SetLabel(t:GetLevel()*200)
return t:GetLocation()==LOCATION_GRAVE and t:IsType(TYPE_MONSTER)
end
function c21091.rectg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
end
function c21091.recop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local e1=Effect.CreateEffect(c)
e1:SetLabel(0,e:GetLabel())
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCountLimit(1)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetOperation(c21091.damop)
e1:SetReset(RESET_PHASE+PHASE_END,3)
Duel.RegisterEffect(e1,tp)
DOT.DotCounter.Add(nil,1-tp,0,e:GetLabel(),e:GetLabel()*3,e)
end
function c21091.damop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local ct,dam=e:GetLabel()
if(ct<3) then
ct=ct+1
e:SetLabel(ct,dam)
c:SetTurnCounter(ct)
Duel.Damage(tp,dam,REASON_EFFECT,true)
Duel.Damage(1-tp,dam,REASON_EFFECT,true)
Duel.RDComplete()
if ct==3 then
DOT.DotCounter.Add(nil,1-tp,0,-dam,-dam,e)
else
DOT.DotCounter.Add(nil,1-tp,0,0,-dam,e)
end
end
end
function c21091.filter(c)
return not (c:IsFaceup() and c:IsSetCard(0x137))
end
function c21091.condition(e,tp,eg,ep,ev,re,r,rp)
return not Duel.IsExistingMatchingCard(c21091.filter,tp,LOCATION_MZONE,0,1,nil) and Duel.GetFieldGroupCount(tp,LOCATION_MZONE,0)>0
end
function c21091.hspcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
local cost=math.floor(Duel.GetLP(tp)/2)
Duel.PayLPCost(tp,cost)
end
function c21091.hsptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:GetLocation()==LOCATION_MZONE end
if chk==0 then return Duel.IsExistingTarget(aux.TRUE,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) and e:GetHandler():IsReason(REASON_EFFECT+REASON_BATTLE) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
local g=Duel.SelectTarget(tp,aux.TRUE,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil)
end
function c21091.hspop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and c:IsRelateToEffect(e) then
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
if tc:IsFaceup() then
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_ATTACK_FINAL)
e1:SetReset(RESET_EVENT+0x1fe0000)
e1:SetValue(tc:GetAttack()/2)
tc:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_SET_DEFENSE_FINAL)
e2:SetValue(tc:GetDefense()/2)
tc:RegisterEffect(e2)
end
end
end
--猛毒『毒蛾的黑暗演舞』
function c21146.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_REMOVE+CATEGORY_DAMAGE)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCost(c21146.cost)
e1:SetTarget(c21146.target)
e1:SetOperation(c21146.activate)
c:RegisterEffect(e1)
end
function c21146.filter(c)
return (math.abs(c:GetAttack()-c:GetDefense())==200 or math.abs(c:GetAttack()-c:GetDefense())==2000)
and not c:IsType(TYPE_LINK) and c:IsReleasable()
end
function c21146.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
local a,b,dot=DOT.DotCounter.Get(1-tp)
local LO=0x6
if dot>0 then LO=0x7 end
return Duel.IsExistingMatchingCard(c21146.filter,tp,LO,0,1,nil) end
local g=Duel.SelectMatchingCard(tp,c21146.filter,tp,LO,0,1,1,nil)
Duel.Release(g,REASON_COST)
end
function c21146.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
end
function c21146.activate(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=Duel.SelectMatchingCard(tp,aux.TRUE,tp,0,LOCATION_ONFIELD,1,1,e:GetHandler())
if #g>0 then
Duel.Remove(g,POS_FACEDOWN,REASON_EFFECT)
local e1=Effect.CreateEffect(c)
e1:SetLabel(0)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCountLimit(1)
e1:SetCode(EVENT_PHASE+PHASE_STANDBY)
e1:SetCondition(c21146.damcon)
e1:SetOperation(c21146.damop)
e1:SetReset(RESET_PHASE+PHASE_STANDBY+RESET_OPPO_TURN,4)
Duel.RegisterEffect(e1,tp)
DOT.DotCounter.Add(nil,1-tp,0,300,1200,e)
end
end
function c21146.damcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()~=tp
end
function c21146.damop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local ct=e:GetLabel()
if(ct<4) then
ct=ct+1
e:SetLabel(ct)
c:SetTurnCounter(ct)
Duel.Damage(1-tp,300,REASON_EFFECT)
DOT.DotCounter.Add(nil,1-tp,0,0,-300,e)
if ct==4 then
DOT.DotCounter.Add(nil,1-tp,0,-300,-300,e)
end
end
end
--猛毒『毒蛾的黑暗演舞』
function c21146.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_REMOVE+CATEGORY_DAMAGE)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCost(c21146.cost)
e1:SetTarget(c21146.target)
e1:SetOperation(c21146.activate)
c:RegisterEffect(e1)
end
function c21146.filter(c)
return (math.abs(c:GetAttack()-c:GetDefense())==200 or math.abs(c:GetAttack()-c:GetDefense())==2000)
and not c:IsType(TYPE_LINK) and c:IsReleasable()
end
function c21146.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
local a,b,dot=DOT.DotCounter.Get(1-tp)
local LO=0x6
if dot>0 then LO=0x7 end
return Duel.IsExistingMatchingCard(c21146.filter,tp,LO,0,1,nil) end
local g=Duel.SelectMatchingCard(tp,c21146.filter,tp,LO,0,1,1,nil)
Duel.Release(g,REASON_COST)
end
function c21146.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
end
function c21146.activate(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=Duel.SelectMatchingCard(tp,aux.TRUE,tp,0,LOCATION_ONFIELD,1,1,e:GetHandler())
if #g>0 then
Duel.Remove(g,POS_FACEDOWN,REASON_EFFECT)
local e1=Effect.CreateEffect(c)
e1:SetLabel(0)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCountLimit(1)
e1:SetCode(EVENT_PHASE+PHASE_STANDBY)
e1:SetCondition(c21146.damcon)
e1:SetOperation(c21146.damop)
e1:SetReset(RESET_PHASE+PHASE_STANDBY+RESET_OPPO_TURN,4)
Duel.RegisterEffect(e1,tp)
DOT.DotCounter.Add(nil,1-tp,0,300,1200,e)
end
end
function c21146.damcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()~=tp
end
function c21146.damop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local ct=e:GetLabel()
if(ct<4) then
ct=ct+1
e:SetLabel(ct)
c:SetTurnCounter(ct)
Duel.Damage(1-tp,300,REASON_EFFECT)
if ct==4 then
DOT.DotCounter.Add(nil,1-tp,0,-300,-300,e)
else
DOT.DotCounter.Add(nil,1-tp,0,0,-300,e)
end
end
end
--人类地狱火✿藤原妹红
function c21161.initial_effect(c)
--xyz summon
aux.AddXyzProcedure(c,nil,5,2)
c:EnableReviveLimit()
--search
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(21161,0))
e1:SetCategory(CATEGORY_DAMAGE+CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_TRIGGER_O+EFFECT_TYPE_SINGLE)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetCondition(c21161.con)
e1:SetTarget(c21161.tg)
e1:SetOperation(c21161.op)
c:RegisterEffect(e1)
--addown
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(21161,1))
e2:SetCategory(CATEGORY_ATKCHANGE+CATEGORY_DEFCHANGE)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_MZONE)
e2:SetCost(c21161.adcost)
e2:SetTarget(c21161.adtg)
e2:SetOperation(c21161.adop)
c:RegisterEffect(e2)
end
function c21161.con(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetSummonType()==SUMMON_TYPE_XYZ
end
function c21161.sfilter1(c)
return c:IsCode(21099) and c:IsAbleToHand()
end
function c21161.sfilter2(c)
return c:IsCode(21100) and c:IsAbleToHand()
end
function c21161.tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c21161.sfilter1,tp,LOCATION_DECK,0,1,nil)
and Duel.IsExistingMatchingCard(c21161.sfilter2,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,2,tp,LOCATION_DECK)
end
function c21161.op(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g1=Duel.SelectMatchingCard(tp,c21161.sfilter1,tp,LOCATION_DECK,0,1,1,nil)
local g2=Duel.SelectMatchingCard(tp,c21161.sfilter2,tp,LOCATION_DECK,0,1,1,nil)
g1:Merge(g2)
if g1:GetCount()>0 then
Duel.SendtoHand(g1,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g1)
local c=e:GetHandler()
local e1=Effect.CreateEffect(c)
e1:SetLabel(0)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCountLimit(1)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetOperation(c21161.damop)
e1:SetReset(RESET_PHASE+PHASE_END,2)
Duel.RegisterEffect(e1,tp)
DOT.DotCounter.Add(nil,1-tp,0,400,800,e)
end
end
function c21161.damop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local ct=e:GetLabel()
if(ct<2) then
ct=ct+1
e:SetLabel(ct)
c:SetTurnCounter(ct)
Duel.Damage(tp,400,REASON_EFFECT,true)
Duel.Damage(1-tp,400,REASON_EFFECT,true)
Duel.RDComplete()
DOT.DotCounter.Add(nil,1-tp,0,0,-400,e)
if ct==2 then
DOT.DotCounter.Add(nil,1-tp,0,-400,-400,e)
end
end
end
function c21161.adcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end
e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST)
end
function c21161.filter(c)
return c:IsAbleToGrave() and c:IsSetCard(0x137) and c:IsType(TYPE_MONSTER)
end
function c21161.adtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
local g1=e:GetHandler():GetOverlayGroup()
local g=Duel.GetMatchingGroup(aux.TRUE,tp,LOCATION_DECK,0,nil)
g:Merge(g1)
return g:FilterCount(c21161.filter,nil)>0 end
end
function c21161.adop(e,tp,eg,ep,ev,re,r,rp)
local g1=e:GetHandler():GetOverlayGroup()
local g=Duel.GetMatchingGroup(aux.TRUE,tp,LOCATION_DECK,0,nil)
g:Merge(g1)
if g:FilterCount(c21161.filter,nil)==0 then return end
local sg=g:FilterSelect(tp,c21161.filter,1,1,nil)
local sc=sg:GetFirst()
Duel.SendtoGrave(sc,REASON_EFFECT)
local dg=Duel.GetMatchingGroup(Card.IsFaceup,tp,0,LOCATION_MZONE,nil)
local ct=-200*2^math.floor(sc:GetAttack()/1000)
local tc=dg:GetFirst()
while tc do
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(ct)
e1:SetReset(RESET_EVENT+0x1fe0000)
tc:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_UPDATE_DEFENSE)
tc:RegisterEffect(e2)
tc=dg:GetNext()
end
end
--人类地狱火✿藤原妹红
function c21161.initial_effect(c)
--xyz summon
aux.AddXyzProcedure(c,nil,5,2)
c:EnableReviveLimit()
--search
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(21161,0))
e1:SetCategory(CATEGORY_DAMAGE+CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_TRIGGER_O+EFFECT_TYPE_SINGLE)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetCondition(c21161.con)
e1:SetTarget(c21161.tg)
e1:SetOperation(c21161.op)
c:RegisterEffect(e1)
--addown
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(21161,1))
e2:SetCategory(CATEGORY_ATKCHANGE+CATEGORY_DEFCHANGE)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_MZONE)
e2:SetCost(c21161.adcost)
e2:SetTarget(c21161.adtg)
e2:SetOperation(c21161.adop)
c:RegisterEffect(e2)
end
function c21161.con(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetSummonType()==SUMMON_TYPE_XYZ
end
function c21161.sfilter1(c)
return c:IsCode(21099) and c:IsAbleToHand()
end
function c21161.sfilter2(c)
return c:IsCode(21100) and c:IsAbleToHand()
end
function c21161.tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c21161.sfilter1,tp,LOCATION_DECK,0,1,nil)
and Duel.IsExistingMatchingCard(c21161.sfilter2,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,2,tp,LOCATION_DECK)
end
function c21161.op(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g1=Duel.SelectMatchingCard(tp,c21161.sfilter1,tp,LOCATION_DECK,0,1,1,nil)
local g2=Duel.SelectMatchingCard(tp,c21161.sfilter2,tp,LOCATION_DECK,0,1,1,nil)
g1:Merge(g2)
if g1:GetCount()>0 then
Duel.SendtoHand(g1,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g1)
local c=e:GetHandler()
local e1=Effect.CreateEffect(c)
e1:SetLabel(0)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCountLimit(1)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetOperation(c21161.damop)
e1:SetReset(RESET_PHASE+PHASE_END,2)
Duel.RegisterEffect(e1,tp)
DOT.DotCounter.Add(nil,tp,0,400,800,e)
DOT.DotCounter.Add(nil,1-tp,0,400,800,e)
end
end
function c21161.damop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local ct=e:GetLabel()
if(ct<2) then
ct=ct+1
e:SetLabel(ct)
c:SetTurnCounter(ct)
Duel.Damage(tp,400,REASON_EFFECT,true)
Duel.Damage(1-tp,400,REASON_EFFECT,true)
Duel.RDComplete()
if ct==2 then
DOT.DotCounter.Add(nil,tp,0,-400,-400,e)
DOT.DotCounter.Add(nil,1-tp,0,-400,-400,e)
else
DOT.DotCounter.Add(nil,tp,0,0,-400,e)
DOT.DotCounter.Add(nil,1-tp,0,0,-400,e)
end
end
end
function c21161.adcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end
e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST)
end
function c21161.filter(c)
return c:IsAbleToGrave() and c:IsSetCard(0x137) and c:IsType(TYPE_MONSTER)
end
function c21161.adtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
local g1=e:GetHandler():GetOverlayGroup()
local g=Duel.GetMatchingGroup(aux.TRUE,tp,LOCATION_DECK,0,nil)
g:Merge(g1)
return g:FilterCount(c21161.filter,nil)>0 end
end
function c21161.adop(e,tp,eg,ep,ev,re,r,rp)
local g1=e:GetHandler():GetOverlayGroup()
local g=Duel.GetMatchingGroup(aux.TRUE,tp,LOCATION_DECK,0,nil)
g:Merge(g1)
if g:FilterCount(c21161.filter,nil)==0 then return end
local sg=g:FilterSelect(tp,c21161.filter,1,1,nil)
local sc=sg:GetFirst()
Duel.SendtoGrave(sc,REASON_EFFECT)
local dg=Duel.GetMatchingGroup(Card.IsFaceup,tp,0,LOCATION_MZONE,nil)
local ct=-200*2^math.floor(sc:GetAttack()/1000)
local tc=dg:GetFirst()
while tc do
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(ct)
e1:SetReset(RESET_EVENT+0x1fe0000)
tc:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_UPDATE_DEFENSE)
tc:RegisterEffect(e2)
tc=dg:GetNext()
end
end
......@@ -87,15 +87,29 @@ end
function c22111.dmop(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end
local rt=Duel.GetFieldGroupCount(tp,0,LOCATION_HAND)*200
local c=e:GetHandler()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCountLimit(1)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetLabel(0)
e1:SetCondition(c24066.damcon)
e1:SetOperation(c24066.damop)
e1:SetReset(RESET_PHASE+PHASE_END,7)
Duel.RegisterEffect(e1,tp)
DOT.DotCounter.Add(nil,1-tp,0,rt,rt*7,e)
local c=e:GetHandler()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCountLimit(1)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetLabel(0,rt)
e1:SetOperation(c22111.damop)
e1:SetReset(RESET_PHASE+PHASE_END,7)
Duel.RegisterEffect(e1,tp)
DOT.DotCounter.Add(nil,1-tp,0,rt,rt*7,e)
end
function c22111.damop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local ct,rt=e:GetLabel()
if(ct<7) then
ct=ct+1
e:SetLabel(ct,rt)
c:SetTurnCounter(ct)
Duel.Damage(1-tp,rt,REASON_EFFECT)
if ct==7 then
DOT.DotCounter.Add(nil,1-tp,0,-rt,-rt,e)
else
DOT.DotCounter.Add(nil,1-tp,0,0,-rt,e)
end
end
end
\ No newline at end of file
......@@ -92,11 +92,12 @@ function c22174.damop(e,tp,eg,ep,ev,re,r,rp)
ct=ct+1
e:SetLabel(ct)
c:SetTurnCounter(ct)
Duel.Hint(HINT_CARD,0,22174)
Duel.Damage(1-tp,1000,REASON_EFFECT)
DOT.DotCounter.Add(nil,1-tp,0,0,-1000,e)
Duel.Hint(HINT_CARD,0,22174)
Duel.Damage(1-tp,1000,REASON_EFFECT)
if ct==4 then
DOT.DotCounter.Add(nil,1-tp,0,-1000,-1000,e)
else
DOT.DotCounter.Add(nil,1-tp,0,0,-1000,e)
end
end
end
......@@ -55,9 +55,10 @@ function c24055.damop(e,tp,eg,ep,ev,re,r,rp)
e:SetLabel(ct)
c:SetTurnCounter(ct)
Duel.Damage(1-tp,300,REASON_EFFECT)
DOT.DotCounter.Add(nil,1-tp,0,0,-300,e)
if ct==3 then
DOT.DotCounter.Add(nil,1-tp,0,-300,-300,e)
else
DOT.DotCounter.Add(nil,1-tp,0,0,-300,e)
end
end
end
......
......@@ -69,9 +69,10 @@ function c24059.damop(e,tp,eg,ep,ev,re,r,rp)
e:SetLabel(ct)
c:SetTurnCounter(ct)
Duel.Damage(1-tp,600,REASON_EFFECT)
DOT.DotCounter.Add(nil,1-tp,0,0,-600,e)
if ct==3 then
DOT.DotCounter.Add(nil,1-tp,0,-600,-600,e)
else
DOT.DotCounter.Add(nil,1-tp,0,0,-600,e)
end
end
end
......@@ -44,9 +44,10 @@ function c24066.damop(e,tp,eg,ep,ev,re,r,rp)
e:SetLabel(ct)
c:SetTurnCounter(ct)
Duel.Damage(1-tp,300,REASON_EFFECT)
DOT.DotCounter.Add(nil,1-tp,0,0,-300,e)
if ct==5 then
DOT.DotCounter.Add(nil,1-tp,0,-300,-300,e)
else
DOT.DotCounter.Add(nil,1-tp,0,0,-300,e)
end
end
end
......@@ -79,9 +79,10 @@ function c24074.damop(e,tp,eg,ep,ev,re,r,rp)
e:SetLabel(ct)
c:SetTurnCounter(ct)
Duel.Damage(1-tp,400,REASON_EFFECT)
DOT.DotCounter.Add(nil,1-tp,0,0,-400,e)
if ct==3 then
DOT.DotCounter.Add(nil,1-tp,0,-400,-400,e)
else
DOT.DotCounter.Add(nil,1-tp,0,0,-400,e)
end
end
end
......@@ -80,9 +80,10 @@ function s.damop(e,tp,eg,ep,ev,re,r,rp)
e:SetLabel(ct)
c:SetTurnCounter(ct)
Duel.Damage(1-tp,300,REASON_EFFECT)
DOT.DotCounter.Add(nil,1-tp,0,0,-700,e)
if ct==2 then
DOT.DotCounter.Add(nil,1-tp,0,-700,-700,e)
else
DOT.DotCounter.Add(nil,1-tp,0,0,-700,e)
end
end
end
......@@ -121,9 +121,10 @@ function c25043.damop(e,tp,eg,ep,ev,re,r,rp)
e:SetLabel(ct)
c:SetTurnCounter(ct)
Duel.Damage(1-tp,500,REASON_EFFECT)
DOT.DotCounter.Add(nil,1-tp,0,0,-500,e)
if ct==3 then
DOT.DotCounter.Add(nil,1-tp,0,-500,-500,e)
else
DOT.DotCounter.Add(nil,1-tp,0,0,-500,e)
end
end
end
......@@ -42,9 +42,10 @@ function c25048.damop(e,tp,eg,ep,ev,re,r,rp)
e:SetLabel(ct)
c:SetTurnCounter(ct)
Duel.Damage(1-tp,500,REASON_EFFECT)
DOT.DotCounter.Add(nil,1-tp,0,0,-500,e)
if ct==5 then
DOT.DotCounter.Add(nil,1-tp,0,-500,-500,e)
else
DOT.DotCounter.Add(nil,1-tp,0,0,-500,e)
end
end
end
......@@ -56,9 +56,10 @@ function c25050.damop(e,tp,eg,ep,ev,re,r,rp)
e:SetLabel(ct)
c:SetTurnCounter(ct)
Duel.Damage(1-tp,800,REASON_EFFECT)
DOT.DotCounter.Add(nil,1-tp,0,0,-800,e)
if ct==2 then
DOT.DotCounter.Add(nil,1-tp,0,-800,-800,e)
else
DOT.DotCounter.Add(nil,1-tp,0,0,-800,e)
end
end
end
......@@ -54,9 +54,10 @@ function c25051.damop(e,tp,eg,ep,ev,re,r,rp)
local ct=e:GetLabel()
if(ct<3) then
Duel.Damage(1-tp,400,REASON_EFFECT)
DOT.DotCounter.Add(nil,1-tp,0,0,-400,e)
if ct==3 then
DOT.DotCounter.Add(nil,1-tp,0,-400,-400,e)
else
DOT.DotCounter.Add(nil,1-tp,0,0,-400,e)
end
end
end
......
......@@ -84,9 +84,10 @@ function s.damop1(e,tp,eg,ep,ev,re,r,rp)
if(ct>0) then
e:GetHandler():SetTurnCounter(ct-1)
Duel.Damage(1-tp,dam,REASON_EFFECT)
DOT.DotCounter.Add(nil,1-tp,0,0,-dam,e)
if ct==1 then
DOT.DotCounter.Add(nil,1-tp,0,-dam,0,e)
DOT.DotCounter.Add(nil,1-tp,0,-dam,-dam,e)
else
DOT.DotCounter.Add(nil,1-tp,0,0,-dam,e)
end
end
end
......
......@@ -94,9 +94,10 @@ function c31013.damop(e,tp,eg,ep,ev,re,r,rp)
e:SetLabel(ct)
c:SetTurnCounter(ct)
Duel.Damage(1-tp,500,REASON_EFFECT)
DOT.DotCounter.Add(nil,1-tp,0,0,-500,e)
if ct==3 then
DOT.DotCounter.Add(nil,1-tp,0,-500,-500,e)
else
DOT.DotCounter.Add(nil,1-tp,0,0,-500,e)
end
end
end
......@@ -95,9 +95,10 @@ function s.damop(e,tp,eg,ep,ev,re,r,rp)
e:SetLabel(ct)
c:SetTurnCounter(ct)
Duel.Damage(1-tp,500,REASON_EFFECT)
DOT.DotCounter.Add(nil,1-tp,0,0,-500,e)
if ct==3 then
DOT.DotCounter.Add(nil,1-tp,0,-500,-500,e)
else
DOT.DotCounter.Add(nil,1-tp,0,0,-500,e)
end
end
end
......@@ -21,6 +21,7 @@ function c888174.initial_effect(c)
Duel.RegisterEffect(e1,0)
local e2=e1:Clone()
Duel.RegisterEffect(e2,1)
c888174.burn_cts={{},{}}
end
end
function c888174.cost(e,tp,eg,ep,ev,re,r,rp,chk)
......@@ -31,35 +32,28 @@ function c888174.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
end
function c888174.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local e1=Effect.CreateEffect(c)
e1:SetLabel(0)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(1,0)
e1:SetReset(RESET_PHASE+PHASE_END+RESET_OPPO_TURN,4)
e1:SetCode(EFFECT_FLAG_EFFECT+888174)
Duel.RegisterEffect(e1,tp)
local cts=c888174.burn_cts[tp+1]
table.insert(cts,4)
DOT.DotCounter.Add(nil,1-tp,0,1000,4000,e)
end
function c888174.damcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()~=tp and Duel.GetFlagEffect(tp,888174)>0
local cts=c888174.burn_cts[tp+1]
return Duel.GetTurnPlayer()~=tp and #cts>0
end
function c888174.damop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local ct=e:GetLabel()
if(ct<4) then
ct=ct+1
e:SetLabel(ct)
c:SetTurnCounter(ct)
local n=Duel.GetFlagEffect(tp,888174)
for i=1,n do
Duel.Hint(HINT_CARD,0,888174)
Duel.Damage(1-tp,1000,REASON_EFFECT)
local cts=c888174.burn_cts[tp+1]
local new_cts={}
for _,ct in ipairs(cts) do
ct=ct-1
Duel.Hint(HINT_CARD,0,888174)
Duel.Damage(1-tp,1000,REASON_EFFECT)
if ct>0 then
table.insert(new_cts,ct)
DOT.DotCounter.Add(nil,1-tp,0,0,-1000,e)
end
if ct==4 then
else
DOT.DotCounter.Add(nil,1-tp,0,-1000,-1000,e)
end
end
c888174.burn_cts[tp+1]=new_cts
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