Commit 31ace102 authored by salix5's avatar salix5
parent 5aa0f079
...@@ -8,7 +8,7 @@ function c12644061.initial_effect(c) ...@@ -8,7 +8,7 @@ function c12644061.initial_effect(c)
--attribute --attribute
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD) e2:SetType(EFFECT_TYPE_FIELD)
e2:SetRange(LOCATION_SZONE) e2:SetRange(LOCATION_FZONE)
e2:SetTargetRange(LOCATION_MZONE+LOCATION_GRAVE,LOCATION_MZONE+LOCATION_GRAVE) e2:SetTargetRange(LOCATION_MZONE+LOCATION_GRAVE,LOCATION_MZONE+LOCATION_GRAVE)
e2:SetCode(EFFECT_CHANGE_ATTRIBUTE) e2:SetCode(EFFECT_CHANGE_ATTRIBUTE)
e2:SetTarget(aux.TargetBoolFunction(Card.IsSetCard,0x1034)) e2:SetTarget(aux.TargetBoolFunction(Card.IsSetCard,0x1034))
...@@ -18,7 +18,7 @@ function c12644061.initial_effect(c) ...@@ -18,7 +18,7 @@ function c12644061.initial_effect(c)
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_ATTACK_ANNOUNCE) e3:SetCode(EVENT_ATTACK_ANNOUNCE)
e3:SetRange(LOCATION_SZONE) e3:SetRange(LOCATION_FZONE)
e3:SetCondition(c12644061.discon) e3:SetCondition(c12644061.discon)
e3:SetOperation(c12644061.disop) e3:SetOperation(c12644061.disop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
...@@ -26,8 +26,8 @@ function c12644061.initial_effect(c) ...@@ -26,8 +26,8 @@ function c12644061.initial_effect(c)
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(12644061,0)) e4:SetDescription(aux.Stringid(12644061,0))
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e4:SetCode(EVENT_PRE_BATTLE_DAMAGE) e4:SetCode(EVENT_PRE_DAMAGE_CALCULATE)
e4:SetRange(LOCATION_SZONE) e4:SetRange(LOCATION_FZONE)
e4:SetCondition(c12644061.damcon) e4:SetCondition(c12644061.damcon)
e4:SetCost(c12644061.damcost) e4:SetCost(c12644061.damcost)
e4:SetOperation(c12644061.damop) e4:SetOperation(c12644061.damop)
...@@ -67,6 +67,15 @@ function c12644061.damcost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -67,6 +67,15 @@ function c12644061.damcost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SendtoGrave(g,REASON_COST) Duel.SendtoGrave(g,REASON_COST)
end end
function c12644061.damop(e,tp,eg,ep,ev,re,r,rp) function c12644061.damop(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PRE_BATTLE_DAMAGE)
e1:SetRange(LOCATION_FZONE)
e1:SetOperation(c12644061.dop)
c:RegisterEffect(e1,tp)
end
function c12644061.dop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChangeBattleDamage(tp,0) Duel.ChangeBattleDamage(tp,0)
end end
...@@ -3,20 +3,24 @@ function c16674846.initial_effect(c) ...@@ -3,20 +3,24 @@ function c16674846.initial_effect(c)
--no damage --no damage
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_PRE_BATTLE_DAMAGE) e1:SetCode(EVENT_PRE_DAMAGE_CALCULATE)
e1:SetCondition(c16674846.condition) e1:SetCondition(c16674846.condition)
e1:SetOperation(c16674846.operation) e1:SetOperation(c16674846.operation)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c16674846.condition(e,tp,eg,ep,ev,re,r,rp) function c16674846.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()~=tp and ep==tp return Duel.GetTurnPlayer()~=tp
end end
function c16674846.filter(c) function c16674846.filter(c)
return c:IsDefenceBelow(1500) and c:IsType(TYPE_TUNER) and c:IsRace(RACE_WARRIOR) return c:IsDefenceBelow(1500) and c:IsType(TYPE_TUNER) and c:IsRace(RACE_WARRIOR)
and c:IsAbleToHand() and not c:IsHasEffect(EFFECT_NECRO_VALLEY) and c:IsAbleToHand() and not c:IsHasEffect(EFFECT_NECRO_VALLEY)
end end
function c16674846.operation(e,tp,eg,ep,ev,re,r,rp) function c16674846.operation(e,tp,eg,ep,ev,re,r,rp)
Duel.ChangeBattleDamage(ep,0) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PRE_BATTLE_DAMAGE)
e1:SetOperation(c16674846.damop)
Duel.RegisterEffect(e1,tp)
local g=Duel.GetMatchingGroup(c16674846.filter,tp,LOCATION_GRAVE,0,nil) local g=Duel.GetMatchingGroup(c16674846.filter,tp,LOCATION_GRAVE,0,nil)
if g:GetCount()~=0 and Duel.SelectYesNo(tp,aux.Stringid(16674846,0)) then if g:GetCount()~=0 and Duel.SelectYesNo(tp,aux.Stringid(16674846,0)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
...@@ -25,3 +29,6 @@ function c16674846.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -25,3 +29,6 @@ function c16674846.operation(e,tp,eg,ep,ev,re,r,rp)
Duel.ConfirmCards(1-tp,sg) Duel.ConfirmCards(1-tp,sg)
end end
end end
function c16674846.damop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChangeBattleDamage(tp,0)
end
...@@ -3,20 +3,27 @@ function c24268052.initial_effect(c) ...@@ -3,20 +3,27 @@ function c24268052.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_PRE_BATTLE_DAMAGE) e1:SetCode(EVENT_PRE_DAMAGE_CALCULATE)
e1:SetCondition(c24268052.condition) e1:SetCondition(c24268052.condition)
e1:SetTarget(c24268052.target) e1:SetTarget(c24268052.target)
e1:SetOperation(c24268052.operation) e1:SetOperation(c24268052.operation)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c24268052.condition(e,tp,eg,ep,ev,re,r,rp) function c24268052.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()~=tp and ep==tp return Duel.GetTurnPlayer()~=tp
end end
function c24268052.target(e,tp,eg,ep,ev,re,r,rp,chk) function c24268052.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsPlayerCanDraw(tp,1) end if chk==0 then return Duel.IsPlayerCanDraw(tp,1) end
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1) Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
end end
function c24268052.operation(e,tp,eg,ep,ev,re,r,rp) function c24268052.operation(e,tp,eg,ep,ev,re,r,rp)
Duel.ChangeBattleDamage(ep,0) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PRE_BATTLE_DAMAGE)
e1:SetOperation(c24268052.damop)
Duel.RegisterEffect(e1,tp)
Duel.Draw(tp,1,REASON_EFFECT) Duel.Draw(tp,1,REASON_EFFECT)
end end
function c24268052.damop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChangeBattleDamage(tp,0)
end
...@@ -4,14 +4,29 @@ function c29389368.initial_effect(c) ...@@ -4,14 +4,29 @@ function c29389368.initial_effect(c)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCategory(CATEGORY_RECOVER) e1:SetCategory(CATEGORY_RECOVER)
e1:SetCode(EVENT_PRE_BATTLE_DAMAGE) e1:SetCode(EVENT_PRE_DAMAGE_CALCULATE)
e1:SetCondition(c29389368.condition) e1:SetCondition(c29389368.condition)
e1:SetTarget(c29389368.target) e1:SetTarget(c29389368.target)
e1:SetOperation(c29389368.activate) e1:SetOperation(c29389368.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c29389368.condition(e,tp,eg,ep,ev,re,r,rp) function c29389368.condition(e,tp,eg,ep,ev,re,r,rp)
return ep==tp and Duel.GetBattleDamage(tp)>=2000 local ar=Duel.GetAttacker()
local at=Duel.GetAttackTarget()
local v1=0
if ar:IsPosition(POS_DEFENCE) and ar:IsHasEffect(EFFECT_DEFENCE_ATTACK) then v1=ar:GetDefence()
else v1=ar:GetAttack() end
if at then
if at:IsPosition(POS_ATTACK) then
return v1-at:GetAttack()>=2000
elseif ar:IsHasEffect(EFFECT_PIERCE)
return v1-at:GetDefence()>=2000
else
return false
end
else
return v1>=2000
end
end end
function c29389368.target(e,tp,eg,ep,ev,re,r,rp,chk) function c29389368.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
......
...@@ -5,19 +5,26 @@ function c40640057.initial_effect(c) ...@@ -5,19 +5,26 @@ function c40640057.initial_effect(c)
e1:SetDescription(aux.Stringid(40640057,0)) e1:SetDescription(aux.Stringid(40640057,0))
e1:SetType(EFFECT_TYPE_QUICK_O+EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_QUICK_O+EFFECT_TYPE_FIELD)
e1:SetRange(LOCATION_HAND) e1:SetRange(LOCATION_HAND)
e1:SetCode(EVENT_PRE_BATTLE_DAMAGE) e1:SetCode(EVENT_PRE_DAMAGE_CALCULATE)
e1:SetCondition(c40640057.con) e1:SetCondition(c40640057.con)
e1:SetCost(c40640057.cost) e1:SetCost(c40640057.cost)
e1:SetOperation(c40640057.op) e1:SetOperation(c40640057.op)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c40640057.con(e,tp,eg,ep,ev,re,r,rp) function c40640057.con(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()~=tp and ep==tp return Duel.GetTurnPlayer()~=tp
end end
function c40640057.cost(e,tp,eg,ep,ev,re,r,rp,chk) function c40640057.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsDiscardable() end if chk==0 then return e:GetHandler():IsDiscardable() end
Duel.SendtoGrave(e:GetHandler(),REASON_COST+REASON_DISCARD) Duel.SendtoGrave(e:GetHandler(),REASON_COST+REASON_DISCARD)
end end
function c40640057.op(e,tp,eg,ep,ev,re,r,rp) function c40640057.op(e,tp,eg,ep,ev,re,r,rp)
Duel.ChangeBattleDamage(ep,0) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PRE_BATTLE_DAMAGE)
e1:SetOperation(c40640057.damop)
Duel.RegisterEffect(e1,tp)
end
function c40640057.damop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChangeBattleDamage(tp,0)
end end
...@@ -6,7 +6,7 @@ function c47432275.initial_effect(c) ...@@ -6,7 +6,7 @@ function c47432275.initial_effect(c)
e1:SetCategory(CATEGORY_RECOVER+CATEGORY_TOHAND) e1:SetCategory(CATEGORY_RECOVER+CATEGORY_TOHAND)
e1:SetType(EFFECT_TYPE_QUICK_O+EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_QUICK_O+EFFECT_TYPE_FIELD)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetCode(EVENT_PRE_BATTLE_DAMAGE) e1:SetCode(EVENT_PRE_DAMAGE_CALCULATE)
e1:SetCountLimit(1) e1:SetCountLimit(1)
e1:SetCondition(c47432275.con) e1:SetCondition(c47432275.con)
e1:SetTarget(c47432275.target) e1:SetTarget(c47432275.target)
...@@ -14,8 +14,7 @@ function c47432275.initial_effect(c) ...@@ -14,8 +14,7 @@ function c47432275.initial_effect(c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c47432275.con(e,tp,eg,ep,ev,re,r,rp) function c47432275.con(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() return Duel.GetAttackTarget()==e:GetHandler()
return Duel.GetAttackTarget()==c and ep==tp
end end
function c47432275.target(e,tp,eg,ep,ev,re,r,rp,chk) function c47432275.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
...@@ -26,8 +25,15 @@ function c47432275.target(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -26,8 +25,15 @@ function c47432275.target(e,tp,eg,ep,ev,re,r,rp,chk)
end end
function c47432275.op(e,tp,eg,ep,ev,re,r,rp) function c47432275.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
Duel.ChangeBattleDamage(ep,0) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PRE_BATTLE_DAMAGE)
e1:SetOperation(c47432275.damop)
Duel.RegisterEffect(e1,tp)
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.Recover(p,d,REASON_EFFECT) Duel.Recover(p,d,REASON_EFFECT)
Duel.SendtoHand(c,nil,REASON_EFFECT) Duel.SendtoHand(c,nil,REASON_EFFECT)
end end
function c47432275.damop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChangeBattleDamage(tp,0)
end
...@@ -5,7 +5,7 @@ function c60953118.initial_effect(c) ...@@ -5,7 +5,7 @@ function c60953118.initial_effect(c)
e1:SetDescription(aux.Stringid(60953118,1)) e1:SetDescription(aux.Stringid(60953118,1))
e1:SetType(EFFECT_TYPE_QUICK_O+EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_QUICK_O+EFFECT_TYPE_FIELD)
e1:SetRange(LOCATION_HAND) e1:SetRange(LOCATION_HAND)
e1:SetCode(EVENT_PRE_BATTLE_DAMAGE) e1:SetCode(EVENT_PRE_DAMAGE_CALCULATE)
e1:SetCondition(c60953118.damcon) e1:SetCondition(c60953118.damcon)
e1:SetCost(c60953118.damcost) e1:SetCost(c60953118.damcost)
e1:SetOperation(c60953118.damop) e1:SetOperation(c60953118.damop)
...@@ -27,14 +27,21 @@ function c60953118.initial_effect(c) ...@@ -27,14 +27,21 @@ function c60953118.initial_effect(c)
c:RegisterEffect(e4) c:RegisterEffect(e4)
end end
function c60953118.damcon(e,tp,eg,ep,ev,re,r,rp) function c60953118.damcon(e,tp,eg,ep,ev,re,r,rp)
return ep==tp return true
end end
function c60953118.damcost(e,tp,eg,ep,ev,re,r,rp,chk) function c60953118.damcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToGraveAsCost() end if chk==0 then return e:GetHandler():IsAbleToGraveAsCost() end
Duel.SendtoGrave(e:GetHandler(),REASON_COST) Duel.SendtoGrave(e:GetHandler(),REASON_COST)
end end
function c60953118.damop(e,tp,eg,ep,ev,re,r,rp) function c60953118.damop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChangeBattleDamage(ep,0) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PRE_BATTLE_DAMAGE)
e1:SetOperation(c60953118.dop)
Duel.RegisterEffect(e1,tp)
end
function c60953118.dop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChangeBattleDamage(tp,0)
end end
function c60953118.cointg(e,tp,eg,ep,ev,re,r,rp,chk) function c60953118.cointg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
......
...@@ -6,7 +6,7 @@ function c99733359.initial_effect(c) ...@@ -6,7 +6,7 @@ function c99733359.initial_effect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_QUICK_O+EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_QUICK_O+EFFECT_TYPE_FIELD)
e1:SetRange(LOCATION_GRAVE) e1:SetRange(LOCATION_GRAVE)
e1:SetCode(EVENT_PRE_BATTLE_DAMAGE) e1:SetCode(EVENT_PRE_DAMAGE_CALCULATE)
e1:SetCountLimit(1,99733359) e1:SetCountLimit(1,99733359)
e1:SetCondition(c99733359.condition) e1:SetCondition(c99733359.condition)
e1:SetCost(c99733359.cost) e1:SetCost(c99733359.cost)
...@@ -36,6 +36,13 @@ function c99733359.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -36,6 +36,13 @@ function c99733359.operation(e,tp,eg,ep,ev,re,r,rp)
e1:SetReset(RESET_EVENT+0x47e0000) e1:SetReset(RESET_EVENT+0x47e0000)
e1:SetValue(LOCATION_REMOVED) e1:SetValue(LOCATION_REMOVED)
c:RegisterEffect(e1,true) c:RegisterEffect(e1,true)
Duel.ChangeBattleDamage(tp,0) local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_PRE_BATTLE_DAMAGE)
e2:SetOperation(c99733359.damop)
Duel.RegisterEffect(e2,tp)
end end
end end
function c99733359.damop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChangeBattleDamage(tp,0)
end
...@@ -228,7 +228,7 @@ EFFECT_TYPE_TRIGGER_O =0x0080 --诱发选发效果 ...@@ -228,7 +228,7 @@ EFFECT_TYPE_TRIGGER_O =0x0080 --诱发选发效果
EFFECT_TYPE_QUICK_O =0x0100 --诱发即时效果 EFFECT_TYPE_QUICK_O =0x0100 --诱发即时效果
EFFECT_TYPE_TRIGGER_F =0x0200 --诱发必发效果 EFFECT_TYPE_TRIGGER_F =0x0200 --诱发必发效果
EFFECT_TYPE_QUICK_F =0x0400 --诱发即时必发效果(熊猫龙等) EFFECT_TYPE_QUICK_F =0x0400 --诱发即时必发效果(熊猫龙等)
EFFECT_TYPE_CONTINUOUS =0x0800 --不入连锁的发效果 EFFECT_TYPE_CONTINUOUS =0x0800 --不入连锁的发效果
--========== Flags ========== --效果的特殊性质 --========== Flags ========== --效果的特殊性质
EFFECT_FLAG_INITIAL =0x0001 --可以发动的 EFFECT_FLAG_INITIAL =0x0001 --可以发动的
EFFECT_FLAG_FUNC_VALUE =0x0002 --此效果的Value属性是函数 EFFECT_FLAG_FUNC_VALUE =0x0002 --此效果的Value属性是函数
...@@ -510,7 +510,7 @@ EVENT_BATTLE_START =1132 --伤害步骤开始时(反转前) ...@@ -510,7 +510,7 @@ EVENT_BATTLE_START =1132 --伤害步骤开始时(反转前)
EVENT_BATTLE_CONFIRM =1133 --伤害计算前(反转後) EVENT_BATTLE_CONFIRM =1133 --伤害计算前(反转後)
EVENT_PRE_DAMAGE_CALCULATE =1134 --伤害计算时(羽斬) EVENT_PRE_DAMAGE_CALCULATE =1134 --伤害计算时(羽斬)
EVENT_DAMAGE_CALCULATING =1135 --伤害计算(摩天樓) EVENT_DAMAGE_CALCULATING =1135 --伤害计算(摩天樓)
EVENT_PRE_BATTLE_DAMAGE =1136 --即将产生战斗伤害 EVENT_PRE_BATTLE_DAMAGE =1136 --即将产生战斗伤害(EFFECT_TYPE_CONTINUOUS)
EVENT_BATTLE_END =1137 --(N/A) EVENT_BATTLE_END =1137 --(N/A)
EVENT_BATTLED =1138 --伤害计算后(异女、同反转效果时点) EVENT_BATTLED =1138 --伤害计算后(异女、同反转效果时点)
EVENT_BATTLE_DESTROYING =1139 --战斗破坏送去墓地时(BF-苍炎之修罗) EVENT_BATTLE_DESTROYING =1139 --战斗破坏送去墓地时(BF-苍炎之修罗)
......
...@@ -1086,33 +1086,34 @@ function Auxiliary.disfilter1(c) ...@@ -1086,33 +1086,34 @@ function Auxiliary.disfilter1(c)
return c:IsFaceup() and not c:IsDisabled() return c:IsFaceup() and not c:IsDisabled()
and (c:IsType(TYPE_SPELL+TYPE_TRAP+TYPE_EFFECT) or bit.band(c:GetOriginalType(),TYPE_EFFECT)>0) and (c:IsType(TYPE_SPELL+TYPE_TRAP+TYPE_EFFECT) or bit.band(c:GetOriginalType(),TYPE_EFFECT)>0)
end end
--reset op of chain attack
function Auxiliary.atrst(e,tp,eg,ep,ev,re,r,rp) function Auxiliary.atrst(e,tp,eg,ep,ev,re,r,rp)
--reset of chain attack
local e1=e:GetLabelObject() local e1=e:GetLabelObject()
if eg:GetFirst()~=e1:GetHandler() then e1:Reset() end if eg:GetFirst()~=e1:GetHandler() then e1:Reset() end
end end
--condition of EVENT_BATTLE_DESTROYING
function Auxiliary.bdcon(e,tp,eg,ep,ev,re,r,rp) function Auxiliary.bdcon(e,tp,eg,ep,ev,re,r,rp)
--condition of EVENT_BATTLE_DESTROYING
local c=e:GetHandler() local c=e:GetHandler()
return c:IsRelateToBattle() return c:IsRelateToBattle()
end end
--condition of EVENT_BATTLE_DESTROYING + opponent monster
function Auxiliary.bdocon(e,tp,eg,ep,ev,re,r,rp) function Auxiliary.bdocon(e,tp,eg,ep,ev,re,r,rp)
--condition of EVENT_BATTLE_DESTROYING + opponent monster
local c=e:GetHandler() local c=e:GetHandler()
return c:IsRelateToBattle() and c:IsStatus(STATUS_OPPO_BATTLE) return c:IsRelateToBattle() and c:IsStatus(STATUS_OPPO_BATTLE)
end end
--condition of EVENT_BATTLE_DESTROYING + to_grave
function Auxiliary.bdgcon(e,tp,eg,ep,ev,re,r,rp) function Auxiliary.bdgcon(e,tp,eg,ep,ev,re,r,rp)
--condition of EVENT_BATTLE_DESTROYING + to_grave
local c=e:GetHandler() local c=e:GetHandler()
local bc=c:GetBattleTarget() local bc=c:GetBattleTarget()
return c:IsRelateToBattle() and bc:IsLocation(LOCATION_GRAVE) and bc:IsType(TYPE_MONSTER) return c:IsRelateToBattle() and bc:IsLocation(LOCATION_GRAVE) and bc:IsType(TYPE_MONSTER)
end end
--condition of EVENT_BATTLE_DESTROYING + opponent monster + to_grave
function Auxiliary.bdogcon(e,tp,eg,ep,ev,re,r,rp) function Auxiliary.bdogcon(e,tp,eg,ep,ev,re,r,rp)
--condition of EVENT_BATTLE_DESTROYING + opponent monster + to_grave
local c=e:GetHandler() local c=e:GetHandler()
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
--flag effect for spell counter
function Auxiliary.chainreg(e,tp,eg,ep,ev,re,r,rp) function Auxiliary.chainreg(e,tp,eg,ep,ev,re,r,rp)
if e:GetHandler():GetFlagEffect(1)==0 then if e:GetHandler():GetFlagEffect(1)==0 then
e:GetHandler():RegisterFlagEffect(1,RESET_EVENT+0x1fc0000+RESET_CHAIN,0,1) e:GetHandler():RegisterFlagEffect(1,RESET_EVENT+0x1fc0000+RESET_CHAIN,0,1)
......
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