Commit a656ddb8 authored by xiaoye's avatar xiaoye

fix

parent 4d14bed5
...@@ -12,7 +12,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -12,7 +12,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
end end
if vgf.cost.SoulBlast(2)(e,tp,eg,ep,ev,re,r,rp,0) and Duel.SelectEffectYesNo(tp,vgf.stringid(VgID,10)) then if vgf.cost.SoulBlast(2)(e,tp,eg,ep,ev,re,r,rp,0) and Duel.SelectEffectYesNo(tp,vgf.stringid(VgID,10)) then
vgf.cost.SoulBlast(2)(e,tp,eg,ep,ev,re,r,rp,1) vgf.cost.SoulBlast(2)(e,tp,eg,ep,ev,re,r,rp,1)
local g=vgf.SelectMatchingCard(HINTMSG_LEAVEFIELD,e,tp,Card.IsR,tp,0,LOCATION_CIRCLE,1,1,nil) local g=vgf.SelectMatchingCard(HINTMSG_LEAVEFIELD,e,tp,Card.IsRearguard,tp,0,LOCATION_CIRCLE,1,1,nil)
vgf.Sendto(LOCATION_DROP,g,REASON_EFFECT) vgf.Sendto(LOCATION_DROP,g,REASON_EFFECT)
end end
end end
......
...@@ -8,8 +8,8 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp) ...@@ -8,8 +8,8 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
end end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
if chk==0 then return vgf.IsExistingMatchingCard(Card.IsR,tp,LOCATION_CIRCLE,0,1,nil) end if chk==0 then return vgf.IsExistingMatchingCard(Card.IsRearguard,tp,LOCATION_CIRCLE,0,1,nil) end
local g=vgf.SelectMatchingCard(HINTMSG_XMATERIAL,e,tp,Card.IsR,tp,LOCATION_CIRCLE,0,1,1,nil) local g=vgf.SelectMatchingCard(HINTMSG_XMATERIAL,e,tp,Card.IsRearguard,tp,LOCATION_CIRCLE,0,1,1,nil)
vgf.Sendto(LOCATION_SOUL,g,c) vgf.Sendto(LOCATION_SOUL,g,c)
end end
function cm.con(e,tp,eg,ep,ev,re,r,rp) function cm.con(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -10,7 +10,7 @@ end ...@@ -10,7 +10,7 @@ end
function cm.op(e,tp,eg,ep,ev,re,r,rp) function cm.op(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CALL) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CALL)
local g=vgf.GetMatchingGroup(Card.IsV,tp,LOCATION_CIRCLE,0,nil):GetFirst():GetOverlayGroup():FilterSelect(tp,Card.IsCanBeCalled,1,1,nil,e,tp,nil,nil,0x4) local g=vgf.GetMatchingGroup(Card.IsVanguard,tp,LOCATION_CIRCLE,0,nil):GetFirst():GetOverlayGroup():FilterSelect(tp,Card.IsCanBeCalled,1,1,nil,e,tp,nil,nil,0x4)
vgf.Sendto(LOCATION_CIRCLE,g,0,tp,0x4) vgf.Sendto(LOCATION_CIRCLE,g,0,tp,0x4)
vgf.op.SoulCharge(1)(e,tp,eg,ep,ev,re,r,rp) vgf.op.SoulCharge(1)(e,tp,eg,ep,ev,re,r,rp)
end end
\ No newline at end of file
...@@ -13,6 +13,6 @@ function cm.filter(c) ...@@ -13,6 +13,6 @@ function cm.filter(c)
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
if chk==0 then return c:IsRelateToEffect(e) end if chk==0 then return c:IsRelateToEffect(e) end
local rc=vgf.GetMatchingGroup(Card.IsV,tp,LOCATION_CIRCLE,0,nil):GetFirst() local rc=vgf.GetMatchingGroup(Card.IsVanguard,tp,LOCATION_CIRCLE,0,nil):GetFirst()
vgf.Sendto(LOCATION_SOUL,c,rc) vgf.Sendto(LOCATION_SOUL,c,rc)
end end
\ No newline at end of file
...@@ -8,7 +8,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -8,7 +8,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local ct=1 local ct=1
if c:IsSummonType(SUMMON_TYPE_SELFRIDE) then ct=3 end if c:IsSummonType(SUMMON_TYPE_SELFRIDE) then ct=3 end
local g=vgf.SelectMatchingCard(HINTMSG_ATKUP,e,tp,Card.IsR,tp,LOCATION_CIRCLE,0,1,ct,nil) local g=vgf.SelectMatchingCard(HINTMSG_ATKUP,e,tp,Card.IsRearguard,tp,LOCATION_CIRCLE,0,1,ct,nil)
if g then if g then
Duel.Hintselectgion(g) Duel.Hintselectgion(g)
for tc in vgf.Next(g) do for tc in vgf.Next(g) do
......
...@@ -5,5 +5,5 @@ end ...@@ -5,5 +5,5 @@ end
function cm.con(e) function cm.con(e)
local c=e:GetHandler() local c=e:GetHandler()
local tp=e:GetHandlerPlayer() local tp=e:GetHandlerPlayer()
return vgf.con.IsR(e) and vgf.IsExistingMatchingCard(Card.IsR,tp,LOCATION_CIRCLE,0,4,c) return vgf.con.IsR(e) and vgf.IsExistingMatchingCard(Card.IsRearguard,tp,LOCATION_CIRCLE,0,4,c)
end end
\ No newline at end of file
...@@ -13,7 +13,7 @@ function cm.filter(c) ...@@ -13,7 +13,7 @@ function cm.filter(c)
end end
function cm.op1(e,tp,eg,ep,ev,re,r,rp) function cm.op1(e,tp,eg,ep,ev,re,r,rp)
if not vgf.CheckPrison(tp) then return end if not vgf.CheckPrison(tp) then return end
local g1=vgf.SelectMatchingCard(HINTMSG_IMPRISON,e,tp,Card.IsR,tp,0,LOCATION_CIRCLE,2,2,nil) local g1=vgf.SelectMatchingCard(HINTMSG_IMPRISON,e,tp,Card.IsRearguard,tp,0,LOCATION_CIRCLE,2,2,nil)
vgf.SendtoPrison(g1,tp) vgf.SendtoPrison(g1,tp)
end end
function cm.con2(e,c) function cm.con2(e,c)
......
...@@ -9,6 +9,6 @@ end ...@@ -9,6 +9,6 @@ end
function cm.operation(e,tp,eg,ep,ev,re,r,rp) function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if not vgf.CheckPrison(tp) then return end if not vgf.CheckPrison(tp) then return end
local g=vgf.SelectMatchingCard(HINTMSG_IMPRISON,e,tp,Card.IsR,tp,0,LOCATION_CIRCLE,0,2,nil) local g=vgf.SelectMatchingCard(HINTMSG_IMPRISON,e,tp,Card.IsRearguard,tp,0,LOCATION_CIRCLE,0,2,nil)
vgf.SendtoPrison(g,tp) vgf.SendtoPrison(g,tp)
end end
\ No newline at end of file
...@@ -9,6 +9,6 @@ end ...@@ -9,6 +9,6 @@ end
function cm.operation(e,tp,eg,ep,ev,re,r,rp) function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if not vgf.CheckPrison(tp) then return end if not vgf.CheckPrison(tp) then return end
local g=vgf.SelectMatchingCard(HINTMSG_IMPRISON,e,tp,Card.IsR,tp,0,LOCATION_CIRCLE,1,1,nil) local g=vgf.SelectMatchingCard(HINTMSG_IMPRISON,e,tp,Card.IsRearguard,tp,0,LOCATION_CIRCLE,1,1,nil)
vgf.SendtoPrison(g,tp) vgf.SendtoPrison(g,tp)
end end
\ No newline at end of file
...@@ -49,7 +49,7 @@ function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -49,7 +49,7 @@ function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
end end
function cm.operation(e,tp,eg,ep,ev,re,r,rp) function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local tc=vgf.SelectMatchingCard(HINTMSG_VMONSTER,e,tp,Card.IsV,tp,0,LOCATION_CIRCLE,1,1,nil):GetFirst() local tc=vgf.SelectMatchingCard(HINTMSG_VMONSTER,e,tp,Card.IsVanguard,tp,0,LOCATION_CIRCLE,1,1,nil):GetFirst()
if tc:GetAttack()>1 then if tc:GetAttack()>1 then
local atk=tc:GetAttack()-1 local atk=tc:GetAttack()-1
vgf.AtkUp(c,tc,-atk) vgf.AtkUp(c,tc,-atk)
......
...@@ -9,6 +9,6 @@ function cm.condition(e,tp,eg,ep,ev,re,r,rp) ...@@ -9,6 +9,6 @@ function cm.condition(e,tp,eg,ep,ev,re,r,rp)
end end
function cm.operation(e,tp,eg,ep,ev,re,r,rp) function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local rc=vgf.GetMatchingGroup(Card.IsV,tp,LOCATION_CIRCLE,0,nil):GetFirst() local rc=vgf.GetMatchingGroup(Card.IsVanguard,tp,LOCATION_CIRCLE,0,nil):GetFirst()
if c:IsRelateToEffect(e) then vgf.Sendto(LOCATION_SOUL,c,rc) end if c:IsRelateToEffect(e) then vgf.Sendto(LOCATION_SOUL,c,rc) end
end end
\ No newline at end of file
...@@ -5,7 +5,7 @@ function cm.initial_effect(c) ...@@ -5,7 +5,7 @@ function cm.initial_effect(c)
end end
function cm.operation(e,tp,eg,ep,ev,re,r,rp) function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local g=vgf.SelectMatchingCard(HINTMSG_VMONSTER,e,tp,Card.IsV,tp,LOCATION_CIRCLE,0,1,1,nil) local g=vgf.SelectMatchingCard(HINTMSG_VMONSTER,e,tp,Card.IsVanguard,tp,LOCATION_CIRCLE,0,1,1,nil)
vgd.action.AbilityCont(c, m, LOCATION_CIRCLE, EFFECT_TYPE_FIELD, EFFECT_UPDATE_ATTACK, 5000, nil, cm.tg, LOCATION_CIRCLE, 0, RESET_PHASE+PHASE_END, g:GetFirst()) vgd.action.AbilityCont(c, m, LOCATION_CIRCLE, EFFECT_TYPE_FIELD, EFFECT_UPDATE_ATTACK, 5000, nil, cm.tg, LOCATION_CIRCLE, 0, RESET_PHASE+PHASE_END, g:GetFirst())
end end
function cm.tg(e,c) function cm.tg(e,c)
......
...@@ -13,7 +13,7 @@ function cm.filter(c) ...@@ -13,7 +13,7 @@ function cm.filter(c)
return c:IsCanChangePosition() and c:IsPosition(POS_FACEUP_ATTACK) and c:IsRearguard()end return c:IsCanChangePosition() and c:IsPosition(POS_FACEUP_ATTACK) and c:IsRearguard()end
function cm.op(e,tp,eg,ep,ev,re,r,rp) function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local g=vgf.SelectMatchingCard(HINTMSG_LEAVEFIELD,e,tp,Card.IsV,tp,0,LOCATION_CIRCLE,1,1,nil) local g=vgf.SelectMatchingCard(HINTMSG_LEAVEFIELD,e,tp,Card.IsVanguard,tp,0,LOCATION_CIRCLE,1,1,nil)
if g:GetCount()>0 then vgf.Sendto(LOCATION_DROP,g,REASON_EFFECT) end if g:GetCount()>0 then vgf.Sendto(LOCATION_DROP,g,REASON_EFFECT) end
if c:IsRelateToEffect(e) and c:IsFaceup() then if c:IsRelateToEffect(e) and c:IsFaceup() then
vgf.AtkUp(c,c,10000) vgf.AtkUp(c,c,10000)
......
...@@ -13,8 +13,8 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp) ...@@ -13,8 +13,8 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
end end
end end
if ct>=15 then if ct>=15 then
local g1=vgf.GetMatchingGroup(Card.IsR,tp,LOCATION_CIRCLE,0,nil) local g1=vgf.GetMatchingGroup(Card.IsRearguard,tp,LOCATION_CIRCLE,0,nil)
local g2=vgf.GetMatchingGroup(Card.IsR,tp,0,LOCATION_CIRCLE,nil) local g2=vgf.GetMatchingGroup(Card.IsRearguard,tp,0,LOCATION_CIRCLE,nil)
local tc1=vgf.GetVMonster(tp) local tc1=vgf.GetVMonster(tp)
local tc2=vgf.GetVMonster(1-tp) local tc2=vgf.GetVMonster(1-tp)
vgf.Sendto(LOCATION_SOUL,g1,tc1) vgf.Sendto(LOCATION_SOUL,g1,tc1)
......
...@@ -16,6 +16,6 @@ function cm.con1(e,tp,eg,ep,ev,re,r,rp) ...@@ -16,6 +16,6 @@ function cm.con1(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFlagEffect(tp,m)>0 and cm.con(e,tp,eg,ep,ev,re,r,rp) return Duel.GetFlagEffect(tp,m)>0 and cm.con(e,tp,eg,ep,ev,re,r,rp)
end end
function cm.op(e,tp,eg,ep,ev,re,r,rp) function cm.op(e,tp,eg,ep,ev,re,r,rp)
local g=vgf.SelectMatchingCard(HINTMSG_LEAVEFIELD,e,tp,Card.IsR,tp,0,LOCATION_CIRCLE,1,1,nil) local g=vgf.SelectMatchingCard(HINTMSG_LEAVEFIELD,e,tp,Card.IsRearguard,tp,0,LOCATION_CIRCLE,1,1,nil)
vgf.Sendto(LOCATION_DROP,g,REASON_EFFECT) vgf.Sendto(LOCATION_DROP,g,REASON_EFFECT)
end end
\ No newline at end of file
...@@ -12,7 +12,7 @@ function cm.filter(c,tp) ...@@ -12,7 +12,7 @@ function cm.filter(c,tp)
end end
function cm.op(e,tp,eg,ep,ev,re,r,rp) function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local g=vgf.SelectMatchingCard(HINTMSG_RMONSTER,e,tp,Card.IsR,tp,LOCATION_CIRCLE,0,1,1,nil) local g=vgf.SelectMatchingCard(HINTMSG_RMONSTER,e,tp,Card.IsRearguard,tp,LOCATION_CIRCLE,0,1,1,nil)
vgf.AtkUp(c,g,10000) vgf.AtkUp(c,g,10000)
end end
function cm.checkcon(e,tp,eg,ep,ev,re,r,rp) function cm.checkcon(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -7,6 +7,6 @@ function cm.con(e) ...@@ -7,6 +7,6 @@ function cm.con(e)
return c:IsBackrow()end return c:IsBackrow()end
function cm.op(e,tp,eg,ep,ev,re,r,rp) function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local g=vgf.SelectMatchingCard(HINTMSG_ATKUP,e,tp,Card.IsR,tp,LOCATION_CIRCLE,0,1,1,c) local g=vgf.SelectMatchingCard(HINTMSG_ATKUP,e,tp,Card.IsRearguard,tp,LOCATION_CIRCLE,0,1,1,c)
vgf.AtkUp(c,g,c:GetAttack()) vgf.AtkUp(c,g,c:GetAttack())
end end
\ No newline at end of file
...@@ -3,6 +3,6 @@ function cm.initial_effect(c) ...@@ -3,6 +3,6 @@ function cm.initial_effect(c)
vgd.action.AdditionalEffect(c,m,cm.op) vgd.action.AdditionalEffect(c,m,cm.op)
end end
function cm.op(e,tp,eg,ep,ev,re,r,rp) function cm.op(e,tp,eg,ep,ev,re,r,rp)
local g=vgf.SelectMatchingCard(HINTMSG_VMONSTER,e,tp,Card.IsV,tp,LOCATION_CIRCLE,0,1,1,nil) local g=vgf.SelectMatchingCard(HINTMSG_VMONSTER,e,tp,Card.IsVanguard,tp,LOCATION_CIRCLE,0,1,1,nil)
Duel.ChangePosition(g,POS_FACEUP_ATTACK) Duel.ChangePosition(g,POS_FACEUP_ATTACK)
end end
\ No newline at end of file
...@@ -12,8 +12,8 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp) ...@@ -12,8 +12,8 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
end end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
if chk==0 then return vgf.IsExistingMatchingCard(Card.IsR,tp,LOCATION_CIRCLE,0,1,c) end if chk==0 then return vgf.IsExistingMatchingCard(Card.IsRearguard,tp,LOCATION_CIRCLE,0,1,c) end
local g=vgf.SelectMatchingCard(HINTMSG_XMATERIAL,e,tp,Card.IsR,tp,LOCATION_CIRCLE,0,1,1,c) local g=vgf.SelectMatchingCard(HINTMSG_XMATERIAL,e,tp,Card.IsRearguard,tp,LOCATION_CIRCLE,0,1,1,c)
vgf.Sendto(LOCATION_SOUL,g) vgf.Sendto(LOCATION_SOUL,g)
end end
function cm.con(e,tp,eg,ep,ev,re,r,rp) function cm.con(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -11,7 +11,7 @@ function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -11,7 +11,7 @@ function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
end end
function cm.op(e,tp,eg,ep,ev,re,r,rp) function cm.op(e,tp,eg,ep,ev,re,r,rp)
if not vgf.CheckPrison(tp) then return end if not vgf.CheckPrison(tp) then return end
local g=vgf.SelectMatchingCard(HINTMSG_IMPRISON,e,tp,Card.IsR,tp,0,LOCATION_CIRCLE,1,1,nil) local g=vgf.SelectMatchingCard(HINTMSG_IMPRISON,e,tp,Card.IsRearguard,tp,0,LOCATION_CIRCLE,1,1,nil)
vgf.SendtoPrison(g,tp) vgf.SendtoPrison(g,tp)
if vgf.IsExistingMatchingCard(cm.filter,tp,LOCATION_ORDER,0,3,nil) then if vgf.IsExistingMatchingCard(cm.filter,tp,LOCATION_ORDER,0,3,nil) then
Duel.Draw(tp,1,REASON_EFFECT) Duel.Draw(tp,1,REASON_EFFECT)
......
...@@ -7,16 +7,16 @@ function cm.initial_effect(c) ...@@ -7,16 +7,16 @@ function cm.initial_effect(c)
end end
function cm.condition2(e,tp,eg,ep,ev,re,r,rp) function cm.condition2(e,tp,eg,ep,ev,re,r,rp)
local c=Duel.GetAttacker() local c=Duel.GetAttacker()
return vgf.con.IsR(e) and vgf.GetMatchingGroupCount(Card.IsR,tp,0,LOCATION_CIRCLE,nil)<=2 and c:IsVanguard()end return vgf.con.IsR(e) and vgf.GetMatchingGroupCount(Card.IsRearguard,tp,0,LOCATION_CIRCLE,nil)<=2 and c:IsVanguard()end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
if chk==0 then return c:IsRelateToEffect(e) end if chk==0 then return c:IsRelateToEffect(e) end
local rc=vgf.GetMatchingGroup(Card.IsV,tp,LOCATION_CIRCLE,0,nil):GetFirst() local rc=vgf.GetMatchingGroup(Card.IsVanguard,tp,LOCATION_CIRCLE,0,nil):GetFirst()
vgf.Sendto(LOCATION_SOUL,c,rc) vgf.Sendto(LOCATION_SOUL,c,rc)
end end
function cm.operation2(e,tp,eg,ep,ev,re,r,rp) function cm.operation2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local g=vgf.SelectMatchingCard(HINTMSG_CRITICAL_STRIKE,e,tp,Card.IsV,tp,LOCATION_CIRCLE,0,1,1,nil) local g=vgf.SelectMatchingCard(HINTMSG_CRITICAL_STRIKE,e,tp,Card.IsVanguard,tp,LOCATION_CIRCLE,0,1,1,nil)
if g:GetCount()>0 then if g:GetCount()>0 then
local e1=vgf.StarUp(c,g,1,nil) local e1=vgf.StarUp(c,g,1,nil)
vgf.effect.Reset(c,e1,EVENT_BATTLED) vgf.effect.Reset(c,e1,EVENT_BATTLED)
......
...@@ -23,5 +23,5 @@ function cm.operation1(e,tp,eg,ep,ev,re,r,rp) ...@@ -23,5 +23,5 @@ function cm.operation1(e,tp,eg,ep,ev,re,r,rp)
end end
end end
function cm.condition (e,tp,eg,ep,ev,re,r,rp) function cm.condition (e,tp,eg,ep,ev,re,r,rp)
return vgf.GetMatchingGroupCount(Card.IsR,tp,0,LOCATION_CIRCLE,nil)<=2 return vgf.GetMatchingGroupCount(Card.IsRearguard,tp,0,LOCATION_CIRCLE,nil)<=2
end end
\ No newline at end of file
...@@ -7,7 +7,7 @@ end ...@@ -7,7 +7,7 @@ end
function cm.operation(e,tp,eg,ep,ev,re,r,rp) function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
vgf.op.SoulCharge(1)(e,tp,eg,ep,ev,re,r,rp) vgf.op.SoulCharge(1)(e,tp,eg,ep,ev,re,r,rp)
local g=vgf.SelectMatchingCard(HINTMSG_LEAVEFIELD,e,tp,Card.IsR,tp,0,LOCATION_CIRCLE,1,1,nil) local g=vgf.SelectMatchingCard(HINTMSG_LEAVEFIELD,e,tp,Card.IsRearguard,tp,0,LOCATION_CIRCLE,1,1,nil)
if g:GetCount()>0 then if g:GetCount()>0 then
vgf.Sendto(LOCATION_DROP,g,REASON_EFFECT) vgf.Sendto(LOCATION_DROP,g,REASON_EFFECT)
end end
......
...@@ -14,7 +14,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -14,7 +14,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
end end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return vgf.GetMatchingGroupCount(nil,tp,0,LOCATION_HAND,nil)>=1 end if chk==0 then return vgf.GetMatchingGroupCount(nil,tp,0,LOCATION_HAND,nil)>=1 end
local rc=vgf.GetMatchingGroup(Card.IsV,tp,LOCATION_CIRCLE,0,nil):GetFirst() local rc=vgf.GetMatchingGroup(Card.IsVanguard,tp,LOCATION_CIRCLE,0,nil):GetFirst()
local g=vgf.SelectMatchingCard(HINTMSG_OVERLAY,e,tp,nil,tp,LOCATION_HAND,0,1,1,nil,e,tp) local g=vgf.SelectMatchingCard(HINTMSG_OVERLAY,e,tp,nil,tp,LOCATION_HAND,0,1,1,nil,e,tp)
vgf.Sendto(LOCATION_SOUL,g,rc) vgf.Sendto(LOCATION_SOUL,g,rc)
end end
......
...@@ -12,9 +12,9 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp) ...@@ -12,9 +12,9 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
end end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
if chk==0 then return vgf.IsExistingMatchingCard(nil,Card.IsR,tp,LOCATION_CIRCLE,0,1,c) and vgf.cost.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) end if chk==0 then return vgf.IsExistingMatchingCard(nil,Card.IsRearguard,tp,LOCATION_CIRCLE,0,1,c) and vgf.cost.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) end
vgf.cost.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) vgf.cost.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
local g=vgf.SelectMatchingCard(HINTMSG_OVERLAY,nil,tp,Card.IsR,tp,LOCATION_CIRCLE,0,1,c) local g=vgf.SelectMatchingCard(HINTMSG_OVERLAY,nil,tp,Card.IsRearguard,tp,LOCATION_CIRCLE,0,1,c)
vgf.Sendto(LOCATION_SOUL,g) vgf.Sendto(LOCATION_SOUL,g)
end end
function cm.con(e,tp,eg,ep,ev,re,r,rp) function cm.con(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -8,7 +8,7 @@ function cm.con(e,tp,eg,ep,ev,re,r,rp) ...@@ -8,7 +8,7 @@ function cm.con(e,tp,eg,ep,ev,re,r,rp)
and vgf.IsExistingMatchingCard(cm.filter,tp,LOCATION_CIRCLE,0,1,nil) and vgf.IsExistingMatchingCard(cm.filter,tp,LOCATION_CIRCLE,0,1,nil)
end end
function cm.op(e,tp,eg,ep,ev,re,r,rp) function cm.op(e,tp,eg,ep,ev,re,r,rp)
local g=vgf.SelectMatchingCard(HINTMSG_LEAVEFIELD,e,tp,Card.IsR,tp,0,LOCATION_CIRCLE,1,1,nil) local g=vgf.SelectMatchingCard(HINTMSG_LEAVEFIELD,e,tp,Card.IsRearguard,tp,0,LOCATION_CIRCLE,1,1,nil)
vgf.Sendto(LOCATION_DROP,g,REASON_EFFECT) vgf.Sendto(LOCATION_DROP,g,REASON_EFFECT)
end end
function cm.filter(c) function cm.filter(c)
......
...@@ -3,7 +3,7 @@ function cm.initial_effect(c) ...@@ -3,7 +3,7 @@ function cm.initial_effect(c)
vgd.action.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.op,nil,cm.con) vgd.action.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.op,nil,cm.con)
end end
function cm.con(e,tp,eg,ep,ev,re,r,rp) function cm.con(e,tp,eg,ep,ev,re,r,rp)
return vgf.GetMatchingGroup(Card.IsR,tp,0,LOCATION_CIRCLE,nil):GetCount()<=2 and vgf.con.IsR(e) return vgf.GetMatchingGroup(Card.IsRearguard,tp,0,LOCATION_CIRCLE,nil):GetCount()<=2 and vgf.con.IsR(e)
end end
function cm.op(e,tp,eg,ep,ev,re,r,rp) function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
......
...@@ -4,7 +4,7 @@ function cm.initial_effect(c) ...@@ -4,7 +4,7 @@ function cm.initial_effect(c)
vgd.action.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_TO_GRAVE,cm.op,vgf.cost.And(vgf.cost.CounterBlast(1),vgf.cost.Retire()),cm.con) vgd.action.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_TO_GRAVE,cm.op,vgf.cost.And(vgf.cost.CounterBlast(1),vgf.cost.Retire()),cm.con)
end end
function cm.op(e,tp,eg,ep,ev,re,r,rp) function cm.op(e,tp,eg,ep,ev,re,r,rp)
local g=vgf.SelectMatchingCard(HINTMSG_LEAVEFIELD,e,tp,Card.IsR,tp,0,LOCATION_CIRCLE,1,1,nil) local g=vgf.SelectMatchingCard(HINTMSG_LEAVEFIELD,e,tp,Card.IsRearguard,tp,0,LOCATION_CIRCLE,1,1,nil)
vgf.Sendto(LOCATION_DROP,g,REASON_EFFECT) vgf.Sendto(LOCATION_DROP,g,REASON_EFFECT)
end end
function cm.filter(c,tp) function cm.filter(c,tp)
......
...@@ -9,7 +9,7 @@ end ...@@ -9,7 +9,7 @@ end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
if chk==0 then return c:IsRelateToEffect(e) end if chk==0 then return c:IsRelateToEffect(e) end
local rc=vgf.GetMatchingGroup(Card.IsV,tp,LOCATION_CIRCLE,0,nil):GetFirst() local rc=vgf.GetMatchingGroup(Card.IsVanguard,tp,LOCATION_CIRCLE,0,nil):GetFirst()
vgf.Sendto(LOCATION_SOUL,c,rc) vgf.Sendto(LOCATION_SOUL,c,rc)
end end
function cm.con(e,tp,eg,ep,ev,re,r,rp) function cm.con(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -7,7 +7,7 @@ end ...@@ -7,7 +7,7 @@ end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
if chk==0 then return c:IsRelateToEffect(e) end if chk==0 then return c:IsRelateToEffect(e) end
local rc=vgf.GetMatchingGroup(Card.IsV,tp,LOCATION_CIRCLE,0,nil):GetFirst() local rc=vgf.GetMatchingGroup(Card.IsVanguard,tp,LOCATION_CIRCLE,0,nil):GetFirst()
vgf.Sendto(LOCATION_SOUL,c,rc) vgf.Sendto(LOCATION_SOUL,c,rc)
end end
function cm.op(e,tp,eg,ep,ev,re,r,rp) function cm.op(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -4,6 +4,6 @@ function cm.initial_effect(c) ...@@ -4,6 +4,6 @@ function cm.initial_effect(c)
end end
function cm.operation(e,tp,eg,ep,ev,re,r,rp) function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local g=vgf.SelectMatchingCard(HINTMSG_ATKUP,e,tp,Card.IsV,tp,LOCATION_CIRCLE,0,1,1,nil) local g=vgf.SelectMatchingCard(HINTMSG_ATKUP,e,tp,Card.IsVanguard,tp,LOCATION_CIRCLE,0,1,1,nil)
vgf.AtkUp(c,g,10000,nil) vgf.AtkUp(c,g,10000,nil)
end end
\ No newline at end of file
...@@ -7,7 +7,7 @@ function cm.initial_effect(c) ...@@ -7,7 +7,7 @@ function cm.initial_effect(c)
end end
function cm.operation(e,tp,eg,ep,ev,re,r,rp) function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local g=vgf.SelectMatchingCard(HINTMSG_ATKUP,e,tp,Card.IsV,tp,LOCATION_CIRCLE,0,1,1,nil) local g=vgf.SelectMatchingCard(HINTMSG_ATKUP,e,tp,Card.IsVanguard,tp,LOCATION_CIRCLE,0,1,1,nil)
local e1=vgf.AtkUp(c,g,30000,nil) local e1=vgf.AtkUp(c,g,30000,nil)
vgf.effect.Reset(c,e1,EVENT_BATTLED) vgf.effect.Reset(c,e1,EVENT_BATTLED)
end end
\ No newline at end of file
...@@ -6,7 +6,7 @@ end ...@@ -6,7 +6,7 @@ end
function cm.filter(c,p) function cm.filter(c,p)
return c:IsControler(p) and c:IsRearguard()end return c:IsControler(p) and c:IsRearguard()end
function cm.op(e,tp,eg,ep,ev,re,r,rp) function cm.op(e,tp,eg,ep,ev,re,r,rp)
local g=vgf.SelectMatchingCard(HINTMSG_OPPO,e,tp,Card.IsR,tp,0,LOCATION_CIRCLE,1,1,nil) local g=vgf.SelectMatchingCard(HINTMSG_OPPO,e,tp,Card.IsRearguard,tp,0,LOCATION_CIRCLE,1,1,nil)
if g:GetCount()==0 then return end if g:GetCount()==0 then return end
local sg = g:GetFirst():GetColumnGroup():Filter(cm.filter,nil,1-tp) local sg = g:GetFirst():GetColumnGroup():Filter(cm.filter,nil,1-tp)
if sg:GetCount()>0 then g:Sub(sg) end if sg:GetCount()>0 then g:Sub(sg) end
...@@ -22,9 +22,9 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp) ...@@ -22,9 +22,9 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
end end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then if chk==0 then
vgf.GetMatchingGroup(Card.IsV,tp,LOCATION_CIRCLE,0,nil,nil):GetFirst():GetOverlayGroup():IsExists(Card.IsLevel,1,nil,3) vgf.GetMatchingGroup(Card.IsVanguard,tp,LOCATION_CIRCLE,0,nil,nil):GetFirst():GetOverlayGroup():IsExists(Card.IsLevel,1,nil,3)
end end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVEXYZ) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVEXYZ)
local g=vgf.GetMatchingGroup(Card.IsV,tp,LOCATION_CIRCLE,0,nil):GetFirst():GetOverlayGroup():FilterSelect(tp,Card.IsLevel,1,1,nil,3) local g=vgf.GetMatchingGroup(Card.IsVanguard,tp,LOCATION_CIRCLE,0,nil):GetFirst():GetOverlayGroup():FilterSelect(tp,Card.IsLevel,1,1,nil,3)
vgf.Sendto(LOCATION_DROP,g,REASON_COST) vgf.Sendto(LOCATION_DROP,g,REASON_COST)
end end
\ No newline at end of file
...@@ -6,6 +6,6 @@ function cm.initial_effect(c) ...@@ -6,6 +6,6 @@ function cm.initial_effect(c)
end end
function cm.op(e,tp,eg,ep,ev,re,r,rp) function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local g=vgf.SelectMatchingCard(HINTMSG_ATKUP,tp,Card.IsR,tp,LOCATION_CIRCLE,0,1,1,c) local g=vgf.SelectMatchingCard(HINTMSG_ATKUP,tp,Card.IsRearguard,tp,LOCATION_CIRCLE,0,1,1,c)
vgf.AtkUp(c,g,5000) vgf.AtkUp(c,g,5000)
end end
\ No newline at end of file
...@@ -3,7 +3,7 @@ local cm,m,o=GetID() ...@@ -3,7 +3,7 @@ local cm,m,o=GetID()
--通过【费用】[将你的2张后防者退场]施放! --通过【费用】[将你的2张后防者退场]施放!
--抽1张卡,将这张卡放置到灵魂里,计数回充1。 --抽1张卡,将这张卡放置到灵魂里,计数回充1。
function cm.initial_effect(c) function cm.initial_effect(c)
vgd.action.Order(c,m,cm.op,vgf.cost.Retire(Card.IsR,2,2)) vgd.action.Order(c,m,cm.op,vgf.cost.Retire(Card.IsRearguard,2,2))
VgF.AddAlchemagic(m,"LOCATION_CIRCLE","LOCATION_DROP",2,2,Card.IsR) VgF.AddAlchemagic(m,"LOCATION_CIRCLE","LOCATION_DROP",2,2,Card.IsR)
end end
function cm.op(e,tp,eg,ep,ev,re,r,rp) function cm.op(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -8,6 +8,6 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp) ...@@ -8,6 +8,6 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local g=vgf.SelectMatchingCard(HINTMSG_ATKUP,e,tp,nil,tp,LOCATION_CIRCLE,0,1,1,nil) local g=vgf.SelectMatchingCard(HINTMSG_ATKUP,e,tp,nil,tp,LOCATION_CIRCLE,0,1,1,nil)
vgf.AtkUp(c,g,5000,EVENT_BATTLED) vgf.AtkUp(c,g,5000,EVENT_BATTLED)
local sg=vgf.SelectMatchingCard(HINTMSG_RTOHAND,Card.IsR,e,tp,Card.IsR,tp,LOCATION_CIRCLE,0,1,1,Duel.GetAttackTarget()) local sg=vgf.SelectMatchingCard(HINTMSG_RTOHAND,Card.IsRearguard,e,tp,Card.IsRearguard,tp,LOCATION_CIRCLE,0,1,1,Duel.GetAttackTarget())
vgf.Sendto(LOCATION_HAND,sg,REASON_EFFECT) vgf.Sendto(LOCATION_HAND,sg,REASON_EFFECT)
end end
\ No newline at end of file
...@@ -7,7 +7,7 @@ function cm.initial_effect(c) ...@@ -7,7 +7,7 @@ function cm.initial_effect(c)
end end
function cm.operation(e,tp,eg,ep,ev,re,r,rp) function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local g=vgf.SelectMatchingCard(HINTMSG_OPPO,e,tp,Card.IsV,tp,0,LOCATION_CIRCLE,1,1,nil) local g=vgf.SelectMatchingCard(HINTMSG_OPPO,e,tp,Card.IsVanguard,tp,0,LOCATION_CIRCLE,1,1,nil)
local e1=vgf.StarUp(c,g,-1,EVENT_BATTLED) local e1=vgf.StarUp(c,g,-1,EVENT_BATTLED)
vgf.effect.Reset(c,e1,EVENT_BATTLED) vgf.effect.Reset(c,e1,EVENT_BATTLED)
end end
\ No newline at end of file
...@@ -12,6 +12,6 @@ function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -12,6 +12,6 @@ function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
end end
function cm.op(e,tp,eg,ep,ev,re,r,rp) function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local g=vgf.SelectMatchingCard(HINTMSG_ATKUP,e,tp,Card.IsV,tp,LOCATION_CIRCLE,0,1,1,nil) local g=vgf.SelectMatchingCard(HINTMSG_ATKUP,e,tp,Card.IsVanguard,tp,LOCATION_CIRCLE,0,1,1,nil)
vgf.AtkUp(c,g,10000) vgf.AtkUp(c,g,10000)
end end
\ No newline at end of file
...@@ -15,6 +15,6 @@ function cm.con(e,tp,eg,ep,ev,re,r,rp) ...@@ -15,6 +15,6 @@ function cm.con(e,tp,eg,ep,ev,re,r,rp)
return vgf.con.IsR(e) and Duel.GetAttacker()==e:GetHandler() return vgf.con.IsR(e) and Duel.GetAttacker()==e:GetHandler()
end end
function cm.op(e,tp,eg,ep,ev,re,r,rp) function cm.op(e,tp,eg,ep,ev,re,r,rp)
local g=vgf.SelectMatchingCard(HINTMSG_LEAVEONFIELD,e,tp,Card.IsR,tp,0,LOCATION_CIRCLE,0,1,nil) local g=vgf.SelectMatchingCard(HINTMSG_LEAVEONFIELD,e,tp,Card.IsRearguard,tp,0,LOCATION_CIRCLE,0,1,nil)
vgf.Sendto(LOCATION_DROP,g,REASON_EFFECT) vgf.Sendto(LOCATION_DROP,g,REASON_EFFECT)
end end
\ No newline at end of file
local cm,m,o=GetID() local cm,m,o=GetID()
function cm.initial_effect(c) function cm.initial_effect(c)
vgd.action.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,vgf.op.CardsFromTo(REASON_EFFECT,LOCATION_CIRCLE,LOCATION_SOUL,Card.IsSetCard,1,1,0x78),nil,vgf.con.RideOnVCircle) vgd.action.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,vgf.op.CardsFromTo(REASON_EFFECT,LOCATION_CIRCLE,LOCATION_SOUL,Card.IsSetCard,1,1,0x78),nil,vgf.con.RideOnVCircle)
vgd.action.AbilityAct(c,m,LOCATION_CIRCLE,cm.op,vgf.cost.And(vgf.cost.CounterBlast(1),vgf.cost.Retire(Card.IsR,3,3)),nil,nil,1) vgd.action.AbilityAct(c,m,LOCATION_CIRCLE,cm.op,vgf.cost.And(vgf.cost.CounterBlast(1),vgf.cost.Retire(Card.IsRearguard,3,3)),nil,nil,1)
end end
function cm.op(e,tp,eg,ep,ev,re,r,rp) function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local g=vgf.SelectMatchingCard(HINTMSG_LEAVEFIELD,e,tp,Card.IsR,tp,0,LOCATION_CIRCLE,2,2,nil) local g=vgf.SelectMatchingCard(HINTMSG_LEAVEFIELD,e,tp,Card.IsRearguard,tp,0,LOCATION_CIRCLE,2,2,nil)
vgf.Sendto(LOCATION_DROP,g,REASON_EFFECT) vgf.Sendto(LOCATION_DROP,g,REASON_EFFECT)
vgf.AtkUp(c,c,10000) vgf.AtkUp(c,c,10000)
vgf.StarUp(c,c,1) vgf.StarUp(c,c,1)
......
...@@ -8,7 +8,7 @@ function cm.con(e,tp,eg,ep,ev,re,r,rp) ...@@ -8,7 +8,7 @@ function cm.con(e,tp,eg,ep,ev,re,r,rp)
end end
function cm.op(e,tp,eg,ep,ev,re,r,rp) function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local g=vgf.SelectMatchingCard(HINTMSG_RMONSTER,e,tp,Card.IsR,tp,LOCATION_CIRCLE,0,1,1,nil) local g=vgf.SelectMatchingCard(HINTMSG_RMONSTER,e,tp,Card.IsRearguard,tp,LOCATION_CIRCLE,0,1,1,nil)
local tc=vgf.ReturnCard(g) local tc=vgf.ReturnCard(g)
if tc then if tc then
vgf.AtkUp(c,tc,5000) vgf.AtkUp(c,tc,5000)
......
...@@ -9,7 +9,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp) ...@@ -9,7 +9,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsRelateToEffect(e) and c:IsFaceup() then if c:IsRelateToEffect(e) and c:IsFaceup() then
local val=5000 local val=5000
if vgf.IsExistingMatchingCard(Card.IsR,tp,LOCATION_CIRCLE,0,3,c) then val=10000 end if vgf.IsExistingMatchingCard(Card.IsRearguard,tp,LOCATION_CIRCLE,0,3,c) then val=10000 end
local e1=vgf.AtkUp(c,c,val) local e1=vgf.AtkUp(c,c,val)
vgf.effect.Reset(c,e1,EVENT_BATTLED) vgf.effect.Reset(c,e1,EVENT_BATTLED)
end end
......
...@@ -10,7 +10,7 @@ function cm.con(e,tp,eg,ep,ev,re,r,rp) ...@@ -10,7 +10,7 @@ function cm.con(e,tp,eg,ep,ev,re,r,rp)
end end
function cm.op(e,tp,eg,ep,ev,re,r,rp) function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local tc=vgf.SelectMatchingCard(HINTMSG_VMONSTER,e,tp,Card.IsV,tp,LOCATION_CIRCLE,0,1,1,nil):GetFirst() local tc=vgf.SelectMatchingCard(HINTMSG_VMONSTER,e,tp,Card.IsVanguard,tp,LOCATION_CIRCLE,0,1,1,nil):GetFirst()
if tc:IsSkill(SKILL_TWINDRIVE) then if tc:IsSkill(SKILL_TWINDRIVE) then
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
......
...@@ -3,7 +3,7 @@ function cm.initial_effect(c) ...@@ -3,7 +3,7 @@ function cm.initial_effect(c)
vgd.action.Order(c,m,cm.op,vgf.cost.And(vgf.cost.CounterBlast(1),vgf.cost.SoulBlast(1))) vgd.action.Order(c,m,cm.op,vgf.cost.And(vgf.cost.CounterBlast(1),vgf.cost.SoulBlast(1)))
end end
function cm.op(e,tp,eg,ep,ev,re,r,rp,chk) function cm.op(e,tp,eg,ep,ev,re,r,rp,chk)
local g=vgf.SelectMatchingCard(HINTMSG_LEAVEFIELD,e,tp,Card.IsR,tp,LOCATION_CIRCLE,LOCATION_CIRCLE,1,1,nil) local g=vgf.SelectMatchingCard(HINTMSG_LEAVEFIELD,e,tp,Card.IsRearguard,tp,LOCATION_CIRCLE,LOCATION_CIRCLE,1,1,nil)
if g:GetCount()>0 then if g:GetCount()>0 then
vgf.Sendto(LOCATION_DROP,g,REASON_EFFECT) vgf.Sendto(LOCATION_DROP,g,REASON_EFFECT)
local ct=bit.ReturnCount(vgf.GetAvailableLocation(tp)) local ct=bit.ReturnCount(vgf.GetAvailableLocation(tp))
......
...@@ -13,7 +13,7 @@ function cm.con(e,tp,eg,ep,ev,re,r,rp) ...@@ -13,7 +13,7 @@ function cm.con(e,tp,eg,ep,ev,re,r,rp)
return vgf.con.IsR(e) and vgf.GetVMonster(tp):IsCode(10401002) return vgf.con.IsR(e) and vgf.GetVMonster(tp):IsCode(10401002)
end end
function cm.op(e,tp,eg,ep,ev,re,r,rp) function cm.op(e,tp,eg,ep,ev,re,r,rp)
local g=vgf.SelectMatchingCard(HINTMSG_LEAVEFIELD,e,tp,Card.IsR,tp,0,LOCATION_CIRCLE,1,1,nil) local g=vgf.SelectMatchingCard(HINTMSG_LEAVEFIELD,e,tp,Card.IsRearguard,tp,0,LOCATION_CIRCLE,1,1,nil)
vgf.Sendto(LOCATION_DROP,g,REASON_EFFECT) vgf.Sendto(LOCATION_DROP,g,REASON_EFFECT)
end end
function cm.op1(e,tp,eg,ep,ev,re,r,rp) function cm.op1(e,tp,eg,ep,ev,re,r,rp)
...@@ -22,5 +22,5 @@ function cm.op1(e,tp,eg,ep,ev,re,r,rp) ...@@ -22,5 +22,5 @@ function cm.op1(e,tp,eg,ep,ev,re,r,rp)
vgf.AtkUp(c,c,5000) vgf.AtkUp(c,c,5000)
end end
function cm.con1(e,tp,eg,ep,ev,re,r,rp) function cm.con1(e,tp,eg,ep,ev,re,r,rp)
return vgf.GetMatchingGroupCount(Card.IsV,tp,0,LOCATION_CIRCLE,nil)<=1 return vgf.GetMatchingGroupCount(Card.IsVanguard,tp,0,LOCATION_CIRCLE,nil)<=1
end end
\ No newline at end of file
...@@ -10,9 +10,9 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp) ...@@ -10,9 +10,9 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
if c:IsRelateToEffect(e) and c:IsFaceup() then if c:IsRelateToEffect(e) and c:IsFaceup() then
vgf.AtkUp(c,c,10000,nil) vgf.AtkUp(c,c,10000,nil)
end end
if vgf.cost.And(vgf.cost.SoulBlast(1),vgf.cost.Retire(Card.IsR,1,1,c))(e,tp,eg,ep,ev,re,r,rp,0) and Duel.SelectEffectYesNo(tp,vgf.stringid(VgID,10)) then if vgf.cost.And(vgf.cost.SoulBlast(1),vgf.cost.Retire(Card.IsRearguard,1,1,c))(e,tp,eg,ep,ev,re,r,rp,0) and Duel.SelectEffectYesNo(tp,vgf.stringid(VgID,10)) then
Duel.BreakEffect() Duel.BreakEffect()
vgf.cost.And(vgf.cost.SoulBlast(1),vgf.cost.Retire(Card.IsR,1,1,c))(e,tp,eg,ep,ev,re,r,rp,0) vgf.cost.And(vgf.cost.SoulBlast(1),vgf.cost.Retire(Card.IsRearguard,1,1,c))(e,tp,eg,ep,ev,re,r,rp,0)
local g=Duel.GetDecktopGroup(tp,5) local g=Duel.GetDecktopGroup(tp,5)
Duel.ConfirmCards(tp,g) Duel.ConfirmCards(tp,g)
Duel.DisableShuffleCheck() Duel.DisableShuffleCheck()
......
local cm,m,o=GetID() local cm,m,o=GetID()
function cm.initial_effect(c) function cm.initial_effect(c)
vgd.action.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.op,vgf.cost.And(vgf.cost.CounterBlast(1),vgf.cost.Retire(Card.IsR,1,1,c))) vgd.action.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.op,vgf.cost.And(vgf.cost.CounterBlast(1),vgf.cost.Retire(Card.IsRearguard,1,1,c)))
vgd.action.GlobalCheckEffect(c,m,EVENT_TO_GRAVE,cm.chkcon) vgd.action.GlobalCheckEffect(c,m,EVENT_TO_GRAVE,cm.chkcon)
vgd.action.AbilityCont(c, m, LOCATION_R_CIRCLE, EFFECT_TYPE_SINGLE, EFFECT_UPDATE_ATTACK, 5000, cm.con) vgd.action.AbilityCont(c, m, LOCATION_R_CIRCLE, EFFECT_TYPE_SINGLE, EFFECT_UPDATE_ATTACK, 5000, cm.con)
end end
......
...@@ -9,7 +9,7 @@ end ...@@ -9,7 +9,7 @@ end
function cm.con1(e) function cm.con1(e)
local c=e:GetHandler() local c=e:GetHandler()
local tp=e:GetHandlerPlayer() local tp=e:GetHandlerPlayer()
return vgf.con.IsV(e) and not vgf.IsExistingMatchingCard(Card.IsR,tp,LOCATION_CIRCLE,0,1,nil) and Duel.GetTurnPlayer()==tp return vgf.con.IsV(e) and not vgf.IsExistingMatchingCard(Card.IsRearguard,tp,LOCATION_CIRCLE,0,1,nil) and Duel.GetTurnPlayer()==tp
end end
function cm.con2(e) function cm.con2(e)
local c=e:GetHandler() local c=e:GetHandler()
......
...@@ -8,7 +8,7 @@ end ...@@ -8,7 +8,7 @@ end
function cm.op(e,tp,eg,ep,ev,re,r,rp) function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
vgf.op.SoulCharge(1)(e,tp,eg,ep,ev,re,r,rp) vgf.op.SoulCharge(1)(e,tp,eg,ep,ev,re,r,rp)
local g=vgf.SelectMatchingCard(HINTMSG_RMONSTER,e,tp,Card.IsR,tp,0,LOCATION_CIRCLE,1,1,nil) local g=vgf.SelectMatchingCard(HINTMSG_RMONSTER,e,tp,Card.IsRearguard,tp,0,LOCATION_CIRCLE,1,1,nil)
local tc=vgf.ReturnCard(g) local tc=vgf.ReturnCard(g)
if tc then if tc then
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
...@@ -15,6 +15,6 @@ end ...@@ -15,6 +15,6 @@ end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
if chk==0 then return c:IsRelateToEffect(e) end if chk==0 then return c:IsRelateToEffect(e) end
local rc=vgf.GetMatchingGroup(Card.IsV,tp,LOCATION_CIRCLE,0,nil):GetFirst() local rc=vgf.GetMatchingGroup(Card.IsVanguard,tp,LOCATION_CIRCLE,0,nil):GetFirst()
vgf.Sendto(LOCATION_SOUL,c,rc) vgf.Sendto(LOCATION_SOUL,c,rc)
end end
\ No newline at end of file
...@@ -7,5 +7,5 @@ end ...@@ -7,5 +7,5 @@ end
function cm.con(e,tp,eg,ep,ev,re,r,rp) function cm.con(e,tp,eg,ep,ev,re,r,rp)
local c = e:GetHandler() local c = e:GetHandler()
return vgf.con.RideOnRCircle(e) and c:IsPreviousLocation(LOCATION_HAND) and vgf.IsExistingMatchingCard(Card.IsR,tp,LOCATION_CIRCLE,0,3,c) return vgf.con.RideOnRCircle(e) and c:IsPreviousLocation(LOCATION_HAND) and vgf.IsExistingMatchingCard(Card.IsRearguard,tp,LOCATION_CIRCLE,0,3,c)
end end
\ No newline at end of file
...@@ -7,6 +7,6 @@ end ...@@ -7,6 +7,6 @@ end
function cm.op(e,tp,eg,ep,ev,re,r,rp) function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
-- 选择你的1张先导者 -- 选择你的1张先导者
local g=vgf.SelectMatchingCard(HINTMSG_VMONSTER,tp,Card.IsV,tp,LOCATION_CIRCLE,0,1,1,nil) local g=vgf.SelectMatchingCard(HINTMSG_VMONSTER,tp,Card.IsVanguard,tp,LOCATION_CIRCLE,0,1,1,nil)
vgf.AtkUp(c,g,5000) vgf.AtkUp(c,g,5000)
end end
\ No newline at end of file
...@@ -8,7 +8,7 @@ function cm.initial_effect(c) ...@@ -8,7 +8,7 @@ function cm.initial_effect(c)
end end
function cm.con1(e) function cm.con1(e)
local tp=e:GetHandlerPlayer() local tp=e:GetHandlerPlayer()
return vgf.con.IsV(e) and not vgf.IsExistingMatchingCard(Card.IsR,tp,LOCATION_CIRCLE,0,1,nil) and Duel.GetTurnPlayer()==tp return vgf.con.IsV(e) and not vgf.IsExistingMatchingCard(Card.IsRearguard,tp,LOCATION_CIRCLE,0,1,nil) and Duel.GetTurnPlayer()==tp
end end
function cm.con2(e) function cm.con2(e)
local c=e:GetHandler() local c=e:GetHandler()
......
...@@ -6,7 +6,7 @@ function cm.initial_effect(c) ...@@ -6,7 +6,7 @@ function cm.initial_effect(c)
end end
function cm.op(e,tp,eg,ep,ev,re,r,rp) function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local g=vgf.SelectMatchingCard(HINTMSG_ATKUP,tp,Card.IsR,tp,LOCATION_CIRCLE,0,1,1,nil) local g=vgf.SelectMatchingCard(HINTMSG_ATKUP,tp,Card.IsRearguard,tp,LOCATION_CIRCLE,0,1,1,nil)
vgf.AtkUp(c,g,5000) vgf.AtkUp(c,g,5000)
end end
function cm.con(e,tp,eg,ep,ev,re,r,rp) function cm.con(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -6,6 +6,6 @@ function cm.initial_effect(c) ...@@ -6,6 +6,6 @@ function cm.initial_effect(c)
end end
function cm.con(e,tp,eg,ep,ev,re,r,rp) function cm.con(e,tp,eg,ep,ev,re,r,rp)
local ct1=bit.ReturnCount(vgf.GetAvailableLocation(tp)) local ct1=bit.ReturnCount(vgf.GetAvailableLocation(tp))
local ct2=vgf.GetMatchingGroupCount(Card.IsR,tp,LOCATION_CIRCLE,0,nil) local ct2=vgf.GetMatchingGroupCount(Card.IsRearguard,tp,LOCATION_CIRCLE,0,nil)
return ct1-ct2>=3 return ct1-ct2>=3
end end
\ No newline at end of file
...@@ -7,5 +7,5 @@ end ...@@ -7,5 +7,5 @@ end
function cm.con1(e) function cm.con1(e)
local c= e:GetHandler() local c= e:GetHandler()
local tp=e:GetHandlerPlayer() local tp=e:GetHandlerPlayer()
return vgf.con.IsR(e) and vgf.IsExistingMatchingCard(Card.IsR,tp,LOCATION_CIRCLE,0,3,c) return vgf.con.IsR(e) and vgf.IsExistingMatchingCard(Card.IsRearguard,tp,LOCATION_CIRCLE,0,3,c)
end end
\ No newline at end of file
...@@ -7,7 +7,7 @@ end ...@@ -7,7 +7,7 @@ end
function cm.op(e,tp,eg,ep,ev,re,r,rp) function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if vgf.IsExistingMatchingCard(Card.IsR,tp,LOCATION_CIRCLE,0,3,nil) then if vgf.IsExistingMatchingCard(Card.IsRearguard,tp,LOCATION_CIRCLE,0,3,nil) then
local ac=Duel.GetAttackTarget() local ac=Duel.GetAttackTarget()
local e1=vgf.AtkUp(c,ac,15000,nil) local e1=vgf.AtkUp(c,ac,15000,nil)
vgf.effect.Reset(c,e1,EVENT_BATTLED) vgf.effect.Reset(c,e1,EVENT_BATTLED)
......
...@@ -6,7 +6,7 @@ end ...@@ -6,7 +6,7 @@ end
function cm.op(e,tp,eg,ep,ev,re,r,rp) function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
Duel.Draw(tp,1,REASON_EFFECT) Duel.Draw(tp,1,REASON_EFFECT)
local g=vgf.SelectMatchingCard(HINTMSG_ATKUP,e,tp,Card.IsV,tp,LOCATION_CIRCLE,0,1,1,nil) local g=vgf.SelectMatchingCard(HINTMSG_ATKUP,e,tp,Card.IsVanguard,tp,LOCATION_CIRCLE,0,1,1,nil)
vgf.AtkUp(c,g,5000) vgf.AtkUp(c,g,5000)
Duel.ChangePosition(c,POS_FACEDOWN_ATTACK) Duel.ChangePosition(c,POS_FACEDOWN_ATTACK)
end end
......
...@@ -25,7 +25,7 @@ function cm.condition(e,tp,eg,ep,ev,re,r,rp) ...@@ -25,7 +25,7 @@ function cm.condition(e,tp,eg,ep,ev,re,r,rp)
--效果二处理 --效果二处理
function cm.operation2(e,tp,eg,ep,ev,re,r,rp) function cm.operation2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local g=vgf.SelectMatchingCard(HINTMSG_LEAVEFIELD,e,tp,Card.IsR,tp,0,LOCATION_CIRCLE,1,1,nil) local g=vgf.SelectMatchingCard(HINTMSG_LEAVEFIELD,e,tp,Card.IsRearguard,tp,0,LOCATION_CIRCLE,1,1,nil)
vgf.Sendto(LOCATION_DROP,g,REASON_EFFECT) vgf.Sendto(LOCATION_DROP,g,REASON_EFFECT)
if c:IsRelateToEffect(e) and c:IsFaceup() then if c:IsRelateToEffect(e) and c:IsFaceup() then
vgf.AtkUp(c,c,5000) vgf.AtkUp(c,c,5000)
......
...@@ -235,7 +235,7 @@ function VgD.Register.RideFilter2(c, lv, code, rc) ...@@ -235,7 +235,7 @@ function VgD.Register.RideFilter2(c, lv, code, rc)
end end
function VgD.Register.RideCondition() function VgD.Register.RideCondition()
local tp = Duel.GetTurnPlayer() local tp = Duel.GetTurnPlayer()
local rc = Duel.GetMatchingGroup(Card.IsV, tp, LOCATION_CIRCLE, 0, nil):GetFirst() local rc = Duel.GetMatchingGroup(Card.IsVanguard, tp, LOCATION_CIRCLE, 0, nil):GetFirst()
if not rc then return false end if not rc then return false end
local lv = rc:GetLevel() local lv = rc:GetLevel()
local code = rc:GetCode() local code = rc:GetCode()
......
...@@ -3,7 +3,7 @@ VgF = {} ...@@ -3,7 +3,7 @@ VgF = {}
VgF.Operation = {} VgF.Operation = {}
VgF.Cost = {} VgF.Cost = {}
VgF.Condition = {} VgF.Condition = {}
VgF.Filter = {} VgF.Effect = {}
VgF.op = VgF.Operation VgF.op = VgF.Operation
VgF.cost = VgF.Cost VgF.cost = VgF.Cost
VgF.con = VgF.Condition VgF.con = VgF.Condition
...@@ -320,7 +320,7 @@ end ...@@ -320,7 +320,7 @@ end
---@param e Effect ---@param e Effect
---@return boolean ---@return boolean
function VgF.Condition.IsV(e) function VgF.Condition.IsV(e)
return e:GetHandler():IsV() return e:GetHandler():IsVanguard()
end end
function VgF.Condition.RideOnVCircle(e) function VgF.Condition.RideOnVCircle(e)
...@@ -454,10 +454,10 @@ function VgF.Cost.SoulBlast(val) ...@@ -454,10 +454,10 @@ function VgF.Cost.SoulBlast(val)
local m = c:GetOriginalCode() local m = c:GetOriginalCode()
VgF.AddAlchemagic(m, "LOCATION_SOUL", "LOCATION_DROP", val, val) VgF.AddAlchemagic(m, "LOCATION_SOUL", "LOCATION_DROP", val, val)
end end
return Duel.GetMatchingGroup(Card.IsV, tp, LOCATION_CIRCLE, 0, nil, nil):GetFirst():GetOverlayCount() >= val return Duel.GetMatchingGroup(Card.IsVanguard, tp, LOCATION_CIRCLE, 0, nil, nil):GetFirst():GetOverlayCount() >= val
end end
Duel.Hint(HINT_SELECTMSG, tp, HINTMSG_REMOVEXYZ) Duel.Hint(HINT_SELECTMSG, tp, HINTMSG_REMOVEXYZ)
local g = Duel.GetMatchingGroup(Card.IsV, tp, LOCATION_CIRCLE, 0, nil):GetFirst():GetOverlayGroup():Select(tp, nil, val, val, nil) local g = Duel.GetMatchingGroup(Card.IsVanguard, tp, LOCATION_CIRCLE, 0, nil):GetFirst():GetOverlayGroup():Select(tp, nil, val, val, nil)
return VgF.Sendto(LOCATION_DROP, g, REASON_COST) return VgF.Sendto(LOCATION_DROP, g, REASON_COST)
end end
end end
...@@ -594,7 +594,7 @@ function VgF.Operation.SoulCharge(val) ...@@ -594,7 +594,7 @@ function VgF.Operation.SoulCharge(val)
end end
return Duel.GetFieldGroupCount(tp, LOCATION_DECK, 0) >= val return Duel.GetFieldGroupCount(tp, LOCATION_DECK, 0) >= val
end end
local rc = Duel.GetMatchingGroup(Card.IsV, tp, LOCATION_CIRCLE, 0, nil):GetFirst() local rc = Duel.GetMatchingGroup(Card.IsVanguard, tp, LOCATION_CIRCLE, 0, nil):GetFirst()
local g = Duel.GetDecktopGroup(tp, val) local g = Duel.GetDecktopGroup(tp, val)
Duel.DisableShuffleCheck() Duel.DisableShuffleCheck()
Duel.RaiseEvent(g, EVENT_CUSTOM + EVENT_OVERLAY_FILL, e, 0, tp, tp, val) Duel.RaiseEvent(g, EVENT_CUSTOM + EVENT_OVERLAY_FILL, e, 0, tp, tp, val)
...@@ -797,12 +797,18 @@ Card.IsAbleToBindAsCost = Card.IsAbleToRemoveAsCost ...@@ -797,12 +797,18 @@ Card.IsAbleToBindAsCost = Card.IsAbleToRemoveAsCost
function Card.IsVanguard(c) function Card.IsVanguard(c)
return c:IsSequence(5) return c:IsSequence(5)
end end
Card.IsV = Card.IsVanguard
---返回卡片 c 是不是后防者。 ---返回卡片 c 是不是后防者。
---@param c Card 要判断的卡 ---@param c Card 要判断的卡
---@return boolean 指示是否是后防者 ---@return boolean 指示是否是后防者
function Card.IsRearguard(c) function Card.IsRearguard(c)
return c:GetSequence() < 5 return c:GetSequence() < 5
end end
Card.IsR = Card.IsRearguard
---返回卡片 c 召唤类型是不是V ---返回卡片 c 召唤类型是不是V
function Card.IsRideOnVCircle(c) function Card.IsRideOnVCircle(c)
return c:IsSummonType(SUMMON_TYPE_RIDE) or c:IsSummonType(SUMMON_TYPE_SELFRIDE) return c:IsSummonType(SUMMON_TYPE_RIDE) or c:IsSummonType(SUMMON_TYPE_SELFRIDE)
...@@ -1183,7 +1189,7 @@ function VgF.Call(g, calltyp, tp, zone, pos) ...@@ -1183,7 +1189,7 @@ function VgF.Call(g, calltyp, tp, zone, pos)
if VgF.GetValueType(g) == "Card" then sg = Group.FromCards(g) else sg = Group.Clone(g) end if VgF.GetValueType(g) == "Card" then sg = Group.FromCards(g) else sg = Group.Clone(g) end
for sc in VgF.Next(sg) do for sc in VgF.Next(sg) do
if sc:IsLocation(LOCATION_RIDE) then if sc:IsLocation(LOCATION_RIDE) then
local rc = Duel.GetMatchingGroup(Card.IsV, tp, LOCATION_CIRCLE, 0, nil):GetFirst() local rc = Duel.GetMatchingGroup(Card.IsVanguard, tp, LOCATION_CIRCLE, 0, nil):GetFirst()
local mg = rc:GetOverlayGroup() local mg = rc:GetOverlayGroup()
if mg:GetCount() ~= 0 then if mg:GetCount() ~= 0 then
VgF.Sendto(LOCATION_SOUL, mg, sc) VgF.Sendto(LOCATION_SOUL, mg, sc)
...@@ -1217,7 +1223,7 @@ end ...@@ -1217,7 +1223,7 @@ end
---@return Card|nil p场上的先导者 ---@return Card|nil p场上的先导者
function VgF.GetVMonster(p) function VgF.GetVMonster(p)
if p ~= 0 and p ~= 1 then return end if p ~= 0 and p ~= 1 then return end
return Duel.GetMatchingGroup(Card.IsV, p, LOCATION_CIRCLE, 0, nil):GetFirst() return Duel.GetMatchingGroup(Card.IsVanguard, p, LOCATION_CIRCLE, 0, nil):GetFirst()
end end
---以c的名义,使g(中的每一张卡)的攻击力上升val,并在reset时重置。 ---以c的名义,使g(中的每一张卡)的攻击力上升val,并在reset时重置。
......
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