Commit c3a6e944 authored by salix5's avatar salix5

chain attack

parent 7e9657c9
...@@ -71,7 +71,22 @@ function c10032958.atcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -71,7 +71,22 @@ function c10032958.atcon(e,tp,eg,ep,ev,re,r,rp)
return bc and bc:IsStatus(STATUS_BATTLE_DESTROYED) and c:IsChainAttackable() return bc and bc:IsStatus(STATUS_BATTLE_DESTROYED) and c:IsChainAttackable()
end end
function c10032958.atop(e,tp,eg,ep,ev,re,r,rp) function c10032958.atop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChainAttack() local c=e:GetHandler()
if not c:IsRelateToBattle() then return end
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetCode(EFFECT_EXTRA_ATTACK)
e1:SetValue(1)
e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_BATTLE)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_ATTACK_ANNOUNCE)
e2:SetLabelObject(e1)
e2:SetOperation(aux.atrst)
e2:SetReset(RESET_PHASE+PHASE_BATTLE)
Duel.RegisterEffect(e2,tp)
end end
function c10032958.damtg(e,tp,eg,ep,ev,re,r,rp,chk) function c10032958.damtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
......
...@@ -87,5 +87,20 @@ function c17286057.atcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -87,5 +87,20 @@ function c17286057.atcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFieldGroupCount(tp,0,LOCATION_MZONE)>0 and e:GetHandler():IsChainAttackable() return Duel.GetFieldGroupCount(tp,0,LOCATION_MZONE)>0 and e:GetHandler():IsChainAttackable()
end end
function c17286057.atop(e,tp,eg,ep,ev,re,r,rp) function c17286057.atop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChainAttack() local c=e:GetHandler()
if not c:IsRelateToBattle() then return end
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetCode(EFFECT_EXTRA_ATTACK)
e1:SetValue(1)
e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_BATTLE)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_ATTACK_ANNOUNCE)
e2:SetLabelObject(e1)
e2:SetOperation(aux.atrst)
e2:SetReset(RESET_PHASE+PHASE_BATTLE)
Duel.RegisterEffect(e2,tp)
end end
...@@ -27,5 +27,20 @@ function c17313545.atcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -27,5 +27,20 @@ function c17313545.atcon(e,tp,eg,ep,ev,re,r,rp)
and bc:IsAttribute(ATTRIBUTE_LIGHT) and bc:IsAttribute(ATTRIBUTE_LIGHT)
end end
function c17313545.atop(e,tp,eg,ep,ev,re,r,rp) function c17313545.atop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChainAttack() local c=e:GetHandler()
if not c:IsRelateToBattle() then return end
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetCode(EFFECT_EXTRA_ATTACK)
e1:SetValue(1)
e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_BATTLE)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_ATTACK_ANNOUNCE)
e2:SetLabelObject(e1)
e2:SetOperation(aux.atrst)
e2:SetReset(RESET_PHASE+PHASE_BATTLE)
Duel.RegisterEffect(e2,tp)
end end
...@@ -32,10 +32,12 @@ end ...@@ -32,10 +32,12 @@ end
function c21435914.atcon(e,tp,eg,ep,ev,re,r,rp) function c21435914.atcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local bc=c:GetBattleTarget() local bc=c:GetBattleTarget()
return bc:IsLocation(LOCATION_GRAVE) and bc:IsType(TYPE_MONSTER) and c:IsChainAttackable(2,true) and not c:IsHasEffect(EFFECT_EXTRA_ATTACK) return bc:IsLocation(LOCATION_GRAVE) and bc:IsType(TYPE_MONSTER)
and c:IsChainAttackable(2,true) and not c:IsHasEffect(EFFECT_EXTRA_ATTACK) and not c:IsStatus(STATUS_SELF_BATTLE)
end end
function c21435914.atop(e,tp,eg,ep,ev,re,r,rp) function c21435914.atop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if not c:IsRelateToBattle() then return end
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
......
...@@ -46,5 +46,20 @@ function c23118924.atcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -46,5 +46,20 @@ function c23118924.atcon(e,tp,eg,ep,ev,re,r,rp)
and not c:IsDisabled() and Duel.IsExistingMatchingCard(c23118924.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil,ATTRIBUTE_WIND) and not c:IsDisabled() and Duel.IsExistingMatchingCard(c23118924.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil,ATTRIBUTE_WIND)
end end
function c23118924.atop(e,tp,eg,ep,ev,re,r,rp) function c23118924.atop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChainAttack() local c=e:GetHandler()
if not c:IsRelateToBattle() then return end
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetCode(EFFECT_EXTRA_ATTACK)
e1:SetValue(1)
e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_BATTLE)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_ATTACK_ANNOUNCE)
e2:SetLabelObject(e1)
e2:SetOperation(aux.atrst)
e2:SetReset(RESET_PHASE+PHASE_BATTLE)
Duel.RegisterEffect(e2,tp)
end end
...@@ -31,5 +31,20 @@ function c30314994.atcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -31,5 +31,20 @@ function c30314994.atcon(e,tp,eg,ep,ev,re,r,rp)
and not c:IsDisabled() and Duel.IsExistingMatchingCard(c30314994.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil,ATTRIBUTE_WIND) and not c:IsDisabled() and Duel.IsExistingMatchingCard(c30314994.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil,ATTRIBUTE_WIND)
end end
function c30314994.atop(e,tp,eg,ep,ev,re,r,rp) function c30314994.atop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChainAttack() local c=e:GetHandler()
if not c:IsRelateToBattle() then return end
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetCode(EFFECT_EXTRA_ATTACK)
e1:SetValue(1)
e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_BATTLE)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_ATTACK_ANNOUNCE)
e2:SetLabelObject(e1)
e2:SetOperation(aux.atrst)
e2:SetReset(RESET_PHASE+PHASE_BATTLE)
Duel.RegisterEffect(e2,tp)
end end
...@@ -31,9 +31,21 @@ end ...@@ -31,9 +31,21 @@ end
function c31632536.caop2(e,tp,eg,ep,ev,re,r,rp) function c31632536.caop2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if e:GetLabelObject():GetLabel()==1 and c:IsRelateToBattle() and c:IsChainAttackable() if e:GetLabelObject():GetLabel()==1 and c:IsRelateToBattle() and c:IsChainAttackable()
and Duel.GetMatchingGroupCount(Card.IsSetCard,tp,LOCATION_GRAVE,0,nil,0x39)>=2 and Duel.GetMatchingGroupCount(Card.IsSetCard,tp,LOCATION_GRAVE,0,nil,0x39)>=2 then
and Duel.SelectYesNo(tp,aux.Stringid(31632536,0)) then local e1=Effect.CreateEffect(c)
Duel.ChainAttack() e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetCode(EFFECT_EXTRA_ATTACK)
e1:SetValue(1)
e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_BATTLE)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_ATTACK_ANNOUNCE)
e2:SetLabelObject(e1)
e2:SetOperation(aux.atrst)
e2:SetReset(RESET_PHASE+PHASE_BATTLE)
Duel.RegisterEffect(e2,tp)
end end
end end
function c31632536.pcon(e) function c31632536.pcon(e)
......
...@@ -59,6 +59,7 @@ function c33823832.cacon(e,tp,eg,ep,ev,re,r,rp) ...@@ -59,6 +59,7 @@ function c33823832.cacon(e,tp,eg,ep,ev,re,r,rp)
end end
function c33823832.caop(e,tp,eg,ep,ev,re,r,rp) function c33823832.caop(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetLabelObject() local tc=e:GetLabelObject()
local c=e:GetHandler()
if tc:IsFaceup() and tc:IsControler(tp) and tc:IsRelateToBattle() then if tc:IsFaceup() and tc:IsControler(tp) and tc:IsRelateToBattle() then
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
...@@ -68,7 +69,20 @@ function c33823832.caop(e,tp,eg,ep,ev,re,r,rp) ...@@ -68,7 +69,20 @@ function c33823832.caop(e,tp,eg,ep,ev,re,r,rp)
e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_BATTLE) e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_BATTLE)
tc:RegisterEffect(e1) tc:RegisterEffect(e1)
if tc:IsChainAttackable() then if tc:IsChainAttackable() then
Duel.ChainAttack() local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetCode(EFFECT_EXTRA_ATTACK)
e2:SetValue(1)
e2:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_BATTLE)
tc:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_ATTACK_ANNOUNCE)
e3:SetLabelObject(e2)
e3:SetOperation(aux.atrst)
e3:SetReset(RESET_PHASE+PHASE_BATTLE)
Duel.RegisterEffect(e3,tp)
end end
end end
end end
...@@ -66,7 +66,20 @@ function c35514096.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -66,7 +66,20 @@ function c35514096.operation(e,tp,eg,ep,ev,re,r,rp)
Duel.SpecialSummon(token,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(token,0,tp,tp,false,false,POS_FACEUP)
elseif e:GetLabel()==1 then elseif e:GetLabel()==1 then
if c:IsRelateToBattle() then if c:IsRelateToBattle() then
Duel.ChainAttack() local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetCode(EFFECT_EXTRA_ATTACK)
e1:SetValue(1)
e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_BATTLE)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_ATTACK_ANNOUNCE)
e2:SetLabelObject(e1)
e2:SetOperation(aux.atrst)
e2:SetReset(RESET_PHASE+PHASE_BATTLE)
Duel.RegisterEffect(e2,tp)
end end
end end
end end
...@@ -44,5 +44,20 @@ function c35638627.atcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -44,5 +44,20 @@ function c35638627.atcon(e,tp,eg,ep,ev,re,r,rp)
return bc and bc:IsStatus(STATUS_BATTLE_DESTROYED) and c:IsChainAttackable() return bc and bc:IsStatus(STATUS_BATTLE_DESTROYED) and c:IsChainAttackable()
end end
function c35638627.atop(e,tp,eg,ep,ev,re,r,rp) function c35638627.atop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChainAttack() local c=e:GetHandler()
if not c:IsRelateToBattle() then return end
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetCode(EFFECT_EXTRA_ATTACK)
e1:SetValue(1)
e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_BATTLE)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_ATTACK_ANNOUNCE)
e2:SetLabelObject(e1)
e2:SetOperation(aux.atrst)
e2:SetReset(RESET_PHASE+PHASE_BATTLE)
Duel.RegisterEffect(e2,tp)
end end
...@@ -96,7 +96,22 @@ function c35884610.atcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -96,7 +96,22 @@ function c35884610.atcon(e,tp,eg,ep,ev,re,r,rp)
return bc and bc:IsStatus(STATUS_BATTLE_DESTROYED) and c:IsChainAttackable() return bc and bc:IsStatus(STATUS_BATTLE_DESTROYED) and c:IsChainAttackable()
end end
function c35884610.atop(e,tp,eg,ep,ev,re,r,rp) function c35884610.atop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChainAttack() local c=e:GetHandler()
local tc=e:GetHandler():GetEquipTarget()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetCode(EFFECT_EXTRA_ATTACK)
e1:SetValue(1)
e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_BATTLE)
tc:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_ATTACK_ANNOUNCE)
e2:SetLabelObject(e1)
e2:SetOperation(aux.atrst)
e2:SetReset(RESET_PHASE+PHASE_BATTLE)
Duel.RegisterEffect(e2,tp)
end end
function c35884610.rmcon(e,tp,eg,ep,ev,re,r,rp) function c35884610.rmcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()==tp return Duel.GetTurnPlayer()==tp
......
...@@ -14,8 +14,20 @@ end ...@@ -14,8 +14,20 @@ end
function c40225398.caop(e,tp,eg,ep,ev,re,r,rp) function c40225398.caop(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 Duel.GetAttacker()==c and bc and bit.band(bc:GetBattlePosition(),POS_DEFENCE)~=0 and c:IsRelateToBattle() and c:IsChainAttackable() if Duel.GetAttacker()==c and bc and bit.band(bc:GetBattlePosition(),POS_DEFENCE)~=0 and c:IsRelateToBattle() and c:IsChainAttackable() then
and Duel.SelectYesNo(tp,aux.Stringid(40225398,0)) then local e1=Effect.CreateEffect(c)
Duel.ChainAttack() e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetCode(EFFECT_EXTRA_ATTACK)
e1:SetValue(1)
e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_BATTLE)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_ATTACK_ANNOUNCE)
e2:SetLabelObject(e1)
e2:SetOperation(aux.atrst)
e2:SetReset(RESET_PHASE+PHASE_BATTLE)
Duel.RegisterEffect(e2,tp)
end end
end end
...@@ -16,5 +16,20 @@ function c46427957.atcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -16,5 +16,20 @@ function c46427957.atcon(e,tp,eg,ep,ev,re,r,rp)
return bc and bc:IsStatus(STATUS_BATTLE_DESTROYED) and c:IsChainAttackable() return bc and bc:IsStatus(STATUS_BATTLE_DESTROYED) and c:IsChainAttackable()
end end
function c46427957.atop(e,tp,eg,ep,ev,re,r,rp) function c46427957.atop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChainAttack() local c=e:GetHandler()
if not c:IsRelateToBattle() then return end
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetCode(EFFECT_EXTRA_ATTACK)
e1:SetValue(1)
e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_BATTLE)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_ATTACK_ANNOUNCE)
e2:SetLabelObject(e1)
e2:SetOperation(aux.atrst)
e2:SetReset(RESET_PHASE+PHASE_BATTLE)
Duel.RegisterEffect(e2,tp)
end end
...@@ -59,5 +59,20 @@ function c49202331.atcost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -59,5 +59,20 @@ function c49202331.atcost(e,tp,eg,ep,ev,re,r,rp,chk)
e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST) e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST)
end end
function c49202331.atop(e,tp,eg,ep,ev,re,r,rp) function c49202331.atop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChainAttack() local c=e:GetHandler()
if not c:IsRelateToBattle() then return end
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetCode(EFFECT_EXTRA_ATTACK)
e1:SetValue(1)
e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_BATTLE)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_ATTACK_ANNOUNCE)
e2:SetLabelObject(e1)
e2:SetOperation(aux.atrst)
e2:SetReset(RESET_PHASE+PHASE_BATTLE)
Duel.RegisterEffect(e2,tp)
end end
...@@ -32,5 +32,21 @@ function c57274196.cost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -32,5 +32,21 @@ function c57274196.cost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.RegisterEffect(e3,tp) Duel.RegisterEffect(e3,tp)
end end
function c57274196.operation(e,tp,eg,ep,ev,re,r,rp) function c57274196.operation(e,tp,eg,ep,ev,re,r,rp)
Duel.ChainAttack() local c=e:GetHandler()
local tc=eg:GetFirst()
if not tc:IsRelateToBattle() then return end
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetCode(EFFECT_EXTRA_ATTACK)
e1:SetValue(1)
e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_BATTLE)
tc:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_ATTACK_ANNOUNCE)
e2:SetLabelObject(e1)
e2:SetOperation(aux.atrst)
e2:SetReset(RESET_PHASE+PHASE_BATTLE)
Duel.RegisterEffect(e2,tp)
end end
...@@ -69,11 +69,27 @@ function c58272005.atcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -69,11 +69,27 @@ function c58272005.atcon(e,tp,eg,ep,ev,re,r,rp)
return bc:IsReason(REASON_BATTLE) and bc:IsLocation(LOCATION_GRAVE) and ec:IsChainAttackable(2,true) return bc:IsReason(REASON_BATTLE) and bc:IsLocation(LOCATION_GRAVE) and ec:IsChainAttackable(2,true)
end end
function c58272005.atop(e,tp,eg,ep,ev,re,r,rp) function c58272005.atop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChainAttack() local c=e:GetHandler()
local e1=Effect.CreateEffect(e:GetHandler()) local ec=e:GetHandler():GetEquipTarget()
if not ec:IsRelateToBattle() then return end
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CANNOT_DIRECT_ATTACK)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END) e1:SetCode(EFFECT_EXTRA_ATTACK)
e:GetHandler():RegisterEffect(e1) e1:SetValue(1)
e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_BATTLE)
ec:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_CANNOT_DIRECT_ATTACK)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_BATTLE)
ec:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_ATTACK_ANNOUNCE)
e3:SetLabelObject(e1)
e3:SetOperation(aux.atrst)
e3:SetReset(RESET_PHASE+PHASE_BATTLE)
Duel.RegisterEffect(e3,tp)
end end
...@@ -16,5 +16,20 @@ function c62315111.atcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -16,5 +16,20 @@ function c62315111.atcon(e,tp,eg,ep,ev,re,r,rp)
and bc:GetCounter(0xe)>0 and bc:GetCounter(0xe)>0
end end
function c62315111.atop(e,tp,eg,ep,ev,re,r,rp) function c62315111.atop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChainAttack() local c=e:GetHandler()
if not c:IsRelateToBattle() then return end
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetCode(EFFECT_EXTRA_ATTACK)
e1:SetValue(1)
e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_BATTLE)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_ATTACK_ANNOUNCE)
e2:SetLabelObject(e1)
e2:SetOperation(aux.atrst)
e2:SetReset(RESET_PHASE+PHASE_BATTLE)
Duel.RegisterEffect(e2,tp)
end end
...@@ -30,5 +30,20 @@ function c65260293.atcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -30,5 +30,20 @@ function c65260293.atcon(e,tp,eg,ep,ev,re,r,rp)
and not c:IsDisabled() and Duel.IsExistingMatchingCard(c65260293.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil,ATTRIBUTE_WIND) and not c:IsDisabled() and Duel.IsExistingMatchingCard(c65260293.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil,ATTRIBUTE_WIND)
end end
function c65260293.atop(e,tp,eg,ep,ev,re,r,rp) function c65260293.atop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChainAttack() local c=e:GetHandler()
if not c:IsRelateToBattle() then return end
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetCode(EFFECT_EXTRA_ATTACK)
e1:SetValue(1)
e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_BATTLE)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_ATTACK_ANNOUNCE)
e2:SetLabelObject(e1)
e2:SetOperation(aux.atrst)
e2:SetReset(RESET_PHASE+PHASE_BATTLE)
Duel.RegisterEffect(e2,tp)
end end
...@@ -16,14 +16,28 @@ end ...@@ -16,14 +16,28 @@ end
function c69069911.atcon(e,tp,eg,ep,ev,re,r,rp) function c69069911.atcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local bc=c:GetBattleTarget() local bc=c:GetBattleTarget()
return bc:IsLocation(LOCATION_GRAVE) and bc:IsReason(REASON_BATTLE) and bc:IsType(TYPE_MONSTER) and c:IsChainAttackable() return bc:IsLocation(LOCATION_GRAVE) and bc:IsType(TYPE_MONSTER)
and c:IsChainAttackable() and not c:IsHasEffect(EFFECT_EXTRA_ATTACK) and not c:IsStatus(STATUS_SELF_BATTLE)
end end
function c69069911.atcost(e,tp,eg,ep,ev,re,r,rp,chk) function c69069911.atcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end
e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST) e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST)
end end
function c69069911.atop(e,tp,eg,ep,ev,re,r,rp) function c69069911.atop(e,tp,eg,ep,ev,re,r,rp)
if e:GetHandler():IsRelateToBattle() then local c=e:GetHandler()
Duel.ChainAttack() if not c:IsRelateToBattle() then return end
end local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetCode(EFFECT_EXTRA_ATTACK)
e1:SetValue(1)
e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_BATTLE)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_ATTACK_ANNOUNCE)
e2:SetLabelObject(e1)
e2:SetOperation(aux.atrst)
e2:SetReset(RESET_PHASE+PHASE_BATTLE)
Duel.RegisterEffect(e2,tp)
end end
...@@ -46,14 +46,27 @@ function c69757518.atcost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -46,14 +46,27 @@ function c69757518.atcost(e,tp,eg,ep,ev,re,r,rp,chk)
end end
function c69757518.atop(e,tp,eg,ep,ev,re,r,rp) function c69757518.atop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
Duel.ChainAttack() if not c:IsRelateToBattle() then return end
if c:IsHasEffect(EFFECT_CANNOT_DIRECT_ATTACK) then return end
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CANNOT_DIRECT_ATTACK)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END) e1:SetCode(EFFECT_EXTRA_ATTACK)
e1:SetValue(1)
e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_BATTLE)
c:RegisterEffect(e1) c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_CANNOT_DIRECT_ATTACK)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_BATTLE)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_ATTACK_ANNOUNCE)
e3:SetLabelObject(e1)
e3:SetOperation(aux.atrst)
e3:SetReset(RESET_PHASE+PHASE_BATTLE)
Duel.RegisterEffect(e3,tp)
end end
function c69757518.cost(e,tp,eg,ep,ev,re,r,rp,chk) function c69757518.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
......
...@@ -20,11 +20,26 @@ function c70194827.atcost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -20,11 +20,26 @@ function c70194827.atcost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.DiscardHand(tp,Card.IsDiscardable,1,1,REASON_COST+REASON_DISCARD) Duel.DiscardHand(tp,Card.IsDiscardable,1,1,REASON_COST+REASON_DISCARD)
end end
function c70194827.atop(e,tp,eg,ep,ev,re,r,rp) function c70194827.atop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChainAttack() local c=e:GetHandler()
local e1=Effect.CreateEffect(e:GetHandler()) if not c:IsRelateToBattle() then return end
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CANNOT_DIRECT_ATTACK)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END) e1:SetCode(EFFECT_EXTRA_ATTACK)
e:GetHandler():RegisterEffect(e1) e1:SetValue(1)
e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_BATTLE)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_CANNOT_DIRECT_ATTACK)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_BATTLE)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_ATTACK_ANNOUNCE)
e3:SetLabelObject(e1)
e3:SetOperation(aux.atrst)
e3:SetReset(RESET_PHASE+PHASE_BATTLE)
Duel.RegisterEffect(e3,tp)
end end
...@@ -77,10 +77,12 @@ end ...@@ -77,10 +77,12 @@ end
function c72989439.atcon(e,tp,eg,ep,ev,re,r,rp) function c72989439.atcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local bc=c:GetBattleTarget() local bc=c:GetBattleTarget()
return bc and bc:IsStatus(STATUS_BATTLE_DESTROYED) and c:GetFlagEffect(72989439)==0 and c:IsChainAttackable() return bc and bc:IsStatus(STATUS_BATTLE_DESTROYED) and c:GetFlagEffect(72989439)==0
and c:IsChainAttackable() and not c:IsHasEffect(EFFECT_EXTRA_ATTACK) and not c:IsStatus(STATUS_SELF_BATTLE)
end end
function c72989439.atop(e,tp,eg,ep,ev,re,r,rp) function c72989439.atop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if not c:IsRelateToBattle() then return end
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
......
...@@ -61,5 +61,20 @@ function c80367387.atcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -61,5 +61,20 @@ function c80367387.atcon(e,tp,eg,ep,ev,re,r,rp)
return bc and bc:IsStatus(STATUS_BATTLE_DESTROYED) and c:IsChainAttackable() return bc and bc:IsStatus(STATUS_BATTLE_DESTROYED) and c:IsChainAttackable()
end end
function c80367387.atop(e,tp,eg,ep,ev,re,r,rp) function c80367387.atop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChainAttack() local c=e:GetHandler()
if not c:IsRelateToBattle() then return end
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetCode(EFFECT_EXTRA_ATTACK)
e1:SetValue(1)
e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_BATTLE)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_ATTACK_ANNOUNCE)
e2:SetLabelObject(e1)
e2:SetOperation(aux.atrst)
e2:SetReset(RESET_PHASE+PHASE_BATTLE)
Duel.RegisterEffect(e2,tp)
end end
...@@ -93,10 +93,26 @@ end ...@@ -93,10 +93,26 @@ end
function c88301393.atcon(e,tp,eg,ep,ev,re,r,rp) function c88301393.atcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local bc=c:GetBattleTarget() local bc=c:GetBattleTarget()
return bc:IsReason(REASON_BATTLE) and bc:IsLocation(LOCATION_GRAVE) and c:IsChainAttackable() return bc:IsLocation(LOCATION_GRAVE) and bc:IsType(TYPE_MONSTER)
and c:IsChainAttackable() and not c:IsHasEffect(EFFECT_EXTRA_ATTACK) and not c:IsStatus(STATUS_SELF_BATTLE)
end end
function c88301393.atop(e,tp,eg,ep,ev,re,r,rp) function c88301393.atop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChainAttack() local c=e:GetHandler()
if not c:IsRelateToBattle() then return end
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetCode(EFFECT_EXTRA_ATTACK)
e1:SetValue(1)
e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_BATTLE)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_ATTACK_ANNOUNCE)
e2:SetLabelObject(e1)
e2:SetOperation(aux.atrst)
e2:SetReset(RESET_PHASE+PHASE_BATTLE)
Duel.RegisterEffect(e2,tp)
end end
function c88301393.rmcost(e,tp,eg,ep,ev,re,r,rp,chk) function c88301393.rmcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckReleaseGroup(tp,Card.IsReleasable,1,nil) end if chk==0 then return Duel.CheckReleaseGroup(tp,Card.IsReleasable,1,nil) 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