Commit 213177bf authored by salix5's avatar salix5
parent 2c44ec6a
...@@ -70,4 +70,8 @@ function c11109820.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -70,4 +70,8 @@ function c11109820.operation(e,tp,eg,ep,ev,re,r,rp)
e1:SetValue(0) e1:SetValue(0)
e1:SetReset(RESET_PHASE+PHASE_END) e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
local e2=e1:Clone()
e2:SetCode(EFFECT_NO_EFFECT_DAMAGE)
e2:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e2,tp)
end end
...@@ -45,7 +45,6 @@ function c11221418.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -45,7 +45,6 @@ function c11221418.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
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:SetCode(EFFECT_CANNOT_SUMMON) e2:SetCode(EFFECT_CANNOT_SUMMON)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetTargetRange(1,1) e2:SetTargetRange(1,1)
...@@ -68,18 +67,22 @@ function c11221418.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -68,18 +67,22 @@ function c11221418.activate(e,tp,eg,ep,ev,re,r,rp)
e5:SetLabelObject(e1) e5:SetLabelObject(e1)
e5:SetReset(RESET_PHASE+PHASE_END+RESET_SELF_TURN,2) e5:SetReset(RESET_PHASE+PHASE_END+RESET_SELF_TURN,2)
Duel.RegisterEffect(e5,tp) Duel.RegisterEffect(e5,tp)
local e6=Effect.CreateEffect(c) local e6=e5:Clone()
e6:SetCategory(CATEGORY_SPECIAL_SUMMON) e6:SetCode(EFFECT_NO_EFFECT_DAMAGE)
e6:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e6:SetCode(EVENT_PHASE+PHASE_END)
e6:SetProperty(EFFECT_FLAG_CARD_TARGET)
e6:SetCountLimit(1)
e6:SetCondition(c11221418.spcon)
e6:SetTarget(c11221418.sptg)
e6:SetOperation(c11221418.spop)
e6:SetLabelObject(e1)
e6:SetReset(RESET_PHASE+PHASE_END+RESET_SELF_TURN,2) e6:SetReset(RESET_PHASE+PHASE_END+RESET_SELF_TURN,2)
Duel.RegisterEffect(e6,tp) Duel.RegisterEffect(e6,tp)
local e7=Effect.CreateEffect(c)
e7:SetCategory(CATEGORY_SPECIAL_SUMMON)
e7:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e7:SetCode(EVENT_PHASE+PHASE_END)
e7:SetProperty(EFFECT_FLAG_CARD_TARGET)
e7:SetCountLimit(1)
e7:SetCondition(c11221418.spcon)
e7:SetTarget(c11221418.sptg)
e7:SetOperation(c11221418.spop)
e7:SetLabelObject(e1)
e7:SetReset(RESET_PHASE+PHASE_END+RESET_SELF_TURN,2)
Duel.RegisterEffect(e7,tp)
end end
end end
function c11221418.limcon(e) function c11221418.limcon(e)
......
...@@ -25,8 +25,12 @@ function c19113101.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -25,8 +25,12 @@ function c19113101.operation(e,tp,eg,ep,ev,re,r,rp)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(1,0) e1:SetTargetRange(1,0)
e1:SetValue(c19113101.damval) e1:SetValue(c19113101.damval)
e1:SetReset(RESET_PHASE+PHASE_END,1) e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
local e2=e1:Clone()
e2:SetCode(EFFECT_NO_EFFECT_DAMAGE)
e2:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e2,tp)
end end
function c19113101.damval(e,re,val,r,rp,rc) function c19113101.damval(e,re,val,r,rp,rc)
if bit.band(r,REASON_EFFECT)~=0 then return 0 if bit.band(r,REASON_EFFECT)~=0 then return 0
......
...@@ -21,8 +21,12 @@ function c20450925.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -21,8 +21,12 @@ function c20450925.operation(e,tp,eg,ep,ev,re,r,rp)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(1,0) e1:SetTargetRange(1,0)
e1:SetValue(c20450925.damval) e1:SetValue(c20450925.damval)
e1:SetReset(RESET_PHASE+PHASE_END,1) e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
local e2=e1:Clone()
e2:SetCode(EFFECT_NO_EFFECT_DAMAGE)
e2:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e2,tp)
end end
function c20450925.damval(e,re,val,r,rp,rc) function c20450925.damval(e,re,val,r,rp,rc)
if bit.band(r,REASON_EFFECT)~=0 then return 0 if bit.band(r,REASON_EFFECT)~=0 then return 0
......
...@@ -48,4 +48,8 @@ function c21648584.damop(e,tp,eg,ep,ev,re,r,rp) ...@@ -48,4 +48,8 @@ function c21648584.damop(e,tp,eg,ep,ev,re,r,rp)
e1:SetValue(0) e1:SetValue(0)
e1:SetReset(RESET_PHASE+PHASE_END) e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
local e2=e1:Clone()
e2:SetCode(EFFECT_NO_EFFECT_DAMAGE)
e2:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e2,tp)
end end
...@@ -22,4 +22,8 @@ function c21879581.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -22,4 +22,8 @@ function c21879581.activate(e,tp,eg,ep,ev,re,r,rp)
e1:SetValue(0) e1:SetValue(0)
e1:SetReset(RESET_PHASE+PHASE_END,2) e1:SetReset(RESET_PHASE+PHASE_END,2)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
local e2=e1:Clone()
e2:SetCode(EFFECT_NO_EFFECT_DAMAGE)
e2:SetReset(RESET_PHASE+PHASE_END,2)
Duel.RegisterEffect(e2,tp)
end end
...@@ -71,6 +71,10 @@ function c23587624.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -71,6 +71,10 @@ function c23587624.activate(e,tp,eg,ep,ev,re,r,rp)
e4:SetValue(0) e4:SetValue(0)
e4:SetReset(RESET_PHASE+PHASE_END) e4:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e4,tp) Duel.RegisterEffect(e4,tp)
local e5=e4:Clone()
e5:SetCode(EFFECT_NO_EFFECT_DAMAGE)
e5:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e5,tp)
end end
function c23587624.efilter(e,re) function c23587624.efilter(e,re)
return e:GetOwnerPlayer()==re:GetOwnerPlayer() and e:GetHandler()~=re:GetHandler() return e:GetOwnerPlayer()==re:GetOwnerPlayer() and e:GetHandler()~=re:GetHandler()
......
...@@ -28,4 +28,8 @@ function c23857661.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -28,4 +28,8 @@ function c23857661.operation(e,tp,eg,ep,ev,re,r,rp)
e1:SetValue(0) e1:SetValue(0)
e1:SetReset(RESET_PHASE+PHASE_END) e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
local e2=e1:Clone()
e2:SetCode(EFFECT_NO_EFFECT_DAMAGE)
e2:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e2,tp)
end end
...@@ -12,16 +12,8 @@ function c24566654.cfilter(c) ...@@ -12,16 +12,8 @@ function c24566654.cfilter(c)
return c:IsFaceup() and c:IsCode(70902743) return c:IsFaceup() and c:IsCode(70902743)
end end
function c24566654.condition(e,tp,eg,ep,ev,re,r,rp) function c24566654.condition(e,tp,eg,ep,ev,re,r,rp)
if re:IsActiveType(TYPE_SPELL+TYPE_TRAP) and not re:IsHasType(EFFECT_TYPE_ACTIVATE) then return false end return Duel.IsExistingMatchingCard(c24566654.cfilter,tp,LOCATION_ONFIELD,0,1,nil) and ep~=tp and re:IsHasType(EFFECT_TYPE_ACTIVATE)
if rp==tp or not Duel.IsExistingMatchingCard(c24566654.cfilter,tp,LOCATION_ONFIELD,0,1,nil) then return false end and aux.damcon1(e,tp,eg,ep,ev,re,r,rp)
local ex,cg,ct,cp,cv=Duel.GetOperationInfo(ev,CATEGORY_DAMAGE)
if ex then return true end
ex,cg,ct,cp,cv=Duel.GetOperationInfo(ev,CATEGORY_RECOVER)
if not ex then return false end
if cp~=PLAYER_ALL then return Duel.IsPlayerAffectedByEffect(cp,EFFECT_REVERSE_RECOVER)
else return Duel.IsPlayerAffectedByEffect(0,EFFECT_REVERSE_RECOVER)
or Duel.IsPlayerAffectedByEffect(1,EFFECT_REVERSE_RECOVER)
end
end end
function c24566654.operation(e,tp,eg,ep,ev,re,r,rp) function c24566654.operation(e,tp,eg,ep,ev,re,r,rp)
local cid=Duel.GetChainInfo(ev,CHAININFO_CHAIN_ID) local cid=Duel.GetChainInfo(ev,CHAININFO_CHAIN_ID)
......
...@@ -20,14 +20,17 @@ function c25165047.initial_effect(c) ...@@ -20,14 +20,17 @@ function c25165047.initial_effect(c)
e2:SetTargetRange(1,0) e2:SetTargetRange(1,0)
e2:SetValue(c25165047.damval) e2:SetValue(c25165047.damval)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--Destroy replace local e3=e2:Clone()
local e3=Effect.CreateEffect(c) e3:SetCode(EFFECT_NO_EFFECT_DAMAGE)
e3:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_SINGLE)
e3:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e3:SetRange(LOCATION_MZONE)
e3:SetCode(EFFECT_DESTROY_REPLACE)
e3:SetTarget(c25165047.desreptg)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--Destroy replace
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_SINGLE)
e4:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e4:SetRange(LOCATION_MZONE)
e4:SetCode(EFFECT_DESTROY_REPLACE)
e4:SetTarget(c25165047.desreptg)
c:RegisterEffect(e4)
end end
function c25165047.lpcon(e,tp,eg,ep,ev,re,r,rp) function c25165047.lpcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetSummonType()==SUMMON_TYPE_SYNCHRO return e:GetHandler():GetSummonType()==SUMMON_TYPE_SYNCHRO
......
...@@ -41,6 +41,9 @@ function c29400787.initial_effect(c) ...@@ -41,6 +41,9 @@ function c29400787.initial_effect(c)
e5:SetTargetRange(0,1) e5:SetTargetRange(0,1)
e5:SetValue(0) e5:SetValue(0)
c:RegisterEffect(e5) c:RegisterEffect(e5)
local e6=e5:Clone()
e6:SetCode(EFFECT_NO_EFFECT_DAMAGE)
c:RegisterEffect(e6)
end end
function c29400787.atlimit(e,c) function c29400787.atlimit(e,c)
return c:IsFacedown() return c:IsFacedown()
......
...@@ -16,7 +16,7 @@ function c31292357.initial_effect(c) ...@@ -16,7 +16,7 @@ function c31292357.initial_effect(c)
e2:SetType(EFFECT_TYPE_QUICK_O) e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_CHAINING) e2:SetCode(EVENT_CHAINING)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetCondition(c31292357.ctcon) e2:SetCondition(aux.damcon1)
e2:SetTarget(c31292357.cttg) e2:SetTarget(c31292357.cttg)
e2:SetOperation(c31292357.ctop) e2:SetOperation(c31292357.ctop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
...@@ -33,12 +33,6 @@ function c31292357.spcon(e,c) ...@@ -33,12 +33,6 @@ function c31292357.spcon(e,c)
return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.GetFieldGroupCount(tp,LOCATION_MZONE,LOCATION_MZONE)>=2 and Duel.GetFieldGroupCount(tp,LOCATION_MZONE,LOCATION_MZONE)>=2
end end
function c31292357.ctcon(e,tp,eg,ep,ev,re,r,rp)
local ex,cg,ct,cp,cv=Duel.GetOperationInfo(ev,CATEGORY_DAMAGE)
if ex and (cp==tp or cp==PLAYER_ALL) then return true end
ex,cg,ct,cp,cv=Duel.GetOperationInfo(ev,CATEGORY_RECOVER)
return ex and (cp==tp or cp==PLAYER_ALL) and Duel.IsPlayerAffectedByEffect(tp,EFFECT_REVERSE_RECOVER)
end
function c31292357.cttg(e,tp,eg,ep,ev,re,r,rp,chk) function c31292357.cttg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsCanAddCounter(0x3036,1) end if chk==0 then return e:GetHandler():IsCanAddCounter(0x3036,1) end
end end
......
...@@ -25,4 +25,8 @@ function c33782437.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -25,4 +25,8 @@ function c33782437.activate(e,tp,eg,ep,ev,re,r,rp)
e1:SetValue(0) e1:SetValue(0)
e1:SetReset(RESET_PHASE+PHASE_END,2) e1:SetReset(RESET_PHASE+PHASE_END,2)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
local e2=e1:Clone()
e2:SetCode(EFFECT_NO_EFFECT_DAMAGE)
e2:SetReset(RESET_PHASE+PHASE_END,2)
Duel.RegisterEffect(e2,tp)
end end
...@@ -32,8 +32,12 @@ function c35112613.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -32,8 +32,12 @@ function c35112613.operation(e,tp,eg,ep,ev,re,r,rp)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(1,0) e1:SetTargetRange(1,0)
e1:SetValue(0) e1:SetValue(0)
e1:SetReset(RESET_PHASE+PHASE_END,1) e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
local e2=e1:Clone()
e2:SetCode(EFFECT_NO_EFFECT_DAMAGE)
e2:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e2,tp)
end end
function c35112613.cfilter(c) function c35112613.cfilter(c)
return c:IsSetCard(0x55) and c:IsType(TYPE_MONSTER) and c:GetCode()~=35112613 and c:IsAbleToGraveAsCost() return c:IsSetCard(0x55) and c:IsType(TYPE_MONSTER) and c:GetCode()~=35112613 and c:IsAbleToGraveAsCost()
......
...@@ -28,11 +28,7 @@ function c37511832.initial_effect(c) ...@@ -28,11 +28,7 @@ function c37511832.initial_effect(c)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c37511832.condition(e,tp,eg,ep,ev,re,r,rp) function c37511832.condition(e,tp,eg,ep,ev,re,r,rp)
if not re:IsActiveType(TYPE_SPELL) then return false end return re:IsActiveType(TYPE_SPELL) and aux.damcon1(e,tp,eg,ep,ev,re,r,rp)
local ex,cg,ct,cp,cv=Duel.GetOperationInfo(ev,CATEGORY_DAMAGE)
if ex and (cp==tp or cp==PLAYER_ALL) then return true end
ex,cg,ct,cp,cv=Duel.GetOperationInfo(ev,CATEGORY_RECOVER)
return ex and (cp==tp or cp==PLAYER_ALL) and Duel.IsPlayerAffectedByEffect(tp,EFFECT_REVERSE_RECOVER)
end end
function c37511832.operation(e,tp,eg,ep,ev,re,r,rp) function c37511832.operation(e,tp,eg,ep,ev,re,r,rp)
local cid=Duel.GetChainInfo(ev,CHAININFO_CHAIN_ID) local cid=Duel.GetChainInfo(ev,CHAININFO_CHAIN_ID)
......
...@@ -45,11 +45,7 @@ function c4081665.cfilter(c) ...@@ -45,11 +45,7 @@ function c4081665.cfilter(c)
return c:IsSetCard(0xc6) and c:IsType(TYPE_MONSTER) return c:IsSetCard(0xc6) and c:IsType(TYPE_MONSTER)
end end
function c4081665.damcon(e,tp,eg,ep,ev,re,r,rp) function c4081665.damcon(e,tp,eg,ep,ev,re,r,rp)
if not Duel.IsExistingMatchingCard(c4081665.cfilter,tp,LOCATION_GRAVE,0,1,e:GetHandler()) then return false end return Duel.IsExistingMatchingCard(c4081665.cfilter,tp,LOCATION_GRAVE,0,1,e:GetHandler()) and aux.damcon1(e,1-tp,eg,ep,ev,re,r,rp)
local ex,cg,ct,cp,cv=Duel.GetOperationInfo(ev,CATEGORY_DAMAGE)
if ex and (cp==1-tp or cp==PLAYER_ALL) then return true end
ex,cg,ct,cp,cv=Duel.GetOperationInfo(ev,CATEGORY_RECOVER)
return ex and (cp==1-tp or cp==PLAYER_ALL) and Duel.IsPlayerAffectedByEffect(1-tp,EFFECT_REVERSE_RECOVER)
end end
function c4081665.damcost(e,tp,eg,ep,ev,re,r,rp,chk) function c4081665.damcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToRemoveAsCost() end if chk==0 then return e:GetHandler():IsAbleToRemoveAsCost() end
......
...@@ -31,8 +31,12 @@ function c4192696.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -31,8 +31,12 @@ function c4192696.spop(e,tp,eg,ep,ev,re,r,rp)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(1,1) e1:SetTargetRange(1,1)
e1:SetValue(c4192696.damval) e1:SetValue(c4192696.damval)
e1:SetReset(RESET_PHASE+PHASE_END,1) e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
local e2=e1:Clone()
e2:SetCode(EFFECT_NO_EFFECT_DAMAGE)
e2:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e2,tp)
end end
end end
function c4192696.damval(e,re,val,r,rp,rc) function c4192696.damval(e,re,val,r,rp,rc)
......
...@@ -33,13 +33,17 @@ function c42776960.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -33,13 +33,17 @@ function c42776960.activate(e,tp,eg,ep,ev,re,r,rp)
e1:SetTargetRange(1,0) e1:SetTargetRange(1,0)
e1:SetValue(0) e1:SetValue(0)
tc:RegisterEffect(e1) tc:RegisterEffect(e1)
local e2=Effect.CreateEffect(e:GetHandler()) local e2=e1:Clone()
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e2:SetCode(EFFECT_NO_EFFECT_DAMAGE)
e2:SetCode(EVENT_LEAVE_FIELD) e2:SetReset(RESET_EVENT+0x1fe0000)
e2:SetLabel(1-tp)
e2:SetOperation(c42776960.leaveop)
e2:SetReset(RESET_EVENT+0xc020000)
tc:RegisterEffect(e2) tc:RegisterEffect(e2)
local e3=Effect.CreateEffect(e:GetHandler())
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_LEAVE_FIELD)
e3:SetLabel(1-tp)
e3:SetOperation(c42776960.leaveop)
e3:SetReset(RESET_EVENT+0xc020000)
tc:RegisterEffect(e3)
end end
end end
function c42776960.leaveop(e,tp,eg,ep,ev,re,r,rp) function c42776960.leaveop(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -37,4 +37,8 @@ function c46132282.effop(e,tp,eg,ep,ev,re,r,rp) ...@@ -37,4 +37,8 @@ function c46132282.effop(e,tp,eg,ep,ev,re,r,rp)
e3:SetValue(0) e3:SetValue(0)
e3:SetReset(RESET_PHASE+PHASE_END) e3:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e3,tp) Duel.RegisterEffect(e3,tp)
local e4=e3:Clone()
e4:SetCode(EFFECT_NO_EFFECT_DAMAGE)
e4:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e4,tp)
end end
...@@ -48,6 +48,10 @@ function c46772449.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -48,6 +48,10 @@ function c46772449.operation(e,tp,eg,ep,ev,re,r,rp)
e1:SetValue(0) e1:SetValue(0)
e1:SetReset(RESET_PHASE+PHASE_END) e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
local e2=e1:Clone()
e2:SetCode(EFFECT_NO_EFFECT_DAMAGE)
e2:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e2,tp)
local g=Duel.GetMatchingGroup(Card.IsDestructable,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,e:GetHandler()) local g=Duel.GetMatchingGroup(Card.IsDestructable,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,e:GetHandler())
Duel.Destroy(g,REASON_EFFECT) Duel.Destroy(g,REASON_EFFECT)
end end
\ No newline at end of file
...@@ -6,7 +6,7 @@ function c4807253.initial_effect(c) ...@@ -6,7 +6,7 @@ function c4807253.initial_effect(c)
e1:SetType(EFFECT_TYPE_QUICK_O) e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_CHAINING) e1:SetCode(EVENT_CHAINING)
e1:SetRange(LOCATION_HAND) e1:SetRange(LOCATION_HAND)
e1:SetCondition(c4807253.spcon) e1:SetCondition(aux.damcon1)
e1:SetTarget(c4807253.sptg) e1:SetTarget(c4807253.sptg)
e1:SetOperation(c4807253.spop) e1:SetOperation(c4807253.spop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
...@@ -23,12 +23,6 @@ function c4807253.initial_effect(c) ...@@ -23,12 +23,6 @@ function c4807253.initial_effect(c)
e3:SetCode(EVENT_SPSUMMON_SUCCESS) e3:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c4807253.spcon(e,tp,eg,ep,ev,re,r,rp)
local ex,cg,ct,cp,cv=Duel.GetOperationInfo(ev,CATEGORY_DAMAGE)
if ex and (cp==tp or cp==PLAYER_ALL) then return true end
ex,cg,ct,cp,cv=Duel.GetOperationInfo(ev,CATEGORY_RECOVER)
return ex and (cp==tp or cp==PLAYER_ALL) and Duel.IsPlayerAffectedByEffect(tp,EFFECT_REVERSE_RECOVER)
end
function c4807253.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function c4807253.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
......
...@@ -47,4 +47,8 @@ function c55735315.atkop(e,tp,eg,ep,ev,re,r,rp) ...@@ -47,4 +47,8 @@ function c55735315.atkop(e,tp,eg,ep,ev,re,r,rp)
e2:SetValue(0) e2:SetValue(0)
e2:SetReset(RESET_PHASE+PHASE_END) e2:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e2,tp) Duel.RegisterEffect(e2,tp)
local e3=e2:Clone()
e3:SetCode(EFFECT_NO_EFFECT_DAMAGE)
e3:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e3,tp)
end end
...@@ -46,8 +46,12 @@ function c56641453.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -46,8 +46,12 @@ function c56641453.activate(e,tp,eg,ep,ev,re,r,rp)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(1,0) e1:SetTargetRange(1,0)
e1:SetValue(c56641453.damval) e1:SetValue(c56641453.damval)
e1:SetReset(RESET_PHASE+PHASE_END,1) e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
local e2=e1:Clone()
e2:SetCode(EFFECT_NO_EFFECT_DAMAGE)
e2:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e2,tp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
local tcode=Duel.GetChainInfo(0,CHAININFO_TARGET_PARAM) local tcode=Duel.GetChainInfo(0,CHAININFO_TARGET_PARAM)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
......
...@@ -9,11 +9,7 @@ function c57006589.initial_effect(c) ...@@ -9,11 +9,7 @@ function c57006589.initial_effect(c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c57006589.condition(e,tp,eg,ep,ev,re,r,rp) function c57006589.condition(e,tp,eg,ep,ev,re,r,rp)
if ep==tp then return false end return ep~=tp and aux.damcon1(e,tp,eg,ep,ev,re,r,rp)
local ex,cg,ct,cp,cv=Duel.GetOperationInfo(ev,CATEGORY_DAMAGE)
if ex and (cp==tp or cp==PLAYER_ALL) then return true end
ex,cg,ct,cp,cv=Duel.GetOperationInfo(ev,CATEGORY_RECOVER)
return ex and (cp==tp or cp==PLAYER_ALL) and Duel.IsPlayerAffectedByEffect(tp,EFFECT_REVERSE_RECOVER)
end end
function c57006589.operation(e,tp,eg,ep,ev,re,r,rp) function c57006589.operation(e,tp,eg,ep,ev,re,r,rp)
local cid=Duel.GetChainInfo(ev,CHAININFO_CHAIN_ID) local cid=Duel.GetChainInfo(ev,CHAININFO_CHAIN_ID)
......
...@@ -42,17 +42,18 @@ function c57043117.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -42,17 +42,18 @@ function c57043117.operation(e,tp,eg,ep,ev,re,r,rp)
e1:SetValue(1000) e1:SetValue(1000)
e1:SetReset(RESET_EVENT+0x1ff0000+RESET_PHASE+PHASE_END) e1:SetReset(RESET_EVENT+0x1ff0000+RESET_PHASE+PHASE_END)
c:RegisterEffect(e1) c:RegisterEffect(e1)
if Duel.GetFlagEffect(tp,57043117)==0 then local e2=Effect.CreateEffect(e:GetHandler())
Duel.RegisterFlagEffect(tp,57043117,RESET_PHASE+PHASE_END,0,1) e2:SetType(EFFECT_TYPE_FIELD)
local e2=Effect.CreateEffect(e:GetHandler()) e2:SetCode(EFFECT_CHANGE_DAMAGE)
e2:SetType(EFFECT_TYPE_FIELD) e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetCode(EFFECT_CHANGE_DAMAGE) e2:SetTargetRange(1,0)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e2:SetValue(c57043117.damval)
e2:SetTargetRange(1,0) e2:SetReset(RESET_PHASE+PHASE_END)
e2:SetValue(c57043117.damval) Duel.RegisterEffect(e2,tp)
e2:SetReset(RESET_PHASE+PHASE_END,1) local e3=e2:Clone()
Duel.RegisterEffect(e2,tp) e3:SetCode(EFFECT_NO_EFFECT_DAMAGE)
end e3:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e3,tp)
end end
end end
function c57043117.damval(e,re,val,r,rp,rc) function c57043117.damval(e,re,val,r,rp,rc)
......
...@@ -61,4 +61,8 @@ function c57728570.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -61,4 +61,8 @@ function c57728570.activate(e,tp,eg,ep,ev,re,r,rp)
e1:SetValue(0) e1:SetValue(0)
e1:SetReset(RESET_PHASE+PHASE_END,2) e1:SetReset(RESET_PHASE+PHASE_END,2)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
local e2=e1:Clone()
e2:SetCode(EFFECT_NO_EFFECT_DAMAGE)
e2:SetReset(RESET_PHASE+PHASE_END,2)
Duel.RegisterEffect(e2,tp)
end end
...@@ -13,11 +13,7 @@ function c62476197.initial_effect(c) ...@@ -13,11 +13,7 @@ function c62476197.initial_effect(c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c62476197.spcon(e,tp,eg,ep,ev,re,r,rp) function c62476197.spcon(e,tp,eg,ep,ev,re,r,rp)
local ex,cg,ct,cp,cv=Duel.GetOperationInfo(ev,CATEGORY_DAMAGE) return aux.damcon1(e,tp,eg,ep,ev,re,r,rp) or aux.damcon1(e,1-tp,eg,ep,ev,re,r,rp)
if ex then return true end
ex,cg,ct,cp,cv=Duel.GetOperationInfo(ev,CATEGORY_RECOVER)
return ex and ((cp~=PLAYER_ALL and Duel.IsPlayerAffectedByEffect(cp,EFFECT_REVERSE_RECOVER)) or
(cp~=PLAYER_ALL and (Duel.IsPlayerAffectedByEffect(0,EFFECT_REVERSE_RECOVER) or Duel.IsPlayerAffectedByEffect(1,EFFECT_REVERSE_RECOVER))))
end end
function c62476197.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function c62476197.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return not e:GetHandler():IsStatus(STATUS_CHAINING) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 if chk==0 then return not e:GetHandler():IsStatus(STATUS_CHAINING) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
......
...@@ -15,18 +15,21 @@ function c63583431.initial_effect(c) ...@@ -15,18 +15,21 @@ function c63583431.initial_effect(c)
e2:SetCondition(c63583431.damcon) e2:SetCondition(c63583431.damcon)
e2:SetValue(c63583431.damval) e2:SetValue(c63583431.damval)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--indes local e3=e2:Clone()
local e3=Effect.CreateEffect(c) e3:SetCode(EFFECT_NO_EFFECT_DAMAGE)
e3:SetDescription(aux.Stringid(63583431,0))
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetRange(LOCATION_SZONE)
e3:SetCode(EVENT_ATTACK_ANNOUNCE)
e3:SetHintTiming(TIMING_BATTLE_PHASE)
e3:SetCountLimit(1)
e3:SetCondition(c63583431.indcon)
e3:SetTarget(c63583431.indtg)
e3:SetOperation(c63583431.indop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--indes
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(63583431,0))
e4:SetType(EFFECT_TYPE_QUICK_O)
e4:SetRange(LOCATION_SZONE)
e4:SetCode(EVENT_ATTACK_ANNOUNCE)
e4:SetHintTiming(TIMING_BATTLE_PHASE)
e4:SetCountLimit(1)
e4:SetCondition(c63583431.indcon)
e4:SetTarget(c63583431.indtg)
e4:SetOperation(c63583431.indop)
c:RegisterEffect(e4)
end end
function c63583431.cfilter(c) function c63583431.cfilter(c)
return c:IsFaceup() and c:IsSetCard(0x59) return c:IsFaceup() and c:IsSetCard(0x59)
......
...@@ -64,6 +64,10 @@ function c6387204.eqop(e,tp,eg,ep,ev,re,r,rp) ...@@ -64,6 +64,10 @@ function c6387204.eqop(e,tp,eg,ep,ev,re,r,rp)
e3:SetValue(0) e3:SetValue(0)
e3:SetReset(RESET_PHASE+PHASE_END) e3:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e3,tp) Duel.RegisterEffect(e3,tp)
local e4=e3:Clone()
e4:SetCode(EFFECT_NO_EFFECT_DAMAGE)
e4:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e4,tp)
end end
function c6387204.eqlimit(e,c) function c6387204.eqlimit(e,c)
return e:GetOwner()==c return e:GetOwner()==c
......
...@@ -15,10 +15,16 @@ function c67616300.initial_effect(c) ...@@ -15,10 +15,16 @@ function c67616300.initial_effect(c)
e2:SetCondition(c67616300.damcon1) e2:SetCondition(c67616300.damcon1)
e2:SetValue(0) e2:SetValue(0)
c:RegisterEffect(e2) c:RegisterEffect(e2)
local e7=e2:Clone()
e7:SetCode(EFFECT_NO_EFFECT_DAMAGE)
c:RegisterEffect(e7)
local e3=e2:Clone() local e3=e2:Clone()
e3:SetTargetRange(0,1) e3:SetTargetRange(0,1)
e3:SetCondition(c67616300.damcon2) e3:SetCondition(c67616300.damcon2)
c:RegisterEffect(e3) c:RegisterEffect(e3)
local e8=e3:Clone()
e8:SetCode(EFFECT_NO_EFFECT_DAMAGE)
c:RegisterEffect(e8)
--draw --draw
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(67616300,0)) e4:SetDescription(aux.Stringid(67616300,0))
......
...@@ -40,11 +40,7 @@ function c68819554.effcost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -40,11 +40,7 @@ function c68819554.effcost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription()) Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription())
end end
function c68819554.negcon(e,tp,eg,ep,ev,re,r,rp) function c68819554.negcon(e,tp,eg,ep,ev,re,r,rp)
if not Duel.IsChainNegatable(ev) then return false end return Duel.IsChainNegatable(ev) and aux.damcon1(e,tp,eg,ep,ev,re,r,rp) end
local ex,cg,ct,cp,cv=Duel.GetOperationInfo(ev,CATEGORY_DAMAGE)
if ex and (cp==tp or cp==PLAYER_ALL) then return true end
ex,cg,ct,cp,cv=Duel.GetOperationInfo(ev,CATEGORY_RECOVER)
return ex and (cp==tp or cp==PLAYER_ALL) and Duel.IsPlayerAffectedByEffect(tp,EFFECT_REVERSE_RECOVER)
end end
function c68819554.negtg(e,tp,eg,ep,ev,re,r,rp,chk) function c68819554.negtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
......
...@@ -65,6 +65,10 @@ function c7025445.damop(e,tp,eg,ep,ev,re,r,rp) ...@@ -65,6 +65,10 @@ function c7025445.damop(e,tp,eg,ep,ev,re,r,rp)
e1:SetValue(c7025445.damval) e1:SetValue(c7025445.damval)
e1:SetReset(RESET_PHASE+PHASE_DAMAGE) e1:SetReset(RESET_PHASE+PHASE_DAMAGE)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
local e2=e1:Clone()
e2:SetCode(EFFECT_NO_EFFECT_DAMAGE)
e2:SetReset(RESET_PHASE+PHASE_DAMAGE)
Duel.RegisterEffect(e2,tp)
end end
function c7025445.damval(e,re,val,r,rp,rc) function c7025445.damval(e,re,val,r,rp,rc)
if bit.band(r,REASON_EFFECT)~=0 then return 0 if bit.band(r,REASON_EFFECT)~=0 then return 0
......
...@@ -14,8 +14,12 @@ function c74270067.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -14,8 +14,12 @@ function c74270067.operation(e,tp,eg,ep,ev,re,r,rp)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(1,0) e1:SetTargetRange(1,0)
e1:SetValue(c74270067.damval) e1:SetValue(c74270067.damval)
e1:SetReset(RESET_PHASE+PHASE_END,1) e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
local e2=e1:Clone()
e2:SetCode(EFFECT_NO_EFFECT_DAMAGE)
e2:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e2,tp)
end end
function c74270067.damval(e,re,val,r,rp,rc) function c74270067.damval(e,re,val,r,rp,rc)
if bit.band(r,REASON_EFFECT)~=0 then return 0 if bit.band(r,REASON_EFFECT)~=0 then return 0
......
...@@ -47,7 +47,7 @@ function c75253697.desop(e,tp,eg,ep,ev,re,r,rp) ...@@ -47,7 +47,7 @@ function c75253697.desop(e,tp,eg,ep,ev,re,r,rp)
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(c75253697.val)
e1:SetReset(RESET_PHASE+PHASE_END,1) 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) function c75253697.val(e,re,dam,r,rp,rc)
......
...@@ -9,11 +9,7 @@ function c76714458.initial_effect(c) ...@@ -9,11 +9,7 @@ function c76714458.initial_effect(c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c76714458.condition(e,tp,eg,ep,ev,re,r,rp) function c76714458.condition(e,tp,eg,ep,ev,re,r,rp)
if ep==tp then return false end return ep~=tp and aux.damcon1(e,tp,eg,ep,ev,re,r,rp)
local ex,cg,ct,cp,cv=Duel.GetOperationInfo(ev,CATEGORY_DAMAGE)
if ex and (cp==tp or cp==PLAYER_ALL) then return true end
ex,cg,ct,cp,cv=Duel.GetOperationInfo(ev,CATEGORY_RECOVER)
return ex and (cp==tp or cp==PLAYER_ALL) and Duel.IsPlayerAffectedByEffect(tp,EFFECT_REVERSE_RECOVER)
end end
function c76714458.operation(e,tp,eg,ep,ev,re,r,rp) function c76714458.operation(e,tp,eg,ep,ev,re,r,rp)
local cid=Duel.GetChainInfo(ev,CHAININFO_CHAIN_ID) local cid=Duel.GetChainInfo(ev,CHAININFO_CHAIN_ID)
......
...@@ -20,8 +20,12 @@ function c76986005.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -20,8 +20,12 @@ function c76986005.operation(e,tp,eg,ep,ev,re,r,rp)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(1,0) e1:SetTargetRange(1,0)
e1:SetValue(c76986005.damval) e1:SetValue(c76986005.damval)
e1:SetReset(RESET_PHASE+PHASE_END,1) e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
local e2=e1:Clone()
e2:SetCode(EFFECT_NO_EFFECT_DAMAGE)
e2:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e2,tp)
end end
function c76986005.damval(e,re,val,r,rp,rc) function c76986005.damval(e,re,val,r,rp,rc)
if bit.band(r,REASON_EFFECT)~=0 then return 0 if bit.band(r,REASON_EFFECT)~=0 then return 0
......
...@@ -74,6 +74,10 @@ function c84117021.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -74,6 +74,10 @@ function c84117021.activate(e,tp,eg,ep,ev,re,r,rp)
e1:SetValue(0) e1:SetValue(0)
e1:SetReset(RESET_PHASE+PHASE_END) e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
local e2=e1:Clone()
e2:SetCode(EFFECT_NO_EFFECT_DAMAGE)
e2:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e2,tp)
end end
function c84117021.sumcon(e,tp,eg,ep,ev,re,r,rp) function c84117021.sumcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c84117021.filter,1,nil) return eg:IsExists(c84117021.filter,1,nil)
......
...@@ -13,6 +13,9 @@ function c9012916.initial_effect(c) ...@@ -13,6 +13,9 @@ function c9012916.initial_effect(c)
e1:SetTargetRange(1,0) e1:SetTargetRange(1,0)
e1:SetValue(c9012916.damval) e1:SetValue(c9012916.damval)
c:RegisterEffect(e1) c:RegisterEffect(e1)
local e4=e1:Clone()
e4:SetCode(EFFECT_NO_EFFECT_DAMAGE)
c:RegisterEffect(e4)
--atkdown-c --atkdown-c
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE) e2:SetType(EFFECT_TYPE_SINGLE)
......
...@@ -35,6 +35,9 @@ function c92536468.initial_effect(c) ...@@ -35,6 +35,9 @@ function c92536468.initial_effect(c)
e4:SetTargetRange(1,0) e4:SetTargetRange(1,0)
e4:SetValue(c92536468.damval) e4:SetValue(c92536468.damval)
c:RegisterEffect(e4) c:RegisterEffect(e4)
local e5=e4:Clone()
e5:SetCode(EFFECT_NO_EFFECT_DAMAGE)
c:RegisterEffect(e5)
end end
function c92536468.effcon(e,tp,eg,ep,ev,re,r,rp) function c92536468.effcon(e,tp,eg,ep,ev,re,r,rp)
return ep==tp and bit.band(r,REASON_EFFECT)~=0 return ep==tp and bit.band(r,REASON_EFFECT)~=0
......
...@@ -8,6 +8,9 @@ function c9637706.initial_effect(c) ...@@ -8,6 +8,9 @@ function c9637706.initial_effect(c)
e1:SetTargetRange(1,0) e1:SetTargetRange(1,0)
e1:SetValue(c9637706.damval) e1:SetValue(c9637706.damval)
c:RegisterEffect(e1) c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_NO_EFFECT_DAMAGE)
c:RegisterEffect(e2)
end end
function c9637706.damval(e,re,val,r,rp,rc) function c9637706.damval(e,re,val,r,rp,rc)
if bit.band(r,REASON_EFFECT)~=0 then return 0 if bit.band(r,REASON_EFFECT)~=0 then return 0
......
...@@ -474,6 +474,7 @@ EFFECT_LEFT_SPSUMMON_COUNT =331 --剩餘召喚次數(召喚限制網) ...@@ -474,6 +474,7 @@ EFFECT_LEFT_SPSUMMON_COUNT =331 --剩餘召喚次數(召喚限制網)
EFFECT_CANNOT_SELECT_BATTLE_TARGET =332 --對手不能選擇為攻擊對象 EFFECT_CANNOT_SELECT_BATTLE_TARGET =332 --對手不能選擇為攻擊對象
EFFECT_CANNOT_SELECT_EFFECT_TARGET =333 --對手不能選擇為效果對象 EFFECT_CANNOT_SELECT_EFFECT_TARGET =333 --對手不能選擇為效果對象
EFFECT_ADD_SETCODE =334 --规则上视为「XX」字段 EFFECT_ADD_SETCODE =334 --规则上视为「XX」字段
EFFECT_NO_EFFECT_DAMAGE =335 --受到的效果傷害變成0
--下面是诱发效果的诱发事件、时点 (如果是TYPE_SINGLE则自己发生以下事件后触发,如果TYPE_FIELD则场上任何卡发生以下事件都触发) --下面是诱发效果的诱发事件、时点 (如果是TYPE_SINGLE则自己发生以下事件后触发,如果TYPE_FIELD则场上任何卡发生以下事件都触发)
EVENT_STARTUP =1000 --游戏开始时 EVENT_STARTUP =1000 --游戏开始时
......
...@@ -1198,3 +1198,16 @@ end ...@@ -1198,3 +1198,16 @@ end
function Auxiliary.penlimit(e,se,sp,st) function Auxiliary.penlimit(e,se,sp,st)
return bit.band(st,SUMMON_TYPE_PENDULUM)==SUMMON_TYPE_PENDULUM return bit.band(st,SUMMON_TYPE_PENDULUM)==SUMMON_TYPE_PENDULUM
end end
--effects inflicting damage to tp
function Auxiliary.damcon1(e,tp,eg,ep,ev,re,r,rp)
local e1=Duel.IsPlayerAffectedByEffect(tp,EFFECT_REVERSE_DAMAGE)
local e2=Duel.IsPlayerAffectedByEffect(tp,EFFECT_REVERSE_RECOVER)
local rd=e1 and not e2
local rr=not e1 and e2
local ex,cg,ct,cp,cv=Duel.GetOperationInfo(ev,CATEGORY_DAMAGE)
if ex and (cp==tp or cp==PLAYER_ALL) and not rd and not Duel.IsPlayerAffectedByEffect(tp,EFFECT_NO_EFFECT_DAMAGE) then
return true
end
ex,cg,ct,cp,cv=Duel.GetOperationInfo(ev,CATEGORY_RECOVER)
return ex and (cp==tp or cp==PLAYER_ALL) and rr and not Duel.IsPlayerAffectedByEffect(tp,EFFECT_NO_EFFECT_DAMAGE)
end
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment