Commit d60db110 authored by DailyShana's avatar DailyShana Committed by GitHub

add EFFECT_CHANGE_BATTLE_DAMAGE (#1297)

parent b9595970
...@@ -40,17 +40,9 @@ function c13611090.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -40,17 +40,9 @@ function c13611090.activate(e,tp,eg,ep,ev,re,r,rp)
e2:SetValue(tc:GetDefense()*2) e2:SetValue(tc:GetDefense()*2)
tc:RegisterEffect(e2) tc:RegisterEffect(e2)
local e3=Effect.CreateEffect(e:GetHandler()) local e3=Effect.CreateEffect(e:GetHandler())
e3:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_SINGLE) e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EVENT_PRE_BATTLE_DAMAGE) e3:SetCode(EFFECT_CHANGE_BATTLE_DAMAGE)
e3:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END) e3:SetValue(aux.ChangeBattleDamage(1,HALF_DAMAGE))
e3:SetCondition(c13611090.rdcon)
e3:SetOperation(c13611090.rdop)
tc:RegisterEffect(e3) tc:RegisterEffect(e3)
end end
end end
function c13611090.rdcon(e,tp,eg,ep,ev,re,r,rp)
return ep~=tp
end
function c13611090.rdop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChangeBattleDamage(ep,math.floor(ev/2))
end
...@@ -26,10 +26,10 @@ function c16178681.initial_effect(c) ...@@ -26,10 +26,10 @@ function c16178681.initial_effect(c)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--double --double
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetCode(EVENT_PRE_BATTLE_DAMAGE) e4:SetCode(EFFECT_CHANGE_BATTLE_DAMAGE)
e4:SetCondition(c16178681.damcon) e4:SetCondition(c16178681.damcon)
e4:SetOperation(c16178681.damop) e4:SetValue(aux.ChangeBattleDamage(1,DOUBLE_DAMAGE))
c:RegisterEffect(e4) c:RegisterEffect(e4)
end end
function c16178681.rdcon(e,tp,eg,ep,ev,re,r,rp) function c16178681.rdcon(e,tp,eg,ep,ev,re,r,rp)
...@@ -64,9 +64,6 @@ function c16178681.thop(e,tp,eg,ep,ev,re,r,rp) ...@@ -64,9 +64,6 @@ function c16178681.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.ConfirmCards(1-tp,g) Duel.ConfirmCards(1-tp,g)
end end
end end
function c16178681.damcon(e,tp,eg,ep,ev,re,r,rp) function c16178681.damcon(e)
return ep~=tp and e:GetHandler():GetBattleTarget()~=nil return e:GetHandler():GetBattleTarget()~=nil
end
function c16178681.damop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChangeBattleDamage(ep,ev*2)
end end
...@@ -12,12 +12,12 @@ function c20281581.initial_effect(c) ...@@ -12,12 +12,12 @@ function c20281581.initial_effect(c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--damage reduce --damage reduce
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(20281581,0)) e2:SetType(EFFECT_TYPE_FIELD)
e2:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD) e2:SetCode(EFFECT_CHANGE_BATTLE_DAMAGE)
e2:SetRange(LOCATION_PZONE) e2:SetRange(LOCATION_PZONE)
e2:SetCode(EVENT_PRE_BATTLE_DAMAGE) e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetCondition(c20281581.rdcon) e2:SetTargetRange(1,0)
e2:SetOperation(c20281581.rdop) e2:SetValue(HALF_DAMAGE)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--flip --flip
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
...@@ -42,12 +42,6 @@ end ...@@ -42,12 +42,6 @@ end
function c20281581.descon(e) function c20281581.descon(e)
return not Duel.IsExistingMatchingCard(nil,e:GetHandlerPlayer(),LOCATION_PZONE,0,1,e:GetHandler()) return not Duel.IsExistingMatchingCard(nil,e:GetHandlerPlayer(),LOCATION_PZONE,0,1,e:GetHandler())
end end
function c20281581.rdcon(e,tp,eg,ep,ev,re,r,rp)
return ep==tp
end
function c20281581.rdop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChangeBattleDamage(tp,math.floor(ev/2))
end
function c20281581.filter(c) function c20281581.filter(c)
return c:IsFacedown() return c:IsFacedown()
end end
......
...@@ -39,19 +39,18 @@ function c20858318.op(e,tp,eg,ep,ev,re,r,rp) ...@@ -39,19 +39,18 @@ function c20858318.op(e,tp,eg,ep,ev,re,r,rp)
e1:SetReset(RESET_PHASE+PHASE_END) e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
local e2=Effect.CreateEffect(e:GetHandler()) local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD) e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EVENT_PRE_BATTLE_DAMAGE) e2:SetCode(EFFECT_CHANGE_BATTLE_DAMAGE)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetTargetRange(0,1)
e2:SetCondition(c20858318.rdcon) e2:SetCondition(c20858318.rdcon)
e2:SetOperation(c20858318.rdop) e2:SetValue(400)
e2:SetReset(RESET_PHASE+PHASE_END) e2:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e2,tp) Duel.RegisterEffect(e2,tp)
end end
function c20858318.affected(e,c) function c20858318.affected(e,c)
return c:GetFlagEffect(20858318)~=0 return c:GetFlagEffect(20858318)~=0
end end
function c20858318.rdcon(e,tp,eg,ep,ev,re,r,rp) function c20858318.rdcon(e)
return eg:GetFirst():GetFlagEffect(20858318)~=0 return Duel.GetAttacker():GetFlagEffect(20858318)~=0 and Duel.GetAttackTarget()==nil
end
function c20858318.rdop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChangeBattleDamage(ep,400)
end end
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
function c23187256.initial_effect(c) function c23187256.initial_effect(c)
--xyz summon --xyz summon
c:EnableReviveLimit() c:EnableReviveLimit()
aux.AddXyzProcedureLevelFree(c,c23187256.mfilter,c23187256.xyzcheck,2,99) aux.AddXyzProcedureLevelFree(c,c23187256.mfilter,c23187256.xyzcheck,2,99)
--spsummon --spsummon
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(23187256,0)) e2:SetDescription(aux.Stringid(23187256,0))
...@@ -78,10 +78,10 @@ function c23187256.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -78,10 +78,10 @@ function c23187256.operation(e,tp,eg,ep,ev,re,r,rp)
end end
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD) e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_CHANGE_DAMAGE) e3:SetCode(EFFECT_CHANGE_BATTLE_DAMAGE)
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e3:SetTargetRange(0,1) e3:SetTargetRange(0,1)
e3:SetValue(c23187256.val) e3:SetValue(HALF_DAMAGE)
e3:SetReset(RESET_PHASE+PHASE_END) e3:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e3,tp) Duel.RegisterEffect(e3,tp)
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
...@@ -92,11 +92,6 @@ function c23187256.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -92,11 +92,6 @@ function c23187256.operation(e,tp,eg,ep,ev,re,r,rp)
e4:SetTargetRange(1,0) e4:SetTargetRange(1,0)
Duel.RegisterEffect(e4,tp) Duel.RegisterEffect(e4,tp)
end end
function c23187256.val(e,re,dam,r,rp,rc)
if bit.band(r,REASON_BATTLE)~=0 then
return math.floor(dam/2)
else return dam end
end
function c23187256.indfilter(c) function c23187256.indfilter(c)
return c:IsFaceup() and c:IsType(TYPE_XYZ) and c:IsSetCard(0x48) return c:IsFaceup() and c:IsType(TYPE_XYZ) and c:IsSetCard(0x48)
end end
......
...@@ -14,10 +14,14 @@ function c23792058.initial_effect(c) ...@@ -14,10 +14,14 @@ function c23792058.initial_effect(c)
e1:SetOperation(c23792058.tdop) e1:SetOperation(c23792058.tdop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--damage --damage
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetCode(EFFECT_BOTH_BATTLE_DAMAGE)
c:RegisterEffect(e0)
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_SINGLE) e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EVENT_PRE_BATTLE_DAMAGE) e2:SetCode(EFFECT_CHANGE_BATTLE_DAMAGE)
e2:SetOperation(c23792058.damop) e2:SetValue(HALF_DAMAGE)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--spsummon --spsummon
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
...@@ -47,10 +51,6 @@ function c23792058.tdop(e,tp,eg,ep,ev,re,r,rp) ...@@ -47,10 +51,6 @@ function c23792058.tdop(e,tp,eg,ep,ev,re,r,rp)
Duel.SendtoDeck(tc,nil,2,REASON_EFFECT) Duel.SendtoDeck(tc,nil,2,REASON_EFFECT)
end end
end end
function c23792058.damop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChangeBattleDamage(ep,math.floor(ev/2),false)
Duel.ChangeBattleDamage(1-ep,math.floor(ev/2),false)
end
function c23792058.spcon(e,tp,eg,ep,ev,re,r,rp) function c23792058.spcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsPreviousLocation(LOCATION_PZONE) return e:GetHandler():IsPreviousLocation(LOCATION_PZONE)
end end
......
...@@ -41,21 +41,14 @@ function c27352108.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -41,21 +41,14 @@ function c27352108.spop(e,tp,eg,ep,ev,re,r,rp)
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)
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_SINGLE) e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EVENT_PRE_BATTLE_DAMAGE) e2:SetCode(EFFECT_CHANGE_BATTLE_DAMAGE)
e2:SetCondition(c27352108.rdcon) e2:SetValue(aux.ChangeBattleDamage(0,HALF_DAMAGE))
e2:SetOperation(c27352108.rdop)
e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END) e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
c:RegisterEffect(e2) c:RegisterEffect(e2)
Duel.SpecialSummonComplete() Duel.SpecialSummonComplete()
end end
end end
function c27352108.rdcon(e,tp,eg,ep,ev,re,r,rp)
return ep==tp
end
function c27352108.rdop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChangeBattleDamage(ep,math.floor(ev/2))
end
function c27352108.thcon(e,tp,eg,ep,ev,re,r,rp) function c27352108.thcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
return c:IsLocation(LOCATION_GRAVE) and r==REASON_LINK return c:IsLocation(LOCATION_GRAVE) and r==REASON_LINK
......
...@@ -7,16 +7,28 @@ function c28120197.initial_effect(c) ...@@ -7,16 +7,28 @@ function c28120197.initial_effect(c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--damage amp --damage amp
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD) e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_CHANGE_BATTLE_DAMAGE)
e2:SetRange(LOCATION_FZONE) e2:SetRange(LOCATION_FZONE)
e2:SetCode(EVENT_PRE_BATTLE_DAMAGE) e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetCondition(c28120197.dcon) e2:SetTargetRange(1,0)
e2:SetOperation(c28120197.dop) e2:SetCondition(c28120197.dcon1)
e2:SetValue(DOUBLE_DAMAGE)
c:RegisterEffect(e2) c:RegisterEffect(e2)
local e3=e2:Clone()
e3:SetTargetRange(0,1)
e3:SetCondition(c28120197.dcon2)
c:RegisterEffect(e3)
end end
function c28120197.dcon(e,tp,eg,ep,ev,re,r,rp) function c28120197.dcon1(e)
return eg:GetFirst():IsDefensePos() and eg:GetFirst():IsRace(RACE_ROCK) local a=Duel.GetAttacker()
local d=Duel.GetAttackTarget()
return a:GetControler()==e:GetHandlerPlayer()
and d and d:IsDefensePos() and d:IsRace(RACE_ROCK)
end end
function c28120197.dop(e,tp,eg,ep,ev,re,r,rp) function c28120197.dcon2(e)
Duel.ChangeBattleDamage(ep,ev*2) local a=Duel.GetAttacker()
local d=Duel.GetAttackTarget()
return a:GetControler()==1-e:GetHandlerPlayer()
and d and d:IsDefensePos() and d:IsRace(RACE_ROCK)
end end
...@@ -34,9 +34,11 @@ function c28427869.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -34,9 +34,11 @@ function c28427869.spop(e,tp,eg,ep,ev,re,r,rp)
if not c:IsRelateToEffect(e) then return end if not c:IsRelateToEffect(e) then return end
if Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)~=0 then if Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)~=0 then
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_PRE_BATTLE_DAMAGE) e1:SetCode(EFFECT_CHANGE_BATTLE_DAMAGE)
e1:SetOperation(c28427869.halfop) e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(1,0)
e1:SetValue(HALF_DAMAGE)
e1:SetReset(RESET_PHASE+PHASE_DAMAGE) e1:SetReset(RESET_PHASE+PHASE_DAMAGE)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
...@@ -48,9 +50,6 @@ function c28427869.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -48,9 +50,6 @@ function c28427869.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterEffect(e2,tp) Duel.RegisterEffect(e2,tp)
end end
end end
function c28427869.halfop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChangeBattleDamage(tp,math.floor(ev/2))
end
function c28427869.skipop(e,tp,eg,ep,ev,re,r,rp) function c28427869.skipop(e,tp,eg,ep,ev,re,r,rp)
Duel.SkipPhase(1-tp,PHASE_BATTLE,RESET_PHASE+PHASE_BATTLE_STEP,1) Duel.SkipPhase(1-tp,PHASE_BATTLE,RESET_PHASE+PHASE_BATTLE_STEP,1)
end end
......
...@@ -18,10 +18,9 @@ function c2948263.initial_effect(c) ...@@ -18,10 +18,9 @@ function c2948263.initial_effect(c)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--reduce --reduce
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EVENT_PRE_BATTLE_DAMAGE) e3:SetCode(EFFECT_CHANGE_BATTLE_DAMAGE)
e3:SetCondition(c2948263.rdcon) e3:SetValue(aux.ChangeBattleDamage(1,HALF_DAMAGE))
e3:SetOperation(c2948263.rdop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--disable --disable
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
...@@ -60,12 +59,6 @@ function c2948263.spop(e,tp,eg,ep,ev,re,r,rp,c) ...@@ -60,12 +59,6 @@ function c2948263.spop(e,tp,eg,ep,ev,re,r,rp,c)
e1:SetReset(RESET_EVENT+0xff0000) e1:SetReset(RESET_EVENT+0xff0000)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c2948263.rdcon(e,tp,eg,ep,ev,re,r,rp)
return ep~=tp
end
function c2948263.rdop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChangeBattleDamage(ep,math.floor(ev/2))
end
function c2948263.discon(e,tp,eg,ep,ev,re,r,rp) function c2948263.discon(e,tp,eg,ep,ev,re,r,rp)
local tgp,loc=Duel.GetChainInfo(ev,CHAININFO_TRIGGERING_CONTROLER,CHAININFO_TRIGGERING_LOCATION) local tgp,loc=Duel.GetChainInfo(ev,CHAININFO_TRIGGERING_CONTROLER,CHAININFO_TRIGGERING_LOCATION)
return not e:GetHandler():IsStatus(STATUS_BATTLE_DESTROYED) and Duel.IsChainDisablable(ev) return not e:GetHandler():IsStatus(STATUS_BATTLE_DESTROYED) and Duel.IsChainDisablable(ev)
......
...@@ -16,11 +16,12 @@ function c31444249.initial_effect(c) ...@@ -16,11 +16,12 @@ function c31444249.initial_effect(c)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--reduce battle damage --reduce battle damage
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EVENT_PRE_BATTLE_DAMAGE) e3:SetCode(EFFECT_CHANGE_BATTLE_DAMAGE)
e3:SetRange(LOCATION_SZONE) e3:SetRange(LOCATION_SZONE)
e3:SetCondition(c31444249.rdcon) e3:SetTargetRange(LOCATION_MZONE,0)
e3:SetOperation(c31444249.rdop) e3:SetTarget(c31444249.rdtg)
e3:SetValue(aux.ChangeBattleDamage(1,HALF_DAMAGE))
c:RegisterEffect(e3) c:RegisterEffect(e3)
--spsummon --spsummon
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
...@@ -35,12 +36,8 @@ end ...@@ -35,12 +36,8 @@ end
function c31444249.lvtg(e,c) function c31444249.lvtg(e,c)
return c:IsSetCard(0xbb) and c:GetOriginalLevel()>=2 return c:IsSetCard(0xbb) and c:GetOriginalLevel()>=2
end end
function c31444249.rdcon(e,tp,eg,ep,ev,re,r,rp) function c31444249.rdtg(e,c)
local ac=eg:GetFirst() return c:IsSetCard(0xbb) and c:GetOriginalLevel()>=2
return ep~=tp and ac:IsControler(tp) and ac:IsSetCard(0xbb) and ac:GetOriginalLevel()>=2 and not ac:IsImmuneToEffect(e)
end
function c31444249.rdop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChangeBattleDamage(ep,math.floor(ev/2))
end end
function c31444249.spcost(e,tp,eg,ep,ev,re,r,rp,chk) function c31444249.spcost(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
......
...@@ -25,10 +25,10 @@ function c31801517.initial_effect(c) ...@@ -25,10 +25,10 @@ function c31801517.initial_effect(c)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--half damage --half damage
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EVENT_PRE_BATTLE_DAMAGE) e3:SetCode(EFFECT_CHANGE_BATTLE_DAMAGE)
e3:SetCondition(c31801517.rdcon) e3:SetCondition(c31801517.rdcon)
e3:SetOperation(c31801517.rdop) e3:SetValue(aux.ChangeBattleDamage(1,HALF_DAMAGE))
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
c31801517.xyz_number=62 c31801517.xyz_number=62
...@@ -98,9 +98,6 @@ function c31801517.spop2(e,tp,eg,ep,ev,re,r,rp) ...@@ -98,9 +98,6 @@ function c31801517.spop2(e,tp,eg,ep,ev,re,r,rp)
Duel.SpecialSummonComplete() Duel.SpecialSummonComplete()
end end
end end
function c31801517.rdcon(e,tp,eg,ep,ev,re,r,rp) function c31801517.rdcon(e)
return ep~=tp and not e:GetHandler():GetOverlayGroup():IsExists(Card.IsCode,1,nil,93717133) return not e:GetHandler():GetOverlayGroup():IsExists(Card.IsCode,1,nil,93717133)
end
function c31801517.rdop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChangeBattleDamage(ep,math.floor(ev/2))
end end
...@@ -2,16 +2,13 @@ ...@@ -2,16 +2,13 @@
function c31812496.initial_effect(c) function c31812496.initial_effect(c)
--deepen damage --deepen damage
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EVENT_PRE_BATTLE_DAMAGE) e1:SetCode(EFFECT_CHANGE_BATTLE_DAMAGE)
e1:SetCondition(c31812496.dcon) e1:SetCondition(c31812496.dcon)
e1:SetOperation(c31812496.dop) e1:SetValue(aux.ChangeBattleDamage(1,DOUBLE_DAMAGE))
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c31812496.dcon(e,tp,eg,ep,ev,re,r,rp) function c31812496.dcon(e)
local c=e:GetHandler() local c=e:GetHandler()
return ep~=tp and Duel.GetAttackTarget()==c return Duel.GetAttackTarget()==c
end
function c31812496.dop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChangeBattleDamage(ep,ev*2)
end end
...@@ -5,11 +5,12 @@ function c32617464.initial_effect(c) ...@@ -5,11 +5,12 @@ function c32617464.initial_effect(c)
c:EnableReviveLimit() c:EnableReviveLimit()
--double damage --double damage
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_PRE_BATTLE_DAMAGE) e1:SetCode(EFFECT_CHANGE_BATTLE_DAMAGE)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetCondition(c32617464.damcon) e1:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE)
e1:SetOperation(c32617464.damop) e1:SetTarget(c32617464.damtg)
e1:SetValue(aux.ChangeBattleDamage(1,DOUBLE_DAMAGE))
c:RegisterEffect(e1) c:RegisterEffect(e1)
--remove --remove
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
...@@ -40,13 +41,9 @@ end ...@@ -40,13 +41,9 @@ end
function c32617464.matfilter(c) function c32617464.matfilter(c)
return not c:IsLinkType(TYPE_TOKEN) return not c:IsLinkType(TYPE_TOKEN)
end end
function c32617464.damcon(e,tp,eg,ep,ev,re,r,rp) function c32617464.damtg(e,c)
local lg=e:GetHandler():GetMutualLinkedGroup() local lg=e:GetHandler():GetMutualLinkedGroup()
local tc=eg:GetFirst() return lg:IsContains(c) and c:GetBattleTarget()~=nil and c:GetBattleTarget():GetControler()==1-e:GetHandlerPlayer()
return ep~=tp and lg:IsContains(tc) and tc:GetBattleTarget()~=nil
end
function c32617464.damop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChangeBattleDamage(ep,ev*2)
end end
function c32617464.rmcon(e,tp,eg,ep,ev,re,r,rp) function c32617464.rmcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetMutualLinkedGroupCount()>=2 return e:GetHandler():GetMutualLinkedGroupCount()>=2
......
...@@ -15,11 +15,10 @@ function c32933942.initial_effect(c) ...@@ -15,11 +15,10 @@ function c32933942.initial_effect(c)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--damage reduce --damage reduce
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD) e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetRange(LOCATION_MZONE) e3:SetCode(EFFECT_CHANGE_BATTLE_DAMAGE)
e3:SetCode(EVENT_PRE_BATTLE_DAMAGE)
e3:SetCondition(c32933942.rdcon) e3:SetCondition(c32933942.rdcon)
e3:SetOperation(c32933942.rdop) e3:SetValue(aux.ChangeBattleDamage(1,HALF_DAMAGE))
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c32933942.repcon(e) function c32933942.repcon(e)
...@@ -36,11 +35,9 @@ function c32933942.repop(e,tp,eg,ep,ev,re,r,rp) ...@@ -36,11 +35,9 @@ function c32933942.repop(e,tp,eg,ep,ev,re,r,rp)
e1:SetValue(TYPE_SPELL+TYPE_CONTINUOUS) e1:SetValue(TYPE_SPELL+TYPE_CONTINUOUS)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c32933942.rdcon(e,tp,eg,ep,ev,re,r,rp) function c32933942.rdcon(e)
local c=e:GetHandler() local c=e:GetHandler()
return ep~=tp and c==Duel.GetAttacker() and Duel.GetAttackTarget()==nil local tp=e:GetHandlerPlayer()
return Duel.GetAttackTarget()==nil
and c:GetEffectCount(EFFECT_DIRECT_ATTACK)<2 and Duel.GetFieldGroupCount(tp,0,LOCATION_MZONE)>0 and c:GetEffectCount(EFFECT_DIRECT_ATTACK)<2 and Duel.GetFieldGroupCount(tp,0,LOCATION_MZONE)>0
end end
function c32933942.rdop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChangeBattleDamage(ep,math.floor(ev/2))
end
...@@ -27,11 +27,10 @@ function c35884610.initial_effect(c) ...@@ -27,11 +27,10 @@ function c35884610.initial_effect(c)
c:RegisterEffect(e4) c:RegisterEffect(e4)
--damage double --damage double
local e5=Effect.CreateEffect(c) local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e5:SetType(EFFECT_TYPE_EQUIP)
e5:SetRange(LOCATION_SZONE) e5:SetCode(EFFECT_CHANGE_BATTLE_DAMAGE)
e5:SetCode(EVENT_PRE_BATTLE_DAMAGE)
e5:SetCondition(c35884610.damcon) e5:SetCondition(c35884610.damcon)
e5:SetOperation(c35884610.damop) e5:SetValue(aux.ChangeBattleDamage(1,DOUBLE_DAMAGE))
c:RegisterEffect(e5) c:RegisterEffect(e5)
--chain atk --chain atk
local e6=Effect.CreateEffect(c) local e6=Effect.CreateEffect(c)
...@@ -84,11 +83,8 @@ function c35884610.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -84,11 +83,8 @@ function c35884610.operation(e,tp,eg,ep,ev,re,r,rp)
Duel.Equip(tp,e:GetHandler(),tc) Duel.Equip(tp,e:GetHandler(),tc)
end end
end end
function c35884610.damcon(e,tp,eg,ep,ev,re,r,rp) function c35884610.damcon(e)
return eg:GetFirst()==e:GetHandler():GetEquipTarget() and ep~=tp and eg:GetFirst():GetBattleTarget()~=nil return e:GetHandler():GetEquipTarget():GetBattleTarget()~=nil
end
function c35884610.damop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChangeBattleDamage(ep,ev*2)
end end
function c35884610.atcon(e,tp,eg,ep,ev,re,r,rp) function c35884610.atcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler():GetEquipTarget() local c=e:GetHandler():GetEquipTarget()
......
...@@ -36,18 +36,10 @@ function c36076683.atkop(e,tp,eg,ep,ev,re,r,rp) ...@@ -36,18 +36,10 @@ function c36076683.atkop(e,tp,eg,ep,ev,re,r,rp)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE+RESET_PHASE+PHASE_END+RESET_OPPO_TURN) e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE+RESET_PHASE+PHASE_END+RESET_OPPO_TURN)
c:RegisterEffect(e1) c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD) e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_CHANGE_DAMAGE) e2:SetCode(EFFECT_CHANGE_BATTLE_DAMAGE)
e2:SetRange(LOCATION_MZONE) e2:SetValue(aux.ChangeBattleDamage(1,HALF_DAMAGE))
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetTargetRange(0,1)
e2:SetValue(c36076683.damval)
e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE+RESET_PHASE+PHASE_END) e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE+RESET_PHASE+PHASE_END)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
end end
function c36076683.damval(e,re,dam,r,rp,rc)
if bit.band(r,REASON_BATTLE)~=0 and rc==e:GetHandler() then
return math.floor(dam/2)
else return dam end
end
...@@ -20,11 +20,10 @@ function c37083210.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -20,11 +20,10 @@ function c37083210.activate(e,tp,eg,ep,ev,re,r,rp)
local at=Duel.GetAttackTarget() local at=Duel.GetAttackTarget()
if at:IsFaceup() and at:IsRelateToBattle() then if at:IsFaceup() and at:IsRelateToBattle() then
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetRange(LOCATION_MZONE) e1:SetCode(EFFECT_CHANGE_BATTLE_DAMAGE)
e1:SetCode(EVENT_PRE_BATTLE_DAMAGE)
e1:SetCondition(c37083210.dcon) e1:SetCondition(c37083210.dcon)
e1:SetOperation(c37083210.dop) e1:SetValue(aux.ChangeBattleDamage(1,DOUBLE_DAMAGE))
e1:SetReset(RESET_PHASE+PHASE_DAMAGE) e1:SetReset(RESET_PHASE+PHASE_DAMAGE)
at:RegisterEffect(e1) at:RegisterEffect(e1)
local e2=Effect.CreateEffect(e:GetHandler()) local e2=Effect.CreateEffect(e:GetHandler())
...@@ -35,12 +34,9 @@ function c37083210.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -35,12 +34,9 @@ function c37083210.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterEffect(e2,tp) Duel.RegisterEffect(e2,tp)
end end
end end
function c37083210.dcon(e,tp,eg,ep,ev,re,r,rp) function c37083210.dcon(e)
local c=e:GetHandler() local c=e:GetHandler()
return ep~=tp and Duel.GetAttackTarget()==c return Duel.GetAttackTarget()==c
end
function c37083210.dop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChangeBattleDamage(ep,ev*2)
end end
function c37083210.desop(e,tp,eg,ep,ev,re,r,rp) function c37083210.desop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetAttacker():IsRelateToBattle() then if Duel.GetAttacker():IsRelateToBattle() then
......
...@@ -25,12 +25,10 @@ function c37364101.initial_effect(c) ...@@ -25,12 +25,10 @@ function c37364101.initial_effect(c)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--damage change --damage change
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD) e4:SetType(EFFECT_TYPE_EQUIP)
e4:SetCode(EFFECT_CHANGE_DAMAGE) e4:SetCode(EFFECT_CHANGE_BATTLE_DAMAGE)
e4:SetRange(LOCATION_SZONE) e4:SetCondition(c37364101.damcon)
e4:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e4:SetValue(aux.ChangeBattleDamage(1,DOUBLE_DAMAGE))
e4:SetTargetRange(0,1)
e4:SetValue(c37364101.damval)
c:RegisterEffect(e4) c:RegisterEffect(e4)
-- --
local e5=Effect.CreateEffect(c) local e5=Effect.CreateEffect(c)
...@@ -77,10 +75,8 @@ end ...@@ -77,10 +75,8 @@ end
function c37364101.atkval(e,c) function c37364101.atkval(e,c)
return Duel.GetOverlayCount(e:GetHandlerPlayer(),1,0)*600 return Duel.GetOverlayCount(e:GetHandlerPlayer(),1,0)*600
end end
function c37364101.damval(e,re,dam,r,rp,rc) function c37364101.damcon(e)
if bit.band(r,REASON_BATTLE)~=0 and rc==e:GetHandler():GetEquipTarget() and rc:GetBattleTarget()~=nil then return e:GetHandler():GetEquipTarget():GetBattleTarget()~=nil
return dam*2
else return dam end
end end
function c37364101.tgcon(e,tp,eg,ep,ev,re,r,rp) function c37364101.tgcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()~=tp return Duel.GetTurnPlayer()~=tp
......
...@@ -33,11 +33,10 @@ function c39299733.initial_effect(c) ...@@ -33,11 +33,10 @@ function c39299733.initial_effect(c)
c:RegisterEffect(e5) c:RegisterEffect(e5)
--damage reduce --damage reduce
local e6=Effect.CreateEffect(c) local e6=Effect.CreateEffect(c)
e6:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD) e6:SetType(EFFECT_TYPE_EQUIP)
e6:SetRange(LOCATION_SZONE) e6:SetCode(EFFECT_CHANGE_BATTLE_DAMAGE)
e6:SetCode(EVENT_PRE_BATTLE_DAMAGE)
e6:SetCondition(c39299733.rdcon) e6:SetCondition(c39299733.rdcon)
e6:SetOperation(c39299733.rdop) e6:SetValue(aux.ChangeBattleDamage(1,HALF_DAMAGE))
c:RegisterEffect(e6) c:RegisterEffect(e6)
--eqlimit --eqlimit
local e7=Effect.CreateEffect(c) local e7=Effect.CreateEffect(c)
...@@ -87,14 +86,12 @@ end ...@@ -87,14 +86,12 @@ end
function c39299733.repval(e,re,r,rp) function c39299733.repval(e,re,r,rp)
return bit.band(r,REASON_BATTLE)~=0 or bit.band(r,REASON_EFFECT)~=0 return bit.band(r,REASON_BATTLE)~=0 or bit.band(r,REASON_EFFECT)~=0
end end
function c39299733.rdcon(e,tp,eg,ep,ev,re,r,rp) function c39299733.rdcon(e)
local c=e:GetHandler():GetEquipTarget() local c=e:GetHandler():GetEquipTarget()
return ep~=tp and c==Duel.GetAttacker() and Duel.GetAttackTarget()==nil local tp=e:GetHandlerPlayer()
return Duel.GetAttackTarget()==nil
and c:GetEffectCount(EFFECT_DIRECT_ATTACK)<2 and Duel.GetFieldGroupCount(tp,0,LOCATION_MZONE)>0 and c:GetEffectCount(EFFECT_DIRECT_ATTACK)<2 and Duel.GetFieldGroupCount(tp,0,LOCATION_MZONE)>0
end end
function c39299733.rdop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChangeBattleDamage(ep,math.floor(ev/2))
end
function c39299733.eqlimit(e,c) function c39299733.eqlimit(e,c)
return c:IsRace(RACE_FAIRY) or e:GetHandler():GetEquipTarget()==c return c:IsRace(RACE_FAIRY) or e:GetHandler():GetEquipTarget()==c
end end
...@@ -8,11 +8,10 @@ function c40384720.initial_effect(c) ...@@ -8,11 +8,10 @@ function c40384720.initial_effect(c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--damage reduce --damage reduce
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD) e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetRange(LOCATION_MZONE) e2:SetCode(EFFECT_CHANGE_BATTLE_DAMAGE)
e2:SetCode(EVENT_PRE_BATTLE_DAMAGE)
e2:SetCondition(c40384720.rdcon) e2:SetCondition(c40384720.rdcon)
e2:SetOperation(c40384720.rdop) e2:SetValue(c40384720.rdval)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c40384720.dfilter(c) function c40384720.dfilter(c)
...@@ -21,11 +20,14 @@ end ...@@ -21,11 +20,14 @@ end
function c40384720.dircon(e) function c40384720.dircon(e)
return not Duel.IsExistingMatchingCard(c40384720.dfilter,e:GetHandlerPlayer(),0,LOCATION_SZONE,1,nil) return not Duel.IsExistingMatchingCard(c40384720.dfilter,e:GetHandlerPlayer(),0,LOCATION_SZONE,1,nil)
end end
function c40384720.rdcon(e,tp,eg,ep,ev,re,r,rp) function c40384720.rdcon(e)
local c=e:GetHandler() local c=e:GetHandler()
return ep~=tp and c==Duel.GetAttacker() and Duel.GetAttackTarget()==nil local tp=e:GetHandlerPlayer()
return Duel.GetAttackTarget()==nil
and c:GetEffectCount(EFFECT_DIRECT_ATTACK)<2 and Duel.GetFieldGroupCount(tp,0,LOCATION_MZONE)>0 and c:GetEffectCount(EFFECT_DIRECT_ATTACK)<2 and Duel.GetFieldGroupCount(tp,0,LOCATION_MZONE)>0
end end
function c40384720.rdop(e,tp,eg,ep,ev,re,r,rp) function c40384720.rdval(e,damp)
Duel.ChangeBattleDamage(ep,e:GetHandler():GetBaseAttack()) if damp==1-e:GetHandlerPlayer() then
return e:GetHandler():GetBaseAttack()
else return -1 end
end end
...@@ -11,17 +11,8 @@ function c40473581.initial_effect(c) ...@@ -11,17 +11,8 @@ function c40473581.initial_effect(c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--half damage --half damage
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD) e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetRange(LOCATION_MZONE) e4:SetCode(EFFECT_CHANGE_BATTLE_DAMAGE)
e4:SetCode(EVENT_PRE_BATTLE_DAMAGE) e4:SetValue(aux.ChangeBattleDamage(1,HALF_DAMAGE))
e4:SetCondition(c40473581.dcon)
e4:SetOperation(c40473581.dop)
c:RegisterEffect(e4) c:RegisterEffect(e4)
end end
function c40473581.dcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return ep~=tp and (c==Duel.GetAttacker() or c==Duel.GetAttackTarget())
end
function c40473581.dop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChangeBattleDamage(ep,math.floor(ev/2))
end
...@@ -80,15 +80,10 @@ function c41546.desop(e,tp,eg,ep,ev,re,r,rp) ...@@ -80,15 +80,10 @@ function c41546.desop(e,tp,eg,ep,ev,re,r,rp)
end end
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD) e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_CHANGE_DAMAGE) e3:SetCode(EFFECT_CHANGE_BATTLE_DAMAGE)
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e3:SetTargetRange(0,1) e3:SetTargetRange(0,1)
e3:SetValue(c41546.val) e3:SetValue(HALF_DAMAGE)
e3:SetReset(RESET_PHASE+PHASE_END) e3:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e3,tp) Duel.RegisterEffect(e3,tp)
end end
function c41546.val(e,re,dam,r,rp,rc)
if bit.band(r,REASON_BATTLE)~=0 then
return math.floor(dam/2)
else return dam end
end
...@@ -37,11 +37,10 @@ function c41753322.initial_effect(c) ...@@ -37,11 +37,10 @@ function c41753322.initial_effect(c)
c:RegisterEffect(e4) c:RegisterEffect(e4)
--damage amp --damage amp
local e5=Effect.CreateEffect(c) local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD) e5:SetType(EFFECT_TYPE_SINGLE)
e5:SetRange(LOCATION_MZONE) e5:SetCode(EFFECT_CHANGE_BATTLE_DAMAGE)
e5:SetCode(EVENT_PRE_BATTLE_DAMAGE)
e5:SetCondition(c41753322.dcon) e5:SetCondition(c41753322.dcon)
e5:SetOperation(c41753322.dop) e5:SetOperation(aux.ChangeBattleDamage(1,DOUBLE_DAMAGE))
c:RegisterEffect(e5) c:RegisterEffect(e5)
end end
function c41753322.otfilter(c,tp) function c41753322.otfilter(c,tp)
...@@ -80,10 +79,7 @@ function c41753322.posop2(e,tp,eg,ep,ev,re,r,rp) ...@@ -80,10 +79,7 @@ function c41753322.posop2(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(Card.IsCanTurnSet,tp,LOCATION_MZONE,LOCATION_MZONE,aux.ExceptThisCard(e)) local g=Duel.GetMatchingGroup(Card.IsCanTurnSet,tp,LOCATION_MZONE,LOCATION_MZONE,aux.ExceptThisCard(e))
Duel.ChangePosition(g,POS_FACEDOWN_DEFENSE) Duel.ChangePosition(g,POS_FACEDOWN_DEFENSE)
end end
function c41753322.dcon(e,tp,eg,ep,ev,re,r,rp) function c41753322.dcon(e)
local c=e:GetHandler() local c=e:GetHandler()
return ep~=tp and Duel.GetAttackTarget()==c return Duel.GetAttackTarget()==c
end
function c41753322.dop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChangeBattleDamage(ep,ev*2)
end end
...@@ -14,10 +14,10 @@ function c42632209.initial_effect(c) ...@@ -14,10 +14,10 @@ function c42632209.initial_effect(c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--double battle damage --double battle damage
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EVENT_PRE_BATTLE_DAMAGE) e2:SetCode(EFFECT_CHANGE_BATTLE_DAMAGE)
e2:SetCondition(c42632209.damcon) e2:SetCondition(c42632209.damcon)
e2:SetOperation(c42632209.damop) e2:SetValue(aux.ChangeBattleDamage(1,DOUBLE_DAMAGE))
c:RegisterEffect(e2) c:RegisterEffect(e2)
--search --search
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
...@@ -37,11 +37,8 @@ end ...@@ -37,11 +37,8 @@ end
function c42632209.efilter(e,te) function c42632209.efilter(e,te)
return not te:GetOwner():IsSetCard(0x132) return not te:GetOwner():IsSetCard(0x132)
end end
function c42632209.damcon(e,tp,eg,ep,ev,re,r,rp) function c42632209.damcon(e)
return ep~=tp and e:GetHandler():GetBattleTarget()~=nil and e:GetHandler():GetSequence()>4 return e:GetHandler():GetBattleTarget()~=nil and e:GetHandler():GetSequence()>4
end
function c42632209.damop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChangeBattleDamage(ep,ev*2)
end end
function c42632209.thcon(e,tp,eg,ep,ev,re,r,rp) function c42632209.thcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
......
...@@ -96,11 +96,19 @@ function c44968687.damop(e,tp,eg,ep,ev,re,r,rp) ...@@ -96,11 +96,19 @@ function c44968687.damop(e,tp,eg,ep,ev,re,r,rp)
e1:SetReset(RESET_PHASE+PHASE_END) e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
Duel.RegisterFlagEffect(tp,44968687,RESET_PHASE+PHASE_END,0,1) Duel.RegisterFlagEffect(tp,44968687,RESET_PHASE+PHASE_END,0,1)
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_CHANGE_BATTLE_DAMAGE)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetTargetRange(0,1)
e2:SetValue(DOUBLE_DAMAGE)
e2:SetReset(RESET_PHASE+PHASE_DAMAGE_CAL+PHASE_END)
Duel.RegisterEffect(e2,tp)
end end
end end
function c44968687.damval(e,re,val,r,rp,rc) function c44968687.damval(e,re,val,r,rp,rc)
local tp=e:GetHandlerPlayer() local tp=e:GetHandlerPlayer()
if Duel.GetFlagEffect(tp,44968687)==0 or bit.band(r,REASON_BATTLE+REASON_EFFECT)==0 then return val end if Duel.GetFlagEffect(tp,44968687)==0 or bit.band(r,REASON_EFFECT)==0 then return val end
Duel.ResetFlagEffect(tp,44968687) Duel.ResetFlagEffect(tp,44968687)
return val*2 return val*2
end end
...@@ -99,17 +99,12 @@ function c47870325.atkop(e,tp,eg,ep,ev,re,r,rp) ...@@ -99,17 +99,12 @@ function c47870325.atkop(e,tp,eg,ep,ev,re,r,rp)
if not res then if not res then
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CHANGE_DAMAGE) e1:SetCode(EFFECT_CHANGE_BATTLE_DAMAGE)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(1,0) e1:SetTargetRange(1,0)
e1:SetValue(c47870325.damval) e1:SetValue(DOUBLE_DAMAGE)
e1:SetReset(RESET_PHASE+PHASE_END) e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,p) Duel.RegisterEffect(e1,p)
end end
end end
end end
function c47870325.damval(e,re,dam,r,rp,rc)
if bit.band(r,REASON_BATTLE)~=0 then
return dam*2
else return dam end
end
...@@ -69,17 +69,12 @@ function c49678559.reptg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -69,17 +69,12 @@ function c49678559.reptg(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SendtoGrave(g,REASON_EFFECT) Duel.SendtoGrave(g,REASON_EFFECT)
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CHANGE_DAMAGE) e1:SetCode(EFFECT_CHANGE_BATTLE_DAMAGE)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(1,0) e1:SetTargetRange(1,0)
e1:SetValue(c49678559.damval) e1:SetValue(HALF_DAMAGE)
e1:SetReset(RESET_PHASE+PHASE_END,1) e1:SetReset(RESET_PHASE+PHASE_END,1)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
return true return true
else return false end else return false end
end end
function c49678559.damval(e,re,dam,r,rp,rc)
if bit.band(r,REASON_BATTLE)~=0 then
return math.floor(dam/2)
else return dam end
end
...@@ -44,21 +44,18 @@ function c49684352.dbop(e,tp,eg,ep,ev,re,r,rp) ...@@ -44,21 +44,18 @@ function c49684352.dbop(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
tc:RegisterFlagEffect(49684352,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,0) tc:RegisterFlagEffect(49684352,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,0)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EVENT_PRE_BATTLE_DAMAGE) e1:SetCode(EFFECT_CHANGE_BATTLE_DAMAGE)
e1:SetCondition(c49684352.damcon) e1:SetCondition(c49684352.damcon)
e1:SetOperation(c49684352.damop) e1:SetValue(aux.ChangeBattleDamage(1,DOUBLE_DAMAGE))
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END) e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e1) tc:RegisterEffect(e1)
Duel.BreakEffect() Duel.BreakEffect()
Duel.Destroy(c,REASON_EFFECT) Duel.Destroy(c,REASON_EFFECT)
end end
end end
function c49684352.damcon(e,tp,eg,ep,ev,re,r,rp) function c49684352.damcon(e)
return ep~=tp and e:GetHandler():GetBattleTarget()~=nil return e:GetHandler():GetBattleTarget()~=nil
end
function c49684352.damop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChangeBattleDamage(ep,ev*2)
end end
function c49684352.thcon(e,tp,eg,ep,ev,re,r,rp) function c49684352.thcon(e,tp,eg,ep,ev,re,r,rp)
return bit.band(r,REASON_EFFECT+REASON_BATTLE)~=0 return bit.band(r,REASON_EFFECT+REASON_BATTLE)~=0
......
...@@ -2,17 +2,12 @@ ...@@ -2,17 +2,12 @@
function c50823978.initial_effect(c) function c50823978.initial_effect(c)
--deepen damage --deepen damage
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetRange(LOCATION_MZONE) e1:SetCode(EFFECT_CHANGE_BATTLE_DAMAGE)
e1:SetCode(EVENT_PRE_BATTLE_DAMAGE)
e1:SetCondition(c50823978.dcon) e1:SetCondition(c50823978.dcon)
e1:SetOperation(c50823978.dop) e1:SetValue(aux.ChangeBattleDamage(1,DOUBLE_DAMAGE))
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c50823978.dcon(e,tp,eg,ep,ev,re,r,rp) function c50823978.dcon(e)
local c=e:GetHandler() return Duel.GetAttackTarget()==nil
return ep~=tp and c==Duel.GetAttacker() and Duel.GetAttackTarget()==nil
end
function c50823978.dop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChangeBattleDamage(ep,ev*2)
end end
...@@ -16,11 +16,10 @@ function c52977572.initial_effect(c) ...@@ -16,11 +16,10 @@ function c52977572.initial_effect(c)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--damage reduce --damage reduce
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD) e3:SetType(EFFECT_TYPE_EQUIP)
e3:SetRange(LOCATION_SZONE) e3:SetCode(EFFECT_CHANGE_BATTLE_DAMAGE)
e3:SetCode(EVENT_PRE_BATTLE_DAMAGE)
e3:SetCondition(c52977572.rdcon) e3:SetCondition(c52977572.rdcon)
e3:SetOperation(c52977572.rdop) e3:SetValue(aux.ChangeBattleDamage(1,HALF_DAMAGE))
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c52977572.filter(c,e,tp) function c52977572.filter(c,e,tp)
...@@ -56,11 +55,9 @@ end ...@@ -56,11 +55,9 @@ end
function c52977572.eqlimit(e,c) function c52977572.eqlimit(e,c)
return e:GetLabelObject()==c return e:GetLabelObject()==c
end end
function c52977572.rdcon(e,tp,eg,ep,ev,re,r,rp) function c52977572.rdcon(e)
local c=e:GetHandler():GetEquipTarget() local c=e:GetHandler():GetEquipTarget()
return ep~=tp and c==Duel.GetAttacker() and Duel.GetAttackTarget()==nil local tp=e:GetHandlerPlayer()
return Duel.GetAttackTarget()==nil
and c:GetEffectCount(EFFECT_DIRECT_ATTACK)<2 and Duel.GetFieldGroupCount(tp,0,LOCATION_MZONE)>0 and c:GetEffectCount(EFFECT_DIRECT_ATTACK)<2 and Duel.GetFieldGroupCount(tp,0,LOCATION_MZONE)>0
end end
function c52977572.rdop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChangeBattleDamage(ep,math.floor(ev/2))
end
...@@ -11,10 +11,10 @@ function c53701457.initial_effect(c) ...@@ -11,10 +11,10 @@ function c53701457.initial_effect(c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--damage reduce --damage reduce
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EVENT_PRE_BATTLE_DAMAGE) e2:SetCode(EFFECT_CHANGE_BATTLE_DAMAGE)
e2:SetCondition(c53701457.rdcon) e2:SetCondition(c53701457.rdcon)
e2:SetOperation(c53701457.rdop) e2:SetValue(aux.ChangeBattleDamage(1,HALF_DAMAGE))
c:RegisterEffect(e2) c:RegisterEffect(e2)
--damage --damage
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
...@@ -32,14 +32,12 @@ c53701457.xyz_number=28 ...@@ -32,14 +32,12 @@ c53701457.xyz_number=28
function c53701457.dircon(e) function c53701457.dircon(e)
return Duel.GetFieldGroupCount(e:GetHandlerPlayer(),LOCATION_MZONE,0)<=1 return Duel.GetFieldGroupCount(e:GetHandlerPlayer(),LOCATION_MZONE,0)<=1
end end
function c53701457.rdcon(e,tp,eg,ep,ev,re,r,rp) function c53701457.rdcon(e)
local c=e:GetHandler() local c=e:GetHandler()
return ep~=tp and Duel.GetAttackTarget()==nil local tp=e:GetHandlerPlayer()
return Duel.GetAttackTarget()==nil
and c:GetEffectCount(EFFECT_DIRECT_ATTACK)<2 and Duel.GetFieldGroupCount(tp,0,LOCATION_MZONE)>0 and c:GetEffectCount(EFFECT_DIRECT_ATTACK)<2 and Duel.GetFieldGroupCount(tp,0,LOCATION_MZONE)>0
end end
function c53701457.rdop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChangeBattleDamage(ep,math.floor(ev/2))
end
function c53701457.damcon(e,tp,eg,ep,ev,re,r,rp) function c53701457.damcon(e,tp,eg,ep,ev,re,r,rp)
return ep~=tp return ep~=tp
end end
......
...@@ -48,15 +48,14 @@ function c54446813.btop(e,tp,eg,ep,ev,re,r,rp) ...@@ -48,15 +48,14 @@ function c54446813.btop(e,tp,eg,ep,ev,re,r,rp)
tc:RegisterEffect(e1) tc:RegisterEffect(e1)
end end
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_PRE_BATTLE_DAMAGE) e2:SetCode(EFFECT_CHANGE_BATTLE_DAMAGE)
e2:SetOperation(c54446813.damop) e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetTargetRange(1,0)
e2:SetValue(HALF_DAMAGE)
e2:SetReset(RESET_PHASE+PHASE_DAMAGE) e2:SetReset(RESET_PHASE+PHASE_DAMAGE)
Duel.RegisterEffect(e2,tp) Duel.RegisterEffect(e2,tp)
end end
function c54446813.damop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChangeBattleDamage(tp,math.ceil(ev))
end
function c54446813.thcon(e,tp,eg,ep,ev,re,r,rp) function c54446813.thcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetAttacker():IsControler(1-tp) return Duel.GetAttacker():IsControler(1-tp)
end end
......
...@@ -48,16 +48,15 @@ function c54569495.spop(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -48,16 +48,15 @@ function c54569495.spop(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)>0 then if c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)>0 then
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_PRE_BATTLE_DAMAGE) e1:SetCode(EFFECT_CHANGE_BATTLE_DAMAGE)
e1:SetOperation(c54569495.damop2) e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(1,0)
e1:SetValue(HALF_DAMAGE)
e1:SetReset(RESET_PHASE+PHASE_DAMAGE) e1:SetReset(RESET_PHASE+PHASE_DAMAGE)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
end end
end end
function c54569495.damop2(e,tp,eg,ep,ev,re,r,rp)
Duel.ChangeBattleDamage(tp,math.floor(ev/2))
end
function c54569495.damcon1(e,tp,eg,ep,ev,re,r,rp) function c54569495.damcon1(e,tp,eg,ep,ev,re,r,rp)
local a=Duel.GetAttacker() local a=Duel.GetAttacker()
return a and a:IsControler(1-tp) return a and a:IsControler(1-tp)
......
...@@ -33,20 +33,15 @@ function c56574543.atkop(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -33,20 +33,15 @@ function c56574543.atkop(e,tp,eg,ep,ev,re,r,rp,chk)
e1:SetOwnerPlayer(tp) e1:SetOwnerPlayer(tp)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK) e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_DAMAGE_CAL) e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_DAMAGE)
e1:SetValue(d:GetAttack()) e1:SetValue(d:GetAttack())
a:RegisterEffect(e1) a:RegisterEffect(e1)
local e2=Effect.CreateEffect(e:GetHandler()) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EVENT_PRE_BATTLE_DAMAGE) e2:SetCode(EFFECT_CHANGE_BATTLE_DAMAGE)
e2:SetCondition(c56574543.rdcon) e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetOperation(c56574543.rdop) e2:SetTargetRange(0,1)
e2:SetReset(RESET_PHASE+PHASE_DAMAGE_CAL) e2:SetValue(HALF_DAMAGE)
e2:SetReset(RESET_PHASE+PHASE_DAMAGE)
Duel.RegisterEffect(e2,tp) Duel.RegisterEffect(e2,tp)
end end
function c56574543.rdcon(e,tp,eg,ep,ev,re,r,rp)
return ep~=tp
end
function c56574543.rdop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChangeBattleDamage(ep,math.floor(ev/2))
end
...@@ -14,10 +14,10 @@ function c59642500.initial_effect(c) ...@@ -14,10 +14,10 @@ function c59642500.initial_effect(c)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--damage reduce --damage reduce
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EVENT_PRE_BATTLE_DAMAGE) e3:SetCode(EFFECT_CHANGE_BATTLE_DAMAGE)
e3:SetCondition(c59642500.rdcon) e3:SetCondition(c59642500.rdcon)
e3:SetOperation(c59642500.rdop) e3:SetValue(aux.ChangeBattleDamage(1,HALF_DAMAGE))
c:RegisterEffect(e3) c:RegisterEffect(e3)
--search --search
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
...@@ -30,14 +30,12 @@ function c59642500.initial_effect(c) ...@@ -30,14 +30,12 @@ function c59642500.initial_effect(c)
e4:SetOperation(c59642500.thop) e4:SetOperation(c59642500.thop)
c:RegisterEffect(e4) c:RegisterEffect(e4)
end end
function c59642500.rdcon(e,tp,eg,ep,ev,re,r,rp) function c59642500.rdcon(e)
local c=e:GetHandler() local c=e:GetHandler()
return ep~=tp and Duel.GetAttackTarget()==nil local tp=e:GetHandlerPlayer()
return Duel.GetAttackTarget()==nil
and c:GetEffectCount(EFFECT_DIRECT_ATTACK)<2 and Duel.GetFieldGroupCount(tp,0,LOCATION_MZONE)>0 and c:GetEffectCount(EFFECT_DIRECT_ATTACK)<2 and Duel.GetFieldGroupCount(tp,0,LOCATION_MZONE)>0
end end
function c59642500.rdop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChangeBattleDamage(ep,math.floor(ev/2))
end
function c59642500.thcon(e,tp,eg,ep,ev,re,r,rp) function c59642500.thcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local bc=c:GetBattleTarget() local bc=c:GetBattleTarget()
......
...@@ -25,11 +25,11 @@ end ...@@ -25,11 +25,11 @@ end
function c60312997.operation(e,tp,eg,ep,ev,re,r,rp) function c60312997.operation(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CHANGE_DAMAGE) e1:SetCode(EFFECT_CHANGE_BATTLE_DAMAGE)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetReset(RESET_PHASE+PHASE_DAMAGE) e1:SetReset(RESET_PHASE+PHASE_DAMAGE)
e1:SetTargetRange(1,0) e1:SetTargetRange(1,0)
e1:SetValue(c60312997.damval) e1:SetValue(HALF_DAMAGE)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then if tc:IsRelateToEffect(e) then
...@@ -42,11 +42,6 @@ function c60312997.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -42,11 +42,6 @@ function c60312997.operation(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterEffect(e2,tp) Duel.RegisterEffect(e2,tp)
end end
end end
function c60312997.damval(e,re,val,r,rp,rc)
if r==REASON_BATTLE then
return math.floor(val/2)
else return val end
end
function c60312997.spop(e,tp,eg,ep,ev,re,r,rp) function c60312997.spop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
local tc=e:GetLabelObject() local tc=e:GetLabelObject()
......
...@@ -63,9 +63,9 @@ function c60953118.arcanareg(c,coin) ...@@ -63,9 +63,9 @@ function c60953118.arcanareg(c,coin)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetTargetRange(1,0) e1:SetTargetRange(1,0)
e1:SetCode(EFFECT_CHANGE_DAMAGE) e1:SetCode(EFFECT_CHANGE_BATTLE_DAMAGE)
e1:SetCondition(c60953118.rdcon1) e1:SetCondition(c60953118.rdcon1)
e1:SetValue(c60953118.rdval) e1:SetValue(HALF_DAMAGE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD) e1:SetReset(RESET_EVENT+RESETS_STANDARD)
c:RegisterEffect(e1) c:RegisterEffect(e1)
local e2=e1:Clone() local e2=e1:Clone()
...@@ -80,10 +80,3 @@ end ...@@ -80,10 +80,3 @@ end
function c60953118.rdcon2(e) function c60953118.rdcon2(e)
return e:GetHandler():GetFlagEffectLabel(36690018)==0 return e:GetHandler():GetFlagEffectLabel(36690018)==0
end end
function c60953118.rdval(e,re,val,r,rp,rc)
if bit.band(r,REASON_BATTLE)~=0 then
return math.floor(val/2)
else
return val
end
end
...@@ -21,11 +21,12 @@ function c63053267.initial_effect(c) ...@@ -21,11 +21,12 @@ function c63053267.initial_effect(c)
--double damage --double damage
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD) e4:SetType(EFFECT_TYPE_FIELD)
e4:SetCode(EFFECT_CHANGE_DAMAGE) e4:SetCode(EFFECT_CHANGE_BATTLE_DAMAGE)
e4:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e4:SetTargetRange(0,1)
e4:SetRange(LOCATION_SZONE) e4:SetRange(LOCATION_SZONE)
e4:SetValue(c63053267.damval) e4:SetTargetRange(LOCATION_MZONE,0)
e4:SetCondition(c63053267.damcon)
e4:SetTarget(aux.TargetBoolFunction(Card.IsSetCard,0x10b))
e4:SetValue(aux.ChangeBattleDamage(1,DOUBLE_DAMAGE))
c:RegisterEffect(e4) c:RegisterEffect(e4)
--search --search
local e5=Effect.CreateEffect(c) local e5=Effect.CreateEffect(c)
...@@ -37,16 +38,26 @@ function c63053267.initial_effect(c) ...@@ -37,16 +38,26 @@ function c63053267.initial_effect(c)
e5:SetTarget(c63053267.thtg) e5:SetTarget(c63053267.thtg)
e5:SetOperation(c63053267.thop) e5:SetOperation(c63053267.thop)
c:RegisterEffect(e5) c:RegisterEffect(e5)
--reg
local e6=Effect.CreateEffect(c)
e6:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e6:SetCode(EVENT_PRE_BATTLE_DAMAGE)
e6:SetRange(LOCATION_SZONE)
e6:SetCondition(c63053267.regcon)
e6:SetOperation(c63053267.regop)
c:RegisterEffect(e6)
end end
function c63053267.indtg(e,c) function c63053267.indtg(e,c)
return c:IsSetCard(0x10b) and c:GetSequence()<5 return c:IsSetCard(0x10b) and c:GetSequence()<5
end end
function c63053267.damval(e,re,val,r,rp,rc) function c63053267.regcon(e,tp,eg,ep,ev,re,r,rp)
local tp=e:GetHandlerPlayer() return ep==1-tp and eg:GetFirst():IsSetCard(0x10b)
if Duel.GetFlagEffect(tp,63053267)~=0 or bit.band(r,REASON_BATTLE)==0 end
or not rc:IsSetCard(0x10b) or not rc:IsControler(tp) then return val end function c63053267.regop(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterFlagEffect(tp,63053267,RESET_PHASE+PHASE_END,0,1) e:GetHandler():RegisterFlagEffect(63053267,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1)
return val*2 end
function c63053267.damcon(e)
return e:GetHandler():GetFlagEffect(63053267)==0
end end
function c63053267.cfilter(c) function c63053267.cfilter(c)
return c:IsSetCard(0x10b) and c:IsDiscardable() return c:IsSetCard(0x10b) and c:IsDiscardable()
......
...@@ -2,15 +2,8 @@ ...@@ -2,15 +2,8 @@
function c64145892.initial_effect(c) function c64145892.initial_effect(c)
--damage reduce --damage reduce
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EVENT_PRE_BATTLE_DAMAGE) e1:SetCode(EFFECT_CHANGE_BATTLE_DAMAGE)
e1:SetCondition(c64145892.rdcon) e1:SetValue(aux.ChangeBattleDamage(0,HALF_DAMAGE))
e1:SetOperation(c64145892.rdop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c64145892.rdcon(e,tp,eg,ep,ev,re,r,rp)
return ep==tp
end
function c64145892.rdop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChangeBattleDamage(ep,math.floor(ev/2))
end
...@@ -33,11 +33,12 @@ function c66393507.initial_effect(c) ...@@ -33,11 +33,12 @@ function c66393507.initial_effect(c)
c:RegisterEffect(e4) c:RegisterEffect(e4)
--double damage --double damage
local e5=Effect.CreateEffect(c) local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e5:SetType(EFFECT_TYPE_FIELD)
e5:SetCode(EVENT_PRE_BATTLE_DAMAGE) e5:SetCode(EFFECT_CHANGE_BATTLE_DAMAGE)
e5:SetRange(LOCATION_MZONE) e5:SetRange(LOCATION_MZONE)
e5:SetCondition(c66393507.damcon) e5:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE)
e5:SetOperation(c66393507.damop) e5:SetTarget(c66393507.damtg)
e5:SetValue(aux.ChangeBattleDamage(1,DOUBLE_DAMAGE))
c:RegisterEffect(e5) c:RegisterEffect(e5)
end end
function c66393507.spcon(e,tp,eg,ep,ev,re,r,rp) function c66393507.spcon(e,tp,eg,ep,ev,re,r,rp)
...@@ -82,10 +83,6 @@ end ...@@ -82,10 +83,6 @@ end
function c66393507.indtg(e,c) function c66393507.indtg(e,c)
return e:GetHandler():GetLinkedGroup():IsContains(c) and c:IsSetCard(0x104) return e:GetHandler():GetLinkedGroup():IsContains(c) and c:IsSetCard(0x104)
end end
function c66393507.damcon(e,tp,eg,ep,ev,re,r,rp) function c66393507.damtg(e,c)
local tc=eg:GetFirst() return c:IsSetCard(0x104) and c:GetBattleTarget()~=nil and e:GetHandler():GetLinkedGroup():IsContains(c)
return ep~=tp and tc:IsSetCard(0x104) and tc:GetBattleTarget()~=nil and e:GetHandler():GetLinkedGroup():IsContains(tc)
end
function c66393507.damop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChangeBattleDamage(ep,ev*2)
end end
...@@ -73,18 +73,13 @@ function c67508932.rmop(e,tp,eg,ep,ev,re,r,rp) ...@@ -73,18 +73,13 @@ function c67508932.rmop(e,tp,eg,ep,ev,re,r,rp)
end end
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CHANGE_DAMAGE) e1:SetCode(EFFECT_CHANGE_BATTLE_DAMAGE)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(0,1) e1:SetTargetRange(0,1)
e1:SetValue(c67508932.val) e1:SetValue(HALF_DAMAGE)
e1:SetReset(RESET_PHASE+PHASE_END) e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
end end
function c67508932.val(e,re,dam,r,rp,rc)
if bit.band(r,REASON_BATTLE)~=0 then
return math.floor(dam/2)
else return dam end
end
function c67508932.spfilter(c,e,tp) function c67508932.spfilter(c,e,tp)
return c:GetFlagEffectLabel(67508932)==e:GetHandler():GetFlagEffectLabel(67508933) return c:GetFlagEffectLabel(67508932)==e:GetHandler():GetFlagEffectLabel(67508933)
and c:GetReasonPlayer()==tp and c:GetReasonPlayer()==tp
......
...@@ -42,21 +42,19 @@ function c72083436.daop(e,tp,eg,ep,ev,re,r,rp) ...@@ -42,21 +42,19 @@ function c72083436.daop(e,tp,eg,ep,ev,re,r,rp)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END) e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e1) tc:RegisterEffect(e1)
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EVENT_PRE_BATTLE_DAMAGE) e2:SetCode(EFFECT_CHANGE_BATTLE_DAMAGE)
e2:SetCondition(c72083436.rdcon) e2:SetCondition(c72083436.rdcon)
e2:SetOperation(c72083436.rdop) e2:SetValue(aux.ChangeBattleDamage(1,HALF_DAMAGE))
e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END) e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e2) tc:RegisterEffect(e2)
tc:RegisterFlagEffect(72083436,RESET_EVENT+0x7e0000+RESET_PHASE+PHASE_END,0,1) tc:RegisterFlagEffect(72083436,RESET_EVENT+0x7e0000+RESET_PHASE+PHASE_END,0,1)
tc=g:GetNext() tc=g:GetNext()
end end
end end
function c72083436.rdcon(e,tp,eg,ep,ev,re,r,rp) function c72083436.rdcon(e)
local c=e:GetHandler() local c=e:GetHandler()
return ep~=tp and Duel.GetAttackTarget()==nil local tp=e:GetHandlerPlayer()
return Duel.GetAttackTarget()==nil
and c:GetEffectCount(EFFECT_DIRECT_ATTACK)<2 and Duel.GetFieldGroupCount(tp,0,LOCATION_MZONE)>0 and c:GetFlagEffect(72083436)>0 and c:GetEffectCount(EFFECT_DIRECT_ATTACK)<2 and Duel.GetFieldGroupCount(tp,0,LOCATION_MZONE)>0 and c:GetFlagEffect(72083436)>0
end end
function c72083436.rdop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChangeBattleDamage(ep,math.floor(ev/2))
end
...@@ -66,18 +66,13 @@ function c74069667.spop1(e,tp,eg,ep,ev,re,r,rp) ...@@ -66,18 +66,13 @@ function c74069667.spop1(e,tp,eg,ep,ev,re,r,rp)
end end
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CHANGE_DAMAGE) e1:SetCode(EFFECT_CHANGE_BATTLE_DAMAGE)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(0,1) e1:SetTargetRange(0,1)
e1:SetValue(c74069667.val) e1:SetValue(HALF_DAMAGE)
e1:SetReset(RESET_PHASE+PHASE_END) e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
end end
function c74069667.val(e,re,dam,r,rp,rc)
if bit.band(r,REASON_BATTLE)~=0 then
return math.floor(dam/2)
else return dam end
end
function c74069667.spfilter2(c,e,tp) function c74069667.spfilter2(c,e,tp)
return c:IsSetCard(0x10af) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsSetCard(0x10af) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
......
...@@ -43,15 +43,10 @@ function c75253697.desop(e,tp,eg,ep,ev,re,r,rp) ...@@ -43,15 +43,10 @@ function c75253697.desop(e,tp,eg,ep,ev,re,r,rp)
end end
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CHANGE_DAMAGE) e1:SetCode(EFFECT_CHANGE_BATTLE_DAMAGE)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(0,1) e1:SetTargetRange(0,1)
e1:SetValue(c75253697.val) e1:SetValue(HALF_DAMAGE)
e1:SetReset(RESET_PHASE+PHASE_END) e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
end end
function c75253697.val(e,re,dam,r,rp,rc)
if bit.band(r,REASON_BATTLE)~=0 then
return math.floor(dam/2)
else return dam end
end
...@@ -58,10 +58,10 @@ function c81524756.dbop(e,tp,eg,ep,ev,re,r,rp) ...@@ -58,10 +58,10 @@ function c81524756.dbop(e,tp,eg,ep,ev,re,r,rp)
if tc:IsRelateToEffect(e) then if tc:IsRelateToEffect(e) then
tc:RegisterFlagEffect(81524756,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,0) tc:RegisterFlagEffect(81524756,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,0)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EVENT_PRE_BATTLE_DAMAGE) e1:SetCode(EFFECT_CHANGE_BATTLE_DAMAGE)
e1:SetCondition(c81524756.damcon) e1:SetCondition(c81524756.damcon)
e1:SetOperation(c81524756.damop) e1:SetValue(aux.ChangeBattleDamage(1,DOUBLE_DAMAGE))
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END) e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e1) tc:RegisterEffect(e1)
end end
...@@ -69,9 +69,6 @@ end ...@@ -69,9 +69,6 @@ end
function c81524756.ftarget(e,c) function c81524756.ftarget(e,c)
return e:GetLabel()~=c:GetFieldID() return e:GetLabel()~=c:GetFieldID()
end end
function c81524756.damcon(e,tp,eg,ep,ev,re,r,rp) function c81524756.damcon(e)
return ep~=tp and e:GetHandler():GetBattleTarget()~=nil return e:GetHandler():GetBattleTarget()~=nil
end
function c81524756.damop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChangeBattleDamage(ep,ev*2)
end end
...@@ -43,15 +43,14 @@ function c85008676.damcost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -43,15 +43,14 @@ function c85008676.damcost(e,tp,eg,ep,ev,re,r,rp,chk)
end end
function c85008676.damop(e,tp,eg,ep,ev,re,r,rp) function c85008676.damop(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EVENT_PRE_BATTLE_DAMAGE) e1:SetCode(EFFECT_CHANGE_BATTLE_DAMAGE)
e1:SetOperation(c85008676.halfop) e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(1,0)
e1:SetValue(HALF_DAMAGE)
e1:SetReset(RESET_PHASE+PHASE_DAMAGE) e1:SetReset(RESET_PHASE+PHASE_DAMAGE)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
end end
function c85008676.halfop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChangeBattleDamage(tp,math.floor(ev/2))
end
function c85008676.damcon2(e,tp,eg,ep,ev,re,r,rp) function c85008676.damcon2(e,tp,eg,ep,ev,re,r,rp)
return ep~=tp and aux.damcon1(e,tp,eg,ep,ev,re,r,rp) return ep~=tp and aux.damcon1(e,tp,eg,ep,ev,re,r,rp)
end end
......
...@@ -45,10 +45,10 @@ function c8529136.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -45,10 +45,10 @@ function c8529136.activate(e,tp,eg,ep,ev,re,r,rp)
e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END) e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e2) tc:RegisterEffect(e2)
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EVENT_PRE_BATTLE_DAMAGE) e3:SetCode(EFFECT_CHANGE_BATTLE_DAMAGE)
e3:SetCondition(c8529136.damcon) e3:SetCondition(c8529136.damcon)
e3:SetOperation(c8529136.damop) e3:SetValue(aux.ChangeBattleDamage(1,DOUBLE_DAMAGE))
e3:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END) e3:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e3) tc:RegisterEffect(e3)
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
...@@ -76,11 +76,8 @@ end ...@@ -76,11 +76,8 @@ end
function c8529136.effcon(e) function c8529136.effcon(e)
return e:GetOwnerPlayer()==e:GetHandlerPlayer() return e:GetOwnerPlayer()==e:GetHandlerPlayer()
end end
function c8529136.damcon(e,tp,eg,ep,ev,re,r,rp) function c8529136.damcon(e)
return ep~=tp and e:GetHandler():GetBattleTarget()~=nil and e:GetOwnerPlayer()==tp return e:GetHandler():GetBattleTarget()~=nil
end
function c8529136.damop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChangeBattleDamage(ep,ev*2)
end end
function c8529136.descon(e,tp,eg,ep,ev,re,r,rp) function c8529136.descon(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetHandler():GetBattleTarget() local tc=e:GetHandler():GetBattleTarget()
......
...@@ -46,13 +46,6 @@ function c8763963.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -46,13 +46,6 @@ function c8763963.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local g=Duel.SelectTarget(tp,c8763963.filter,tp,0,LOCATION_MZONE,1,1,nil) local g=Duel.SelectTarget(tp,c8763963.filter,tp,0,LOCATION_MZONE,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_RECOVER,nil,0,tp,g:GetFirst():GetBaseAttack()) Duel.SetOperationInfo(0,CATEGORY_RECOVER,nil,0,tp,g:GetFirst():GetBaseAttack())
end end
function c8763963.dcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return ep~=tp and (c==Duel.GetAttacker() or c==Duel.GetAttackTarget())
end
function c8763963.dop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChangeBattleDamage(ep,math.floor(ev/2))
end
function c8763963.operation(e,tp,eg,ep,ev,re,r,rp) function c8763963.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
...@@ -67,13 +60,11 @@ function c8763963.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -67,13 +60,11 @@ function c8763963.operation(e,tp,eg,ep,ev,re,r,rp)
end end
if c:IsRelateToEffect(e) then if c:IsRelateToEffect(e) then
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD) e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetRange(LOCATION_MZONE)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetCode(EVENT_PRE_BATTLE_DAMAGE) e2:SetCode(EFFECT_CHANGE_BATTLE_DAMAGE)
e2:SetValue(aux.ChangeBattleDamage(1,HALF_DAMAGE))
e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END) e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
e2:SetCondition(c8763963.dcon)
e2:SetOperation(c8763963.dop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
end end
...@@ -17,10 +17,10 @@ function c92246806.initial_effect(c) ...@@ -17,10 +17,10 @@ function c92246806.initial_effect(c)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--damage reduce --damage reduce
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EVENT_PRE_BATTLE_DAMAGE) e3:SetCode(EFFECT_CHANGE_BATTLE_DAMAGE)
e3:SetCondition(c92246806.rdcon) e3:SetCondition(c92246806.rdcon)
e3:SetOperation(c92246806.rdop) e3:SetValue(aux.ChangeBattleDamage(1,HALF_DAMAGE))
c:RegisterEffect(e3) c:RegisterEffect(e3)
--return --return
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
...@@ -44,14 +44,12 @@ function c92246806.sumop(e,tp,eg,ep,ev,re,r,rp) ...@@ -44,14 +44,12 @@ function c92246806.sumop(e,tp,eg,ep,ev,re,r,rp)
Duel.Summon(tp,g:GetFirst(),true,nil) Duel.Summon(tp,g:GetFirst(),true,nil)
end end
end end
function c92246806.rdcon(e,tp,eg,ep,ev,re,r,rp) function c92246806.rdcon(e)
local c=e:GetHandler() local c=e:GetHandler()
return ep~=tp and Duel.GetAttackTarget()==nil local tp=e:GetHandlerPlayer()
return Duel.GetAttackTarget()==nil
and c:GetEffectCount(EFFECT_DIRECT_ATTACK)<2 and Duel.GetFieldGroupCount(tp,0,LOCATION_MZONE)>0 and c:GetEffectCount(EFFECT_DIRECT_ATTACK)<2 and Duel.GetFieldGroupCount(tp,0,LOCATION_MZONE)>0
end end
function c92246806.rdop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChangeBattleDamage(ep,math.floor(ev/2))
end
function c92246806.regop(e,tp,eg,ep,ev,re,r,rp) function c92246806.regop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
...@@ -60,18 +60,13 @@ function c92362073.atkop(e,tp,eg,ep,ev,re,r,rp) ...@@ -60,18 +60,13 @@ function c92362073.atkop(e,tp,eg,ep,ev,re,r,rp)
end end
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD) e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_CHANGE_DAMAGE) e2:SetCode(EFFECT_CHANGE_BATTLE_DAMAGE)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetTargetRange(0,1) e2:SetTargetRange(0,1)
e2:SetValue(c92362073.val) e2:SetValue(HALF_DAMAGE)
e2:SetReset(RESET_PHASE+PHASE_BATTLE) e2:SetReset(RESET_PHASE+PHASE_BATTLE)
Duel.RegisterEffect(e2,tp) Duel.RegisterEffect(e2,tp)
end end
function c92362073.val(e,re,dam,r,rp,rc)
if bit.band(r,REASON_BATTLE)~=0 then
return math.floor(dam/2)
else return dam end
end
function c92362073.tpcon(e,tp,eg,ep,ev,re,r,rp) function c92362073.tpcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()~=tp return Duel.GetTurnPlayer()~=tp
end end
......
...@@ -7,12 +7,11 @@ function c92481084.initial_effect(c) ...@@ -7,12 +7,11 @@ function c92481084.initial_effect(c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--battle damage --battle damage
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD) e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EVENT_PRE_BATTLE_DAMAGE) e2:SetCode(EFFECT_CHANGE_BATTLE_DAMAGE)
e2:SetRange(LOCATION_FZONE) e2:SetRange(LOCATION_FZONE)
e2:SetOperation(c92481084.dop) e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetTargetRange(1,1)
e2:SetValue(1000)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c92481084.dop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChangeBattleDamage(ep,1000)
end
...@@ -18,11 +18,9 @@ function c94793422.initial_effect(c) ...@@ -18,11 +18,9 @@ function c94793422.initial_effect(c)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--damage change --damage change
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e3:SetType(EFFECT_TYPE_EQUIP)
e3:SetRange(LOCATION_SZONE) e3:SetCode(EFFECT_CHANGE_BATTLE_DAMAGE)
e3:SetCode(EVENT_PRE_BATTLE_DAMAGE) e3:SetValue(aux.ChangeBattleDamage(1,1000))
e3:SetCondition(c94793422.damcon)
e3:SetOperation(c94793422.damop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c94793422.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c94793422.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
...@@ -38,9 +36,3 @@ function c94793422.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -38,9 +36,3 @@ function c94793422.operation(e,tp,eg,ep,ev,re,r,rp)
Duel.Equip(tp,e:GetHandler(),tc) Duel.Equip(tp,e:GetHandler(),tc)
end end
end end
function c94793422.damcon(e,tp,eg,ep,ev,re,r,rp)
return eg:GetFirst()==e:GetHandler():GetEquipTarget() and ep~=tp
end
function c94793422.damop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChangeBattleDamage(ep,1000)
end
...@@ -19,11 +19,9 @@ function c9603356.initial_effect(c) ...@@ -19,11 +19,9 @@ function c9603356.initial_effect(c)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--damage reduce --damage reduce
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD) e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetRange(LOCATION_MZONE) e3:SetCode(EFFECT_CHANGE_BATTLE_DAMAGE)
e3:SetCode(EVENT_PRE_BATTLE_DAMAGE) e3:SetValue(aux.ChangeBattleDamage(1,HALF_DAMAGE))
e3:SetCondition(c9603356.rdcon)
e3:SetOperation(c9603356.rdop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c9603356.mtcon(e,tp,eg,ep,ev,re,r,rp) function c9603356.mtcon(e,tp,eg,ep,ev,re,r,rp)
...@@ -48,9 +46,3 @@ function c9603356.disop(e,tp,eg,ep,ev,re,r,rp) ...@@ -48,9 +46,3 @@ function c9603356.disop(e,tp,eg,ep,ev,re,r,rp)
Duel.Destroy(rc,REASON_EFFECT) Duel.Destroy(rc,REASON_EFFECT)
end end
end end
function c9603356.rdcon(e,tp,eg,ep,ev,re,r,rp)
return ep~=tp and e:GetHandler()==Duel.GetAttacker()
end
function c9603356.rdop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChangeBattleDamage(ep,math.floor(ev/2))
end
...@@ -23,11 +23,12 @@ function c96733134.initial_effect(c) ...@@ -23,11 +23,12 @@ function c96733134.initial_effect(c)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--double damage --double damage
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EVENT_PRE_BATTLE_DAMAGE) e3:SetCode(EFFECT_CHANGE_BATTLE_DAMAGE)
e3:SetRange(LOCATION_MZONE) e3:SetRange(LOCATION_MZONE)
e3:SetCondition(c96733134.damcon) e3:SetTargetRange(LOCATION_MZONE,0)
e3:SetOperation(c96733134.damop) e3:SetTarget(c96733134.damtg)
e3:SetValue(aux.ChangeBattleDamage(1,DOUBLE_DAMAGE))
c:RegisterEffect(e3) c:RegisterEffect(e3)
--special summon --special summon
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
...@@ -93,12 +94,8 @@ function c96733134.hspop(e,tp,eg,ep,ev,re,r,rp) ...@@ -93,12 +94,8 @@ function c96733134.hspop(e,tp,eg,ep,ev,re,r,rp)
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
end end
end end
function c96733134.damcon(e,tp,eg,ep,ev,re,r,rp) function c96733134.damtg(e,c)
local tc=eg:GetFirst() return c:IsType(TYPE_PENDULUM) and c:GetBattleTarget()~=nil
return ep~=tp and tc:IsType(TYPE_PENDULUM) and tc:GetBattleTarget()~=nil
end
function c96733134.damop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChangeBattleDamage(ep,ev*2)
end end
function c96733134.spcon(e,tp,eg,ep,ev,re,r,rp) function c96733134.spcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetCurrentPhase()>=PHASE_BATTLE_START and Duel.GetCurrentPhase()<=PHASE_BATTLE return Duel.GetCurrentPhase()>=PHASE_BATTLE_START and Duel.GetCurrentPhase()<=PHASE_BATTLE
......
...@@ -26,17 +26,10 @@ function c981540.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -26,17 +26,10 @@ function c981540.activate(e,tp,eg,ep,ev,re,r,rp)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END) e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e1) tc:RegisterEffect(e1)
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EVENT_PRE_BATTLE_DAMAGE) e2:SetCode(EFFECT_CHANGE_BATTLE_DAMAGE)
e2:SetCondition(c981540.rdcon) e2:SetValue(aux.ChangeBattleDamage(0,HALF_DAMAGE))
e2:SetOperation(c981540.rdop)
e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END) e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e2) tc:RegisterEffect(e2)
end end
end end
function c981540.rdcon(e,tp,eg,ep,ev,re,r,rp)
return ep==e:GetOwnerPlayer()
end
function c981540.rdop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChangeBattleDamage(ep,math.floor(ev/2))
end
...@@ -27,16 +27,13 @@ function c98637386.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -27,16 +27,13 @@ function c98637386.spop(e,tp,eg,ep,ev,re,r,rp)
if tc:IsRelateToEffect(e) then if tc:IsRelateToEffect(e) then
if Duel.SpecialSummonStep(tc,0,tp,tp,false,false,POS_FACEUP) then if Duel.SpecialSummonStep(tc,0,tp,tp,false,false,POS_FACEUP) then
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE) e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetCode(EVENT_PRE_BATTLE_DAMAGE) e1:SetCode(EFFECT_CHANGE_BATTLE_DAMAGE)
e1:SetOperation(c98637386.rdop) e1:SetValue(HALF_DAMAGE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD) e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1,true) tc:RegisterEffect(e1,true)
Duel.SpecialSummonComplete() Duel.SpecialSummonComplete()
end end
end end
end end
function c98637386.rdop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChangeBattleDamage(ep,math.floor(ev/2))
end
...@@ -27,20 +27,19 @@ function c99004583.target(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -27,20 +27,19 @@ function c99004583.target(e,tp,eg,ep,ev,re,r,rp,chk)
end end
function c99004583.activate(e,tp,eg,ep,ev,re,r,rp) function c99004583.activate(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EVENT_PRE_BATTLE_DAMAGE) e1:SetCode(EFFECT_CHANGE_BATTLE_DAMAGE)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(1,1)
e1:SetCondition(c99004583.dcon) e1:SetCondition(c99004583.dcon)
e1:SetOperation(c99004583.dop) e1:SetValue(DOUBLE_DAMAGE)
e1:SetReset(RESET_PHASE+PHASE_END) e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
Duel.RegisterFlagEffect(tp,99004583,RESET_PHASE+PHASE_END,0,1) Duel.RegisterFlagEffect(tp,99004583,RESET_PHASE+PHASE_END,0,1)
end end
function c99004583.dcon(e,tp,eg,ep,ev,re,r,rp) function c99004583.dcon(e)
return Duel.GetAttackTarget() return Duel.GetAttackTarget()
end end
function c99004583.dop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChangeBattleDamage(ep,ev*2)
end
function c99004583.costfilter(c) function c99004583.costfilter(c)
return c:IsType(TYPE_SPELL) and c:IsDiscardable() return c:IsType(TYPE_SPELL) and c:IsDiscardable()
end end
......
...@@ -30,12 +30,23 @@ function c99795159.initial_effect(c) ...@@ -30,12 +30,23 @@ function c99795159.initial_effect(c)
e4:SetTargetRange(1,1) e4:SetTargetRange(1,1)
e4:SetValue(c99795159.val) e4:SetValue(c99795159.val)
c:RegisterEffect(e4) c:RegisterEffect(e4)
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_FIELD)
e5:SetRange(LOCATION_FZONE)
e5:SetCode(EFFECT_CHANGE_BATTLE_DAMAGE)
e5:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE)
e5:SetTarget(c99795159.rdtg)
e5:SetValue(HALF_DAMAGE)
c:RegisterEffect(e5)
end end
function c99795159.dirtg(e,c) function c99795159.dirtg(e,c)
return not Duel.IsExistingMatchingCard(Card.IsFaceup,c:GetControler(),0,LOCATION_MZONE,1,nil) return not Duel.IsExistingMatchingCard(Card.IsFaceup,c:GetControler(),0,LOCATION_MZONE,1,nil)
end end
function c99795159.val(e,re,dam,r,rp,rc) function c99795159.val(e,re,dam,r,rp,rc)
if bit.band(r,REASON_EFFECT)~=0 or (rc and not rc:IsSetCard(0x8d)) then if bit.band(r,REASON_EFFECT)~=0 then
return math.floor(dam/2) return math.floor(dam/2)
else return dam end else return dam end
end end
function c99795159.rdtg(e,c)
return not c:IsSetCard(0x8d)
end
...@@ -7,11 +7,10 @@ function c99861526.initial_effect(c) ...@@ -7,11 +7,10 @@ function c99861526.initial_effect(c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--damage reduce --damage reduce
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD) e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetRange(LOCATION_MZONE) e2:SetCode(EFFECT_CHANGE_BATTLE_DAMAGE)
e2:SetCode(EVENT_PRE_BATTLE_DAMAGE)
e2:SetCondition(c99861526.rdcon) e2:SetCondition(c99861526.rdcon)
e2:SetOperation(c99861526.rdop) e2:SetValue(c99861526.rval)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--pos --pos
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
...@@ -23,13 +22,16 @@ function c99861526.initial_effect(c) ...@@ -23,13 +22,16 @@ function c99861526.initial_effect(c)
e3:SetOperation(c99861526.posop) e3:SetOperation(c99861526.posop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c99861526.rdcon(e,tp,eg,ep,ev,re,r,rp) function c99861526.rdcon(e)
local c=e:GetHandler() local c=e:GetHandler()
return ep~=tp and c==Duel.GetAttacker() and Duel.GetAttackTarget()==nil local tp=e:GetHandlerPlayer()
return Duel.GetAttackTarget()==nil
and c:GetEffectCount(EFFECT_DIRECT_ATTACK)<2 and Duel.GetFieldGroupCount(tp,0,LOCATION_MZONE)>0 and c:GetEffectCount(EFFECT_DIRECT_ATTACK)<2 and Duel.GetFieldGroupCount(tp,0,LOCATION_MZONE)>0
end end
function c99861526.rdop(e,tp,eg,ep,ev,re,r,rp) function c99861526.rval(e,damp)
Duel.ChangeBattleDamage(ep,e:GetHandler():GetBaseAttack()) if damp==1-e:GetHandlerPlayer() then
return e:GetHandler():GetBaseAttack()
else return -1 end
end end
function c99861526.poscon(e,tp,eg,ep,ev,re,r,rp) function c99861526.poscon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
......
...@@ -461,6 +461,7 @@ EFFECT_BATTLE_DESTROY_REDIRECT =204 --战斗破坏时重新指定去向 ...@@ -461,6 +461,7 @@ EFFECT_BATTLE_DESTROY_REDIRECT =204 --战斗破坏时重新指定去向
EFFECT_BATTLE_DAMAGE_TO_EFFECT =205 --战斗伤害视为效果伤害 EFFECT_BATTLE_DAMAGE_TO_EFFECT =205 --战斗伤害视为效果伤害
EFFECT_BOTH_BATTLE_DAMAGE =206 --战斗伤害由双方承受 EFFECT_BOTH_BATTLE_DAMAGE =206 --战斗伤害由双方承受
EFFECT_ALSO_BATTLE_DAMAGE =207 --对自己的战斗伤害让对方也承受 EFFECT_ALSO_BATTLE_DAMAGE =207 --对自己的战斗伤害让对方也承受
EFFECT_CHANGE_BATTLE_DAMAGE =208 --改变战斗伤害
EFFECT_TOSS_COIN_REPLACE =220 --重新抛硬币 EFFECT_TOSS_COIN_REPLACE =220 --重新抛硬币
EFFECT_TOSS_DICE_REPLACE =221 --重新掷骰子 EFFECT_TOSS_DICE_REPLACE =221 --重新掷骰子
EFFECT_FUSION_MATERIAL =230 --指定融合素材的條件 EFFECT_FUSION_MATERIAL =230 --指定融合素材的條件
......
...@@ -2032,6 +2032,23 @@ function Auxiliary.SZoneSequence(seq) ...@@ -2032,6 +2032,23 @@ function Auxiliary.SZoneSequence(seq)
if seq>4 then return nil end if seq>4 then return nil end
return seq return seq
end end
function Auxiliary.ChangeBattleDamage(player,value)
return function(e,damp)
if player==0 then
if e:GetOwnerPlayer()==damp then
return value
else
return -1
end
elseif player==1 then
if e:GetOwnerPlayer()==1-damp then
return value
else
return -1
end
end
end
end
--card effect disable filter(target) --card effect disable filter(target)
function Auxiliary.disfilter1(c) function Auxiliary.disfilter1(c)
return c:IsFaceup() and not c:IsDisabled() and (not c:IsType(TYPE_NORMAL) or c:GetOriginalType()&TYPE_EFFECT~=0) return c:IsFaceup() and not c:IsDisabled() and (not c:IsType(TYPE_NORMAL) or c:GetOriginalType()&TYPE_EFFECT~=0)
......
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