Commit 26150d7b authored by DailyShana's avatar DailyShana

fix diabling battle target in battle phase

parent 76ebde28
...@@ -20,9 +20,20 @@ function c12644061.initial_effect(c) ...@@ -20,9 +20,20 @@ function c12644061.initial_effect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_ATTACK_ANNOUNCE) e3:SetCode(EVENT_ATTACK_ANNOUNCE)
e3:SetRange(LOCATION_FZONE) e3:SetRange(LOCATION_FZONE)
e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e3:SetCondition(c12644061.discon) e3:SetCondition(c12644061.discon)
e3:SetOperation(c12644061.disop) e3:SetOperation(c12644061.disop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
local e6=Effect.CreateEffect(c)
e6:SetType(EFFECT_TYPE_FIELD)
e6:SetCode(EFFECT_DISABLE)
e6:SetRange(LOCATION_FZONE)
e6:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE)
e6:SetTarget(c12644061.distg)
c:RegisterEffect(e6)
local e7=e6:Clone()
e7:SetCode(EFFECT_DISABLE_EFFECT)
c:RegisterEffect(e7)
-- --
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(12644061,0)) e4:SetDescription(aux.Stringid(12644061,0))
...@@ -50,16 +61,10 @@ function c12644061.discon(e,tp,eg,ep,ev,re,r,rp) ...@@ -50,16 +61,10 @@ function c12644061.discon(e,tp,eg,ep,ev,re,r,rp)
end end
function c12644061.disop(e,tp,eg,ep,ev,re,r,rp) function c12644061.disop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetAttackTarget() local tc=Duel.GetAttackTarget()
local e1=Effect.CreateEffect(e:GetHandler()) tc:RegisterFlagEffect(12644061,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_BATTLE,0,1)
e1:SetType(EFFECT_TYPE_SINGLE) end
e1:SetCode(EFFECT_DISABLE) function c12644061.distg(e,c)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_BATTLE) return c:GetFlagEffect(12644061)~=0
tc:RegisterEffect(e1)
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_DISABLE_EFFECT)
e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_BATTLE)
tc:RegisterEffect(e2)
end end
function c12644061.condition(e) function c12644061.condition(e)
local tp=e:GetHandlerPlayer() local tp=e:GetHandlerPlayer()
......
...@@ -21,9 +21,20 @@ function c12735388.initial_effect(c) ...@@ -21,9 +21,20 @@ function c12735388.initial_effect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_BE_BATTLE_TARGET) e3:SetCode(EVENT_BE_BATTLE_TARGET)
e3:SetRange(LOCATION_SZONE) e3:SetRange(LOCATION_SZONE)
e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e3:SetCondition(c12735388.discon1) e3:SetCondition(c12735388.discon1)
e3:SetOperation(c12735388.disop1) e3:SetOperation(c12735388.disop1)
c:RegisterEffect(e3) c:RegisterEffect(e3)
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD)
e4:SetCode(EFFECT_DISABLE)
e4:SetRange(LOCATION_SZONE)
e4:SetTargetRange(0,LOCATION_MZONE)
e4:SetTarget(c12735388.distg)
c:RegisterEffect(e4)
local e5=e4:Clone()
e5:SetCode(EFFECT_DISABLE_EFFECT)
c:RegisterEffect(e5)
end end
function c12735388.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c12735388.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsFaceup() end if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsFaceup() end
...@@ -45,29 +56,8 @@ end ...@@ -45,29 +56,8 @@ end
function c12735388.disop1(e,tp,eg,ep,ev,re,r,rp) function c12735388.disop1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local tc=c:GetEquipTarget():GetBattleTarget() local tc=c:GetEquipTarget():GetBattleTarget()
c:CreateRelation(tc,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_BATTLE) tc:RegisterFlagEffect(12735388,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_BATTLE,0,1)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_DISABLE)
e1:SetProperty(EFFECT_FLAG_OWNER_RELATE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_BATTLE)
e1:SetCondition(c12735388.discon2)
tc:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_CHAIN_SOLVING)
e2:SetRange(LOCATION_SZONE)
e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_BATTLE)
e2:SetOperation(c12735388.disop2)
e2:SetLabelObject(tc)
c:RegisterEffect(e2)
end end
function c12735388.discon2(e) function c12735388.distg(e,c)
return e:GetOwner():IsRelateToCard(e:GetHandler()) return c:GetFlagEffect(12735388)~=0
end
function c12735388.disop2(e,tp,eg,ep,ev,re,r,rp)
local loc=Duel.GetChainInfo(ev,CHAININFO_TRIGGERING_LOCATION)
if loc==LOCATION_MZONE and re:GetHandler()==e:GetLabelObject() then
Duel.NegateEffect(ev)
end
end end
...@@ -14,13 +14,22 @@ function c19642889.initial_effect(c) ...@@ -14,13 +14,22 @@ function c19642889.initial_effect(c)
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_ATTACK_ANNOUNCE) e2:SetCode(EVENT_ATTACK_ANNOUNCE)
e2:SetOperation(c19642889.negop1) e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetOperation(c19642889.disop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c) local e3=e2:Clone()
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_BE_BATTLE_TARGET) e3:SetCode(EVENT_BE_BATTLE_TARGET)
e3:SetOperation(c19642889.negop2)
c:RegisterEffect(e3) c:RegisterEffect(e3)
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD)
e4:SetCode(EFFECT_DISABLE)
e4:SetRange(LOCATION_MZONE)
e4:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE)
e4:SetTarget(c19642889.distg)
c:RegisterEffect(e4)
local e5=e4:Clone()
e5:SetCode(EFFECT_DISABLE_EFFECT)
c:RegisterEffect(e5)
end end
function c19642889.mtcon(e,tp,eg,ep,ev,re,r,rp) function c19642889.mtcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()==tp return Duel.GetTurnPlayer()==tp
...@@ -61,33 +70,13 @@ function c19642889.mtop(e,tp,eg,ep,ev,re,r,rp) ...@@ -61,33 +70,13 @@ function c19642889.mtop(e,tp,eg,ep,ev,re,r,rp)
Duel.Destroy(c,REASON_COST) Duel.Destroy(c,REASON_COST)
end end
end end
function c19642889.negop1(e,tp,eg,ep,ev,re,r,rp) function c19642889.disop(e,tp,eg,ep,ev,re,r,rp)
local d=Duel.GetAttackTarget() local c=e:GetHandler()
if d and d:IsAttribute(ATTRIBUTE_LIGHT+ATTRIBUTE_DARK) then local tc=c:GetBattleTarget()
local e1=Effect.CreateEffect(e:GetHandler()) if tc and tc:IsAttribute(ATTRIBUTE_LIGHT+ATTRIBUTE_DARK) then
e1:SetType(EFFECT_TYPE_SINGLE) tc:RegisterFlagEffect(19642889,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_BATTLE,0,1)
e1:SetCode(EFFECT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_BATTLE)
d:RegisterEffect(e1)
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_DISABLE_EFFECT)
e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_BATTLE)
d:RegisterEffect(e2)
end end
end end
function c19642889.negop2(e,tp,eg,ep,ev,re,r,rp) function c19642889.distg(e,c)
local a=Duel.GetAttacker() return c:GetFlagEffect(19642889)~=0
if a and a:IsAttribute(ATTRIBUTE_LIGHT+ATTRIBUTE_DARK) then
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_BATTLE)
a:RegisterEffect(e1)
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_DISABLE_EFFECT)
e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_BATTLE)
a:RegisterEffect(e2)
end
end end
...@@ -29,9 +29,20 @@ function c35220244.initial_effect(c) ...@@ -29,9 +29,20 @@ function c35220244.initial_effect(c)
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e4:SetCode(EVENT_BE_BATTLE_TARGET) e4:SetCode(EVENT_BE_BATTLE_TARGET)
e4:SetRange(LOCATION_SZONE) e4:SetRange(LOCATION_SZONE)
e4:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e4:SetCondition(c35220244.discon) e4:SetCondition(c35220244.discon)
e4:SetOperation(c35220244.disop) e4:SetOperation(c35220244.disop)
c:RegisterEffect(e4) c:RegisterEffect(e4)
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_FIELD)
e5:SetCode(EFFECT_DISABLE)
e5:SetRange(LOCATION_SZONE)
e5:SetTargetRange(0,LOCATION_MZONE)
e5:SetTarget(c35220244.distg)
c:RegisterEffect(e5)
local e6=e5:Clone()
e6:SetCode(EFFECT_DISABLE_EFFECT)
c:RegisterEffect(e6)
end end
function c35220244.eqlimit(e,c) function c35220244.eqlimit(e,c)
return c:IsRace(RACE_MACHINE) return c:IsRace(RACE_MACHINE)
...@@ -70,14 +81,8 @@ function c35220244.discon(e,tp,eg,ep,ev,re,r,rp) ...@@ -70,14 +81,8 @@ function c35220244.discon(e,tp,eg,ep,ev,re,r,rp)
end end
function c35220244.disop(e,tp,eg,ep,ev,re,r,rp) function c35220244.disop(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetHandler():GetEquipTarget():GetBattleTarget() local tc=e:GetHandler():GetEquipTarget():GetBattleTarget()
local e1=Effect.CreateEffect(e:GetHandler()) tc:RegisterFlagEffect(35220244,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_BATTLE,0,1)
e1:SetType(EFFECT_TYPE_SINGLE) end
e1:SetCode(EFFECT_DISABLE) function c35220244.distg(e,c)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_BATTLE) return c:GetFlagEffect(35220244)~=0
tc:RegisterEffect(e1)
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_DISABLE_EFFECT)
e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_BATTLE)
tc:RegisterEffect(e2)
end end
...@@ -17,13 +17,22 @@ function c40509732.initial_effect(c) ...@@ -17,13 +17,22 @@ function c40509732.initial_effect(c)
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_ATTACK_ANNOUNCE) e2:SetCode(EVENT_ATTACK_ANNOUNCE)
e2:SetRange(LOCATION_MZONE) e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetCondition(c40509732.con)
e2:SetOperation(c40509732.disop) e2:SetOperation(c40509732.disop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
local e3=e2:Clone() local e3=e2:Clone()
e3:SetCode(EVENT_BE_BATTLE_TARGET) e3:SetCode(EVENT_BE_BATTLE_TARGET)
c:RegisterEffect(e3) c:RegisterEffect(e3)
local e6=Effect.CreateEffect(c)
e6:SetType(EFFECT_TYPE_FIELD)
e6:SetCode(EFFECT_DISABLE)
e6:SetRange(LOCATION_MZONE)
e6:SetTargetRange(0,LOCATION_MZONE)
e6:SetTarget(c40509732.distg)
c:RegisterEffect(e6)
local e7=e6:Clone()
e7:SetCode(EFFECT_DISABLE_EFFECT)
c:RegisterEffect(e7)
--special summon --special summon
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(40509732,0)) e4:SetDescription(aux.Stringid(40509732,0))
...@@ -36,31 +45,13 @@ function c40509732.initial_effect(c) ...@@ -36,31 +45,13 @@ function c40509732.initial_effect(c)
e4:SetOperation(c40509732.spop) e4:SetOperation(c40509732.spop)
c:RegisterEffect(e4) c:RegisterEffect(e4)
end end
function c40509732.con(e)
local c=e:GetHandler()
return (Duel.GetAttacker()==c and c:GetBattleTarget()) or Duel.GetAttackTarget()==c
end
function c40509732.disop(e,tp,eg,ep,ev,re,r,rp) function c40509732.disop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local tc=e:GetHandler():GetBattleTarget()
local tc=Duel.GetAttackTarget()
if not tc then return end if not tc then return end
if tc:IsControler(tp) then tc=Duel.GetAttacker() end tc:RegisterFlagEffect(40509732,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_BATTLE,0,1)
c:CreateRelation(tc,RESET_EVENT+RESETS_STANDARD)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_DISABLE)
e1:SetCondition(c40509732.discon2)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_BATTLE)
tc:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_DISABLE_EFFECT)
e2:SetCondition(c40509732.discon2)
e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_BATTLE)
tc:RegisterEffect(e2)
end end
function c40509732.discon2(e) function c40509732.distg(e,c)
return e:GetOwner():IsRelateToCard(e:GetHandler()) return c:GetFlagEffect(40509732)~=0
end end
function c40509732.spcon(e,tp,eg,ep,ev,re,r,rp) function c40509732.spcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
......
...@@ -28,9 +28,20 @@ function c63730624.initial_effect(c) ...@@ -28,9 +28,20 @@ function c63730624.initial_effect(c)
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e4:SetRange(LOCATION_SZONE) e4:SetRange(LOCATION_SZONE)
e4:SetCode(EVENT_BE_BATTLE_TARGET) e4:SetCode(EVENT_BE_BATTLE_TARGET)
e4:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e4:SetCondition(c63730624.scon2) e4:SetCondition(c63730624.scon2)
e4:SetOperation(c63730624.sop2) e4:SetOperation(c63730624.sop2)
c:RegisterEffect(e4) c:RegisterEffect(e4)
local e7=Effect.CreateEffect(c)
e7:SetType(EFFECT_TYPE_FIELD)
e7:SetCode(EFFECT_DISABLE)
e7:SetRange(LOCATION_SZONE)
e7:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE)
e7:SetTarget(c63730624.distg)
c:RegisterEffect(e7)
local e8=e7:Clone()
e8:SetCode(EFFECT_DISABLE_EFFECT)
c:RegisterEffect(e8)
--atk --atk
local e5=Effect.CreateEffect(c) local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_FIELD) e5:SetType(EFFECT_TYPE_FIELD)
...@@ -83,16 +94,10 @@ end ...@@ -83,16 +94,10 @@ end
function c63730624.sop2(e,tp,eg,ep,ev,re,r,rp) function c63730624.sop2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local d=Duel.GetAttackTarget() local d=Duel.GetAttackTarget()
local e1=Effect.CreateEffect(c) d:RegisterFlagEffect(63730624,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_BATTLE,0,1)
e1:SetType(EFFECT_TYPE_SINGLE) end
e1:SetCode(EFFECT_DISABLE) function c63730624.distg(e,c)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_BATTLE) return c:GetFlagEffect(63730624)~=0
d:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_DISABLE_EFFECT)
e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_BATTLE)
d:RegisterEffect(e2)
end end
function c63730624.ocon1(e) function c63730624.ocon1(e)
return e:GetHandler():GetEquipTarget() and Duel.GetTurnPlayer()~=e:GetHandler():GetControler() return e:GetHandler():GetEquipTarget() and Duel.GetTurnPlayer()~=e:GetHandler():GetControler()
......
...@@ -48,12 +48,24 @@ function c71345905.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -48,12 +48,24 @@ function c71345905.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_SINGLE+EFFECT_TYPE_CONTINUOUS) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_ATTACK_ANNOUNCE) e1:SetCode(EVENT_ATTACK_ANNOUNCE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetOperation(c71345905.disop) e1:SetOperation(c71345905.disop)
e1:SetReset(RESET_EVENT+RESETS_STANDARD) e1:SetReset(RESET_EVENT+RESETS_STANDARD)
sc:RegisterEffect(e1) sc:RegisterEffect(e1)
local e2=e1:Clone() local e2=e1:Clone()
e2:SetCode(EVENT_BE_BATTLE_TARGET) e2:SetCode(EVENT_BE_BATTLE_TARGET)
sc:RegisterEffect(e2) sc:RegisterEffect(e2)
local e3=Effect.CreateEffect(e:GetHandler())
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_DISABLE)
e3:SetRange(LOCATION_MZONE)
e3:SetTargetRange(0,LOCATION_MZONE)
e3:SetTarget(c71345905.distg)
e3:SetReset(RESET_EVENT+RESETS_STANDARD)
sc:RegisterEffect(e3)
local e4=e3:Clone()
e4:SetCode(EFFECT_DISABLE_EFFECT)
sc:RegisterEffect(e4)
sc:RegisterFlagEffect(0,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(71345905,0)) sc:RegisterFlagEffect(0,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(71345905,0))
end end
end end
...@@ -61,15 +73,9 @@ function c71345905.disop(e,tp,eg,ep,ev,re,r,rp) ...@@ -61,15 +73,9 @@ function c71345905.disop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local bc=c:GetBattleTarget() local bc=c:GetBattleTarget()
if bc then if bc then
local e1=Effect.CreateEffect(c) bc:RegisterFlagEffect(71345905,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_BATTLE,0,1)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_BATTLE)
bc:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_DISABLE_EFFECT)
e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_BATTLE)
bc:RegisterEffect(e2)
end end
end end
function c71345905.distg(e,c)
return c:GetFlagEffect(71345905)~=0
end
...@@ -17,9 +17,20 @@ function c76080032.initial_effect(c) ...@@ -17,9 +17,20 @@ function c76080032.initial_effect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_BE_BATTLE_TARGET) e3:SetCode(EVENT_BE_BATTLE_TARGET)
e3:SetRange(LOCATION_SZONE) e3:SetRange(LOCATION_SZONE)
e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e3:SetCondition(c76080032.discon) e3:SetCondition(c76080032.discon)
e3:SetOperation(c76080032.disop) e3:SetOperation(c76080032.disop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD)
e4:SetCode(EFFECT_DISABLE)
e4:SetRange(LOCATION_SZONE)
e4:SetTargetRange(0,LOCATION_MZONE)
e4:SetTarget(c76080032.distg)
c:RegisterEffect(e4)
local e5=e4:Clone()
e5:SetCode(EFFECT_DISABLE_EFFECT)
c:RegisterEffect(e5)
end end
function c76080032.eqcon(e,tp,eg,ep,ev,re,r,rp) function c76080032.eqcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():CheckUniqueOnField(tp) return e:GetHandler():CheckUniqueOnField(tp)
...@@ -65,16 +76,10 @@ function c76080032.discon(e,tp,eg,ep,ev,re,r,rp) ...@@ -65,16 +76,10 @@ function c76080032.discon(e,tp,eg,ep,ev,re,r,rp)
end end
function c76080032.disop(e,tp,eg,ep,ev,re,r,rp) function c76080032.disop(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetHandler():GetEquipTarget():GetBattleTarget() local tc=e:GetHandler():GetEquipTarget():GetBattleTarget()
local e1=Effect.CreateEffect(e:GetHandler()) tc:RegisterFlagEffect(76080032,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_BATTLE,0,1)
e1:SetType(EFFECT_TYPE_SINGLE) end
e1:SetCode(EFFECT_DISABLE) function c76080032.distg(e,c)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_BATTLE) return c:GetFlagEffect(76080032)~=0
tc:RegisterEffect(e1)
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_DISABLE_EFFECT)
e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_BATTLE)
tc:RegisterEffect(e2)
end end
function c76080032.eqlimit(e,c) function c76080032.eqlimit(e,c)
return c==e:GetLabelObject() return c==e:GetLabelObject()
......
...@@ -21,12 +21,23 @@ function c87460579.initial_effect(c) ...@@ -21,12 +21,23 @@ function c87460579.initial_effect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_ATTACK_ANNOUNCE) e3:SetCode(EVENT_ATTACK_ANNOUNCE)
e3:SetRange(LOCATION_MZONE) e3:SetRange(LOCATION_MZONE)
e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e3:SetCondition(c87460579.discon) e3:SetCondition(c87460579.discon)
e3:SetOperation(c87460579.disop) e3:SetOperation(c87460579.disop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
local e4=e3:Clone() local e4=e3:Clone()
e4:SetCode(EVENT_BE_BATTLE_TARGET) e4:SetCode(EVENT_BE_BATTLE_TARGET)
c:RegisterEffect(e4) c:RegisterEffect(e4)
local e6=Effect.CreateEffect(c)
e6:SetType(EFFECT_TYPE_FIELD)
e6:SetCode(EFFECT_DISABLE)
e6:SetRange(LOCATION_MZONE)
e6:SetTargetRange(0,LOCATION_MZONE)
e6:SetTarget(c87460579.distg)
c:RegisterEffect(e6)
local e7=e6:Clone()
e7:SetCode(EFFECT_DISABLE_EFFECT)
c:RegisterEffect(e7)
--special summon --special summon
local e5=Effect.CreateEffect(c) local e5=Effect.CreateEffect(c)
e5:SetDescription(aux.Stringid(87460579,1)) e5:SetDescription(aux.Stringid(87460579,1))
...@@ -68,22 +79,10 @@ function c87460579.disop(e,tp,eg,ep,ev,re,r,rp) ...@@ -68,22 +79,10 @@ function c87460579.disop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local tc=Duel.GetAttackTarget() local tc=Duel.GetAttackTarget()
if tc:IsControler(tp) then tc=Duel.GetAttacker() end if tc:IsControler(tp) then tc=Duel.GetAttacker() end
c:CreateRelation(tc,RESET_EVENT+RESETS_STANDARD) tc:RegisterFlagEffect(87460579,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_BATTLE,0,1)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_DISABLE)
e1:SetCondition(c87460579.discon2)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_BATTLE)
tc:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_DISABLE_EFFECT)
e2:SetCondition(c87460579.discon2)
e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_BATTLE)
tc:RegisterEffect(e2)
end end
function c87460579.discon2(e) function c87460579.distg(e,c)
return e:GetOwner():IsRelateToCard(e:GetHandler()) return c:GetFlagEffect(87460579)~=0
end end
function c87460579.spcon(e,tp,eg,ep,ev,re,r,rp) function c87460579.spcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
......
...@@ -23,11 +23,22 @@ function c9024367.initial_effect(c) ...@@ -23,11 +23,22 @@ function c9024367.initial_effect(c)
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e4:SetCode(EVENT_ATTACK_ANNOUNCE) e4:SetCode(EVENT_ATTACK_ANNOUNCE)
e4:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e4:SetOperation(c9024367.disop) e4:SetOperation(c9024367.disop)
c:RegisterEffect(e4) c:RegisterEffect(e4)
local e5=e4:Clone() local e5=e4:Clone()
e5:SetCode(EVENT_BE_BATTLE_TARGET) e5:SetCode(EVENT_BE_BATTLE_TARGET)
c:RegisterEffect(e5) c:RegisterEffect(e5)
local e6=Effect.CreateEffect(c)
e6:SetType(EFFECT_TYPE_FIELD)
e6:SetCode(EFFECT_DISABLE)
e6:SetRange(LOCATION_MZONE)
e6:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE)
e6:SetTarget(c9024367.distg)
c:RegisterEffect(e6)
local e7=e6:Clone()
e7:SetCode(EFFECT_DISABLE_EFFECT)
c:RegisterEffect(e7)
end end
function c9024367.bttg(e,c) function c9024367.bttg(e,c)
return c:IsFacedown() or not c:IsRace(RACE_DRAGON) return c:IsFacedown() or not c:IsRace(RACE_DRAGON)
...@@ -41,21 +52,9 @@ function c9024367.disop(e,tp,eg,ep,ev,re,r,rp) ...@@ -41,21 +52,9 @@ function c9024367.disop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local bc=c:GetBattleTarget() local bc=c:GetBattleTarget()
if bc and bc:IsRace(RACE_DRAGON) then if bc and bc:IsRace(RACE_DRAGON) then
c:CreateRelation(bc,RESET_EVENT+RESETS_STANDARD) bc:RegisterFlagEffect(9024367,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_BATTLE,0,1)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_DISABLE)
e1:SetCondition(c9024367.discon)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_BATTLE)
bc:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_DISABLE_EFFECT)
e2:SetCondition(c9024367.discon)
e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_BATTLE)
bc:RegisterEffect(e2)
end end
end end
function c9024367.discon(e) function c9024367.distg(e,c)
return e:GetOwner():IsRelateToCard(e:GetHandler()) return c:GetFlagEffect(9024367)~=0
end end
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment