Commit 628ea426 authored by salix5's avatar salix5

EFFECT_EXTRA_ATTACK_MONSTER

parent 89a26e2e
...@@ -26,7 +26,7 @@ function c1516510.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -26,7 +26,7 @@ function c1516510.operation(e,tp,eg,ep,ev,re,r,rp)
if bit.band(flag,0x3)~=0 then if bit.band(flag,0x3)~=0 then
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_EXTRA_ATTACK) e1:SetCode(EFFECT_EXTRA_ATTACK_MONSTER)
e1:SetProperty(EFFECT_FLAG_CLIENT_HINT) e1:SetProperty(EFFECT_FLAG_CLIENT_HINT)
if bit.band(flag,0x1)~=0 then if bit.band(flag,0x1)~=0 then
e1:SetDescription(aux.Stringid(1516510,0)) e1:SetDescription(aux.Stringid(1516510,0))
...@@ -38,16 +38,6 @@ function c1516510.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -38,16 +38,6 @@ function c1516510.operation(e,tp,eg,ep,ev,re,r,rp)
e1:SetReset(RESET_EVENT+0x1fe0000) e1:SetReset(RESET_EVENT+0x1fe0000)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_CANNOT_DIRECT_ATTACK)
e2:SetCondition(c1516510.dircon)
e2:SetReset(RESET_EVENT+0x1fe0000)
c:RegisterEffect(e2)
local e3=e2:Clone()
e3:SetCode(EFFECT_CANNOT_ATTACK)
e3:SetCondition(c1516510.atkcon)
c:RegisterEffect(e3)
if bit.band(flag,0x4)~=0 then if bit.band(flag,0x4)~=0 then
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE) e4:SetType(EFFECT_TYPE_SINGLE)
...@@ -58,12 +48,6 @@ function c1516510.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -58,12 +48,6 @@ function c1516510.operation(e,tp,eg,ep,ev,re,r,rp)
c:RegisterEffect(e4) c:RegisterEffect(e4)
end end
end end
function c1516510.dircon(e)
return e:GetHandler():GetAttackAnnouncedCount()>0
end
function c1516510.atkcon(e)
return e:GetHandler():IsDirectAttacked()
end
function c1516510.efilter(e,re) function c1516510.efilter(e,re)
return e:GetOwnerPlayer()~=re:GetOwnerPlayer() return e:GetOwnerPlayer()~=re:GetOwnerPlayer()
end end
......
...@@ -32,20 +32,9 @@ function c2129638.initial_effect(c) ...@@ -32,20 +32,9 @@ function c2129638.initial_effect(c)
e4:SetType(EFFECT_TYPE_SINGLE) e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetProperty(EFFECT_FLAG_SINGLE_RANGE) e4:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e4:SetRange(LOCATION_MZONE) e4:SetRange(LOCATION_MZONE)
e4:SetCode(EFFECT_EXTRA_ATTACK) e4:SetCode(EFFECT_EXTRA_ATTACK_MONSTER)
e4:SetValue(1) e4:SetValue(1)
c:RegisterEffect(e4) c:RegisterEffect(e4)
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_SINGLE)
e5:SetRange(LOCATION_MZONE)
e5:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e5:SetCode(EFFECT_CANNOT_DIRECT_ATTACK)
e5:SetCondition(c2129638.dircon)
c:RegisterEffect(e5)
local e6=e5:Clone()
e6:SetCode(EFFECT_CANNOT_ATTACK)
e6:SetCondition(c2129638.atkcon)
c:RegisterEffect(e6)
--remove --remove
local e7=Effect.CreateEffect(c) local e7=Effect.CreateEffect(c)
e7:SetDescription(aux.Stringid(2129638,0)) e7:SetDescription(aux.Stringid(2129638,0))
...@@ -75,12 +64,6 @@ function c2129638.spop(e,tp,eg,ep,ev,re,r,rp,c) ...@@ -75,12 +64,6 @@ function c2129638.spop(e,tp,eg,ep,ev,re,r,rp,c)
c:SetMaterial(g) c:SetMaterial(g)
Duel.SendtoGrave(g,REASON_COST) Duel.SendtoGrave(g,REASON_COST)
end end
function c2129638.dircon(e)
return e:GetHandler():GetAttackAnnouncedCount()>0
end
function c2129638.atkcon(e)
return e:GetHandler():IsDirectAttacked()
end
function c2129638.rmcon(e,tp,eg,ep,ev,re,r,rp) function c2129638.rmcon(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,20 +25,9 @@ function c24573625.initial_effect(c) ...@@ -25,20 +25,9 @@ function c24573625.initial_effect(c)
e4:SetType(EFFECT_TYPE_SINGLE) e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetProperty(EFFECT_FLAG_SINGLE_RANGE) e4:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e4:SetRange(LOCATION_MZONE) e4:SetRange(LOCATION_MZONE)
e4:SetCode(EFFECT_EXTRA_ATTACK) e4:SetCode(EFFECT_EXTRA_ATTACK_MONSTER)
e4:SetValue(1) e4:SetValue(1)
c:RegisterEffect(e4) c:RegisterEffect(e4)
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_SINGLE)
e5:SetRange(LOCATION_MZONE)
e5:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e5:SetCode(EFFECT_CANNOT_DIRECT_ATTACK)
e5:SetCondition(c24573625.dircon)
c:RegisterEffect(e5)
local e6=e5:Clone()
e6:SetCode(EFFECT_CANNOT_ATTACK)
e6:SetCondition(c24573625.atkcon2)
c:RegisterEffect(e6)
--cannot be target --cannot be target
local e7=Effect.CreateEffect(c) local e7=Effect.CreateEffect(c)
e7:SetType(EFFECT_TYPE_FIELD) e7:SetType(EFFECT_TYPE_FIELD)
...@@ -58,12 +47,6 @@ end ...@@ -58,12 +47,6 @@ end
function c24573625.value(e,c) function c24573625.value(e,c)
return Duel.GetMatchingGroupCount(Card.IsSetCard,c:GetControler(),LOCATION_GRAVE,0,nil,0xab)*500 return Duel.GetMatchingGroupCount(Card.IsSetCard,c:GetControler(),LOCATION_GRAVE,0,nil,0xab)*500
end end
function c24573625.dircon(e)
return e:GetHandler():GetAttackAnnouncedCount()>0
end
function c24573625.atkcon2(e)
return e:GetHandler():IsDirectAttacked()
end
function c24573625.tglimit(e,re,c) function c24573625.tglimit(e,re,c)
return c:IsFaceup() and c:IsSetCard(0xab) and c~=e:GetHandler() and c:IsLocation(LOCATION_ONFIELD) return c:IsFaceup() and c:IsSetCard(0xab) and c~=e:GetHandler() and c:IsLocation(LOCATION_ONFIELD)
end end
...@@ -75,29 +75,12 @@ function c48770333.atkop(e,tp,eg,ep,ev,re,r,rp) ...@@ -75,29 +75,12 @@ function c48770333.atkop(e,tp,eg,ep,ev,re,r,rp)
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE) e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetCode(EFFECT_EXTRA_ATTACK) e2:SetCode(EFFECT_EXTRA_ATTACK_MONSTER)
e2:SetValue(2) e2:SetValue(2)
e2:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END) e2:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END)
c:RegisterEffect(e2) c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e3:SetCode(EFFECT_CANNOT_DIRECT_ATTACK)
e3:SetCondition(c48770333.dircon)
e3:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END)
c:RegisterEffect(e3)
local e4=e3:Clone()
e4:SetCode(EFFECT_CANNOT_ATTACK)
e4:SetCondition(c48770333.atkcon2)
c:RegisterEffect(e4)
end end
end end
function c48770333.aclimit(e,re,tp) function c48770333.aclimit(e,re,tp)
return not re:GetHandler():IsImmuneToEffect(e) return not re:GetHandler():IsImmuneToEffect(e)
end end
function c48770333.dircon(e)
return e:GetHandler():GetAttackAnnouncedCount()>0
end
function c48770333.atkcon2(e)
return e:GetHandler():IsDirectAttacked()
end
...@@ -50,20 +50,10 @@ function c57470761.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -50,20 +50,10 @@ function c57470761.activate(e,tp,eg,ep,ev,re,r,rp)
c:RegisterEffect(e3) c:RegisterEffect(e3)
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_EQUIP) e4:SetType(EFFECT_TYPE_EQUIP)
e4:SetCode(EFFECT_EXTRA_ATTACK) e4:SetCode(EFFECT_EXTRA_ATTACK_MONSTER)
e4:SetValue(1) e4:SetValue(1)
e4:SetReset(RESET_EVENT+0x1fe0000) e4:SetReset(RESET_EVENT+0x1fe0000)
c:RegisterEffect(e4) c:RegisterEffect(e4)
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_EQUIP)
e5:SetCode(EFFECT_CANNOT_DIRECT_ATTACK)
e5:SetCondition(c57470761.dircon)
e5:SetReset(RESET_EVENT+0x1fe0000)
c:RegisterEffect(e5)
local e6=e5:Clone()
e6:SetCode(EFFECT_CANNOT_ATTACK)
e6:SetCondition(c57470761.atkcon)
c:RegisterEffect(e6)
local e7=Effect.CreateEffect(c) local e7=Effect.CreateEffect(c)
e7:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e7:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e7:SetCode(EVENT_BATTLE_START) e7:SetCode(EVENT_BATTLE_START)
...@@ -94,12 +84,6 @@ end ...@@ -94,12 +84,6 @@ end
function c57470761.eqlimit(e,c) function c57470761.eqlimit(e,c)
return c:IsRace(RACE_DRAGON) return c:IsRace(RACE_DRAGON)
end end
function c57470761.dircon(e)
return e:GetHandler():GetEquipTarget():GetAttackAnnouncedCount()>0
end
function c57470761.atkcon(e)
return e:GetHandler():GetEquipTarget():IsDirectAttacked()
end
function c57470761.regop(e,tp,eg,ep,ev,re,r,rp) function c57470761.regop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local ec=c:GetEquipTarget() local ec=c:GetEquipTarget()
......
...@@ -87,26 +87,9 @@ function c58820923.atkop(e,tp,eg,ep,ev,re,r,rp) ...@@ -87,26 +87,9 @@ function c58820923.atkop(e,tp,eg,ep,ev,re,r,rp)
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)
e1:SetCode(EFFECT_EXTRA_ATTACK) e1:SetCode(EFFECT_EXTRA_ATTACK_MONSTER)
e1:SetValue(1) e1:SetValue(1)
e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END) e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END)
c:RegisterEffect(e1) c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetCode(EFFECT_CANNOT_DIRECT_ATTACK)
e2:SetCondition(c58820923.dircon)
e2:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END)
c:RegisterEffect(e2)
local e3=e2:Clone()
e3:SetCode(EFFECT_CANNOT_ATTACK)
e3:SetCondition(c58820923.atkcon2)
c:RegisterEffect(e3)
end end
end end
function c58820923.dircon(e)
return e:GetHandler():GetAttackAnnouncedCount()>0
end
function c58820923.atkcon2(e)
return e:GetHandler():IsDirectAttacked()
end
...@@ -34,23 +34,9 @@ function c64599569.sucop(e,tp,eg,ep,ev,re,r,rp) ...@@ -34,23 +34,9 @@ function c64599569.sucop(e,tp,eg,ep,ev,re,r,rp)
e2:SetCode(EFFECT_SET_BASE_DEFENCE) e2:SetCode(EFFECT_SET_BASE_DEFENCE)
c:RegisterEffect(e2) c:RegisterEffect(e2)
local e3=e1:Clone() local e3=e1:Clone()
e3:SetCode(EFFECT_EXTRA_ATTACK) e3:SetCode(EFFECT_EXTRA_ATTACK_MONSTER)
e3:SetValue(c:GetMaterialCount()-1) e3:SetValue(c:GetMaterialCount()-1)
c:RegisterEffect(e3) c:RegisterEffect(e3)
local e4=e1:Clone()
e4:SetCode(EFFECT_CANNOT_DIRECT_ATTACK)
e4:SetCondition(c64599569.dircon)
c:RegisterEffect(e4)
local e5=e1:Clone()
e5:SetCode(EFFECT_CANNOT_ATTACK)
e5:SetCondition(c64599569.atkcon)
c:RegisterEffect(e5)
end
function c64599569.dircon(e)
return e:GetHandler():GetAttackAnnouncedCount()>0
end
function c64599569.atkcon(e)
return e:GetHandler():IsDirectAttacked()
end end
function c64599569.tgop(e,tp,eg,ep,ev,re,r,rp) function c64599569.tgop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(nil,tp,LOCATION_ONFIELD,0,e:GetHandler()) local g=Duel.GetMatchingGroup(nil,tp,LOCATION_ONFIELD,0,e:GetHandler())
......
...@@ -77,25 +77,10 @@ function c68396121.atkop(e,tp,eg,ep,ev,re,r,rp) ...@@ -77,25 +77,10 @@ function c68396121.atkop(e,tp,eg,ep,ev,re,r,rp)
if c:IsRelateToEffect(e) then if c:IsRelateToEffect(e) then
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_EXTRA_ATTACK) e1:SetCode(EFFECT_EXTRA_ATTACK_MONSTER)
e1:SetValue(2) e1:SetValue(2)
e1:SetReset(RESET_EVENT+0x1ff0000+RESET_PHASE+PHASE_END) e1:SetReset(RESET_EVENT+0x1ff0000+RESET_PHASE+PHASE_END)
c:RegisterEffect(e1) c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_CANNOT_DIRECT_ATTACK)
e2:SetReset(RESET_EVENT+0x1ff0000+RESET_PHASE+PHASE_END)
e2:SetCondition(c68396121.dircon)
c:RegisterEffect(e2)
local e3=e2:Clone()
e3:SetCode(EFFECT_CANNOT_ATTACK)
e3:SetCondition(c68396121.dircon2)
c:RegisterEffect(e3)
end end
end end
function c68396121.dircon(e)
return e:GetHandler():GetAttackAnnouncedCount()>0
end
function c68396121.dircon2(e)
return e:GetHandler():IsDirectAttacked()
end
...@@ -21,14 +21,9 @@ function c82270047.initial_effect(c) ...@@ -21,14 +21,9 @@ function c82270047.initial_effect(c)
--extra attack --extra attack
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_EQUIP) e4:SetType(EFFECT_TYPE_EQUIP)
e4:SetCode(EFFECT_EXTRA_ATTACK) e4:SetCode(EFFECT_EXTRA_ATTACK_MONSTER)
e4:SetValue(1) e4:SetValue(1)
c:RegisterEffect(e4) c:RegisterEffect(e4)
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_EQUIP)
e5:SetCode(EFFECT_CANNOT_DIRECT_ATTACK)
e5:SetCondition(c82270047.dircon)
c:RegisterEffect(e5)
--pierce --pierce
local e6=Effect.CreateEffect(c) local e6=Effect.CreateEffect(c)
e6:SetType(EFFECT_TYPE_EQUIP) e6:SetType(EFFECT_TYPE_EQUIP)
......
...@@ -35,7 +35,7 @@ function c97168905.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -35,7 +35,7 @@ function c97168905.activate(e,tp,eg,ep,ev,re,r,rp)
tc:RegisterEffect(e1) tc:RegisterEffect(e1)
local e2=Effect.CreateEffect(e:GetHandler()) local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_SINGLE) e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_EXTRA_ATTACK) e2:SetCode(EFFECT_EXTRA_ATTACK_MONSTER)
e2:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END) e2:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END)
e2:SetValue(1) e2:SetValue(1)
tc:RegisterEffect(e2) tc:RegisterEffect(e2)
......
...@@ -486,6 +486,7 @@ EFFECT_RISE_TO_FULL_HEIGHT =342 --仁王立 ...@@ -486,6 +486,7 @@ EFFECT_RISE_TO_FULL_HEIGHT =342 --仁王立
EFFECT_ONLY_ATTACK_MONSTER =343 --只能攻擊X EFFECT_ONLY_ATTACK_MONSTER =343 --只能攻擊X
EFFECT_MUST_ATTACK_MONSTER =344 --若攻擊則必須攻擊X EFFECT_MUST_ATTACK_MONSTER =344 --若攻擊則必須攻擊X
EFFECT_PATRICIAN_OF_DARKNESS =345 --由對手選擇攻擊對象(黑暗貴族) EFFECT_PATRICIAN_OF_DARKNESS =345 --由對手選擇攻擊對象(黑暗貴族)
EFFECT_EXTRA_ATTACK_MONSTER =346 --對怪獸攻擊X次
--下面是诱发效果的诱发事件、时点 (如果是TYPE_SINGLE则自己发生以下事件后触发,如果TYPE_FIELD则场上任何卡发生以下事件都触发) --下面是诱发效果的诱发事件、时点 (如果是TYPE_SINGLE则自己发生以下事件后触发,如果TYPE_FIELD则场上任何卡发生以下事件都触发)
EVENT_STARTUP =1000 --游戏开始时 EVENT_STARTUP =1000 --游戏开始时
......
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