Commit 45749037 authored by xiaoye's avatar xiaoye

fix

parent 675d4fff
......@@ -12,7 +12,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
end
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)
local g=vgf.SelectMatchingCard(HINTMSG_LEAVEFIELD,e,tp,vgf.filter.IsR,tp,0,LOCATION_CIRCLE,1,1,nil)
local g=vgf.SelectMatchingCard(HINTMSG_LEAVEFIELD,e,tp,Card.IsR,tp,0,LOCATION_CIRCLE,1,1,nil)
vgf.Sendto(LOCATION_DROP,g,REASON_EFFECT)
end
end
......
......@@ -8,8 +8,8 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return vgf.IsExistingMatchingCard(vgf.filter.IsR,tp,LOCATION_CIRCLE,0,1,nil) end
local g=vgf.SelectMatchingCard(HINTMSG_XMATERIAL,e,tp,vgf.filter.IsR,tp,LOCATION_CIRCLE,0,1,1,nil)
if chk==0 then return vgf.IsExistingMatchingCard(Card.IsR,tp,LOCATION_CIRCLE,0,1,nil) end
local g=vgf.SelectMatchingCard(HINTMSG_XMATERIAL,e,tp,Card.IsR,tp,LOCATION_CIRCLE,0,1,1,nil)
vgf.Sendto(LOCATION_SOUL,g,c)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
......
......@@ -10,7 +10,7 @@ end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CALL)
local g=vgf.GetMatchingGroup(vgf.filter.IsV,tp,LOCATION_CIRCLE,0,nil):GetFirst():GetOverlayGroup():FilterSelect(tp,vgf.IsCanBeCalled,1,1,nil,e,tp,nil,nil,0x4)
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)
vgf.Sendto(LOCATION_CIRCLE,g,0,tp,0x4)
vgf.op.SoulCharge(1)(e,tp,eg,ep,ev,re,r,rp)
end
\ No newline at end of file
......@@ -15,7 +15,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetDecktopGroup(tp,1)
local tc=vgf.ReturnCard(g)
Duel.DisableShuffleCheck()
if vgf.IsCanBeCalled(tc,e,tp) then
if tc:IsCanBeCalled(e,tp) then
vgf.Sendto(LOCATION_CIRCLE,g,0,tp)
else
vgf.Sendto(LOCATION_DROP,g,REASON_EFFECT)
......
......@@ -13,6 +13,6 @@ function cm.filter(c)
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return c:IsRelateToEffect(e) end
local rc=vgf.GetMatchingGroup(vgf.filter.IsV,tp,LOCATION_CIRCLE,0,nil):GetFirst()
local rc=vgf.GetMatchingGroup(Card.IsV,tp,LOCATION_CIRCLE,0,nil):GetFirst()
vgf.Sendto(LOCATION_SOUL,c,rc)
end
\ No newline at end of file
......@@ -8,7 +8,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local ct=1
if c:IsSummonType(SUMMON_TYPE_SELFRIDE) then ct=3 end
local g=vgf.SelectMatchingCard(HINTMSG_ATKUP,e,tp,vgf.filter.IsR,tp,LOCATION_CIRCLE,0,1,ct,nil)
local g=vgf.SelectMatchingCard(HINTMSG_ATKUP,e,tp,Card.IsR,tp,LOCATION_CIRCLE,0,1,ct,nil)
if g then
Duel.Hintselectgion(g)
for tc in vgf.Next(g) do
......
......@@ -12,7 +12,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetDecktopGroup(tp,1)
local tc=vgf.ReturnCard(g)
Duel.DisableShuffleCheck()
if vgf.IsCanBeCalled(tc,e,tp) then
if tc:IsCanBeCalled(e,tp) then
vgf.Sendto(LOCATION_CIRCLE,g,0,tp)
else
vgf.Sendto(LOCATION_HAND,g,nil,REASON_EFFECT)
......
......@@ -13,7 +13,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetDecktopGroup(tp,1)
local tc=vgf.ReturnCard(g)
Duel.DisableShuffleCheck()
if vgf.IsCanBeCalled(tc,e,tp) and tc:IsLevelBelow(2) then
if tc:IsCanBeCalled(e,tp) and tc:IsLevelBelow(2) then
vgf.Sendto(LOCATION_CIRCLE,g,0,tp)
else
vgf.Sendto(LOCATION_SOUL,g,c)
......
......@@ -5,5 +5,5 @@ end
function cm.con(e)
local c=e:GetHandler()
local tp=e:GetHandlerPlayer()
return vgf.con.IsR(e) and vgf.IsExistingMatchingCard(vgf.filter.IsR,tp,LOCATION_CIRCLE,0,4,c)
return vgf.con.IsR(e) and vgf.IsExistingMatchingCard(Card.IsR,tp,LOCATION_CIRCLE,0,4,c)
end
\ No newline at end of file
......@@ -10,7 +10,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetDecktopGroup(tp,1)
local tc=vgf.ReturnCard(g)
Duel.DisableShuffleCheck()
if vgf.IsCanBeCalled(tc,e,tp) then
if tc:IsCanBeCalled(e,tp) then
vgf.Sendto(LOCATION_CIRCLE,g,0,tp)
else
vgf.Sendto(LOCATION_HAND,g,nil,REASON_EFFECT)
......
......@@ -13,7 +13,7 @@ function cm.filter(c)
end
function cm.op1(e,tp,eg,ep,ev,re,r,rp)
if not vgf.CheckPrison(tp) then return end
local g1=vgf.SelectMatchingCard(HINTMSG_IMPRISON,e,tp,vgf.filter.IsR,tp,0,LOCATION_CIRCLE,2,2,nil)
local g1=vgf.SelectMatchingCard(HINTMSG_IMPRISON,e,tp,Card.IsR,tp,0,LOCATION_CIRCLE,2,2,nil)
vgf.SendtoPrison(g1,tp)
end
function cm.con2(e,c)
......
......@@ -9,6 +9,6 @@ end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not vgf.CheckPrison(tp) then return end
local g=vgf.SelectMatchingCard(HINTMSG_IMPRISON,e,tp,vgf.filter.IsR,tp,0,LOCATION_CIRCLE,0,2,nil)
local g=vgf.SelectMatchingCard(HINTMSG_IMPRISON,e,tp,Card.IsR,tp,0,LOCATION_CIRCLE,0,2,nil)
vgf.SendtoPrison(g,tp)
end
\ No newline at end of file
......@@ -9,6 +9,6 @@ end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not vgf.CheckPrison(tp) then return end
local g=vgf.SelectMatchingCard(HINTMSG_IMPRISON,e,tp,vgf.filter.IsR,tp,0,LOCATION_CIRCLE,1,1,nil)
local g=vgf.SelectMatchingCard(HINTMSG_IMPRISON,e,tp,Card.IsR,tp,0,LOCATION_CIRCLE,1,1,nil)
vgf.SendtoPrison(g,tp)
end
\ No newline at end of file
......@@ -49,7 +49,7 @@ function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=vgf.SelectMatchingCard(HINTMSG_VMONSTER,e,tp,vgf.filter.IsV,tp,0,LOCATION_CIRCLE,1,1,nil):GetFirst()
local tc=vgf.SelectMatchingCard(HINTMSG_VMONSTER,e,tp,Card.IsV,tp,0,LOCATION_CIRCLE,1,1,nil):GetFirst()
if tc:GetAttack()>1 then
local atk=tc:GetAttack()-1
vgf.AtkUp(c,tc,-atk)
......
......@@ -10,7 +10,7 @@ end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetLabelObject()
if c:IsRelateToEffect(e) and vgf.IsCanBeCalled(c,e,tp) then
if c:IsRelateToEffect(e) and c:IsCanBeCalled(e,tp) then
vgf.Sendto(LOCATION_CIRCLE,c,0,tp)
end
end
......
......@@ -9,6 +9,6 @@ function cm.condition(e,tp,eg,ep,ev,re,r,rp)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local rc=vgf.GetMatchingGroup(vgf.filter.IsV,tp,LOCATION_CIRCLE,0,nil):GetFirst()
local rc=vgf.GetMatchingGroup(Card.IsV,tp,LOCATION_CIRCLE,0,nil):GetFirst()
if c:IsRelateToEffect(e) then vgf.Sendto(LOCATION_SOUL,c,rc) end
end
\ No newline at end of file
......@@ -25,8 +25,7 @@ function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetAttacker()==c
end
function cm.filter(c,e,tp)
return c:IsSetCard(0x76) and vgf.IsCanBeCalled(c,e,tp)
end
return c:IsSetCard(0x76) and c:IsCanBeCalled(e,tp)end
function cm.checkfilter(c)
return c:IsRideOnVCircle() and c:IsLevelAbove(3)
end
......
......@@ -20,5 +20,5 @@ function cm.operation1(e,tp,eg,ep,ev,re,r,rp)
end
end
function cm.cfilter(c,mc)
return c):IsContains(mc:GetColumnGroup() and c:IsControler(mc:GetControler()) and c:GetFlagEffect(FLAG_SUPPORT)>0
return c:IsContains(mc:GetColumnGroup()) and c:IsControler(mc:GetControler()) and c:GetFlagEffect(FLAG_SUPPORT)>0
end
\ No newline at end of file
......@@ -48,5 +48,4 @@ function cm.filter(c)
return c:IsSetCard(0x77)
end
function cm.filter1(c,e,tp)
return c:IsLevelBelow(2) and vgf.IsCanBeCalled(c,e,tp)
end
\ No newline at end of file
return c:IsLevelBelow(2) and c:IsCanBeCalled(e,tp)end
\ No newline at end of file
......@@ -38,5 +38,4 @@ function cm.op1(e,tp,eg,ep,ev,re,r,rp)
vgf.Sendto(LOCATION_CIRCLE,g,SUMMON_TYPE_RIDE,tp,"FromSouloV",POS_FACEDOWN_DEFENCE)
end
function cm.filter(c,e,tp)
return c:IsSetCard(0x202) and vgf.IsCanBeCalled(c,e,tp,SUMMON_TYPE_RIDE,POS_FACEDOWN_DEFENCE,"FromSouloV")
end
\ No newline at end of file
return c:IsSetCard(0x202) and c:IsCanBeCalled(e,tp,SUMMON_TYPE_RIDE,POS_FACEDOWN_DEFENCE,"FromSouloV")end
\ No newline at end of file
......@@ -13,5 +13,5 @@ function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return c:IsRearguard() and vgf.IsExistingMatchingCard(cm.filter,tp,LOCATION_CIRCLE,0,1,nil)
end
function cm.filter(c)
return vgf.filter.IsV and c:IsSetCard(0x77)
return Card.IsV and c:IsSetCard(0x77)
end
\ No newline at end of file
......@@ -7,7 +7,7 @@ function cm.condition(e,tp,eg,ep,ev,re,r,rp)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) and vgf.IsCanBeCalled(c,e,tp) then
if c:IsRelateToEffect(e) and c:IsCanBeCalled(e,tp) then
vgf.Sendto(LOCATION_CIRCLE,c,0,tp)
end
end
\ No newline at end of file
......@@ -19,5 +19,4 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
end
end
function cm.filter(c,e,tp)
return c:IsLevelAbove(2) and vgf.IsCanBeCalled(c,e,tp)
end
\ No newline at end of file
return c:IsLevelAbove(2) and c:IsCanBeCalled(e,tp)end
\ No newline at end of file
......@@ -23,7 +23,7 @@ function cm.operation1(e,tp,eg,ep,ev,re,r,rp)
local ct=bit.ReturnCount(zone)
zone=bit.bor(zone,0xffffff00)
if ct>2 then ct=2 end
local g=vgf.SelectMatchingCard(HINTMSG_CALL,e,tp,vgf.IsCanBeCalled,tp,LOCATION_HAND,0,0,ct,nil,e,tp)
local g=vgf.SelectMatchingCard(HINTMSG_CALL,e,tp,Card.IsCanBeCalled,tp,LOCATION_HAND,0,0,ct,nil,e,tp)
if g:GetCount()==1 then
vgf.Sendto(LOCATION_CIRCLE,g,0,tp)
elseif g:GetCount()==2 then
......
......@@ -14,5 +14,5 @@ function cm.con(e,tp,eg,ep,ev,re,r,rp)
return vgf.IsExistingMatchingCard(cm.cfilter,tp,LOCATION_CIRCLE,0,1,nil,e:GetHandler()) and Duel.GetAttacker()==e:GetHandler() and vgf.con.IsR(e)
end
function cm.cfilter(c,mc)
return c):IsContains(mc:GetColumnGroup() and c:IsControler(mc:GetControler()) and c:GetFlagEffect(FLAG_SUPPORT)>0
return c:IsContains(mc:GetColumnGroup()) and c:IsControler(mc:GetControler()) and c:GetFlagEffect(FLAG_SUPPORT)>0
end
\ No newline at end of file
......@@ -14,8 +14,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
vgf.Sendto(LOCATION_CIRCLE,g,0,tp,nil,POS_FACEUP_DEFENSE)
end
function cm.filter(c,e,tp)
return c:IsLevel(c,0,1) and vgf.IsCanBeCalled(c,e,tp)
end
return c:IsLevel(c,0,1) and c:IsCanBeCalled(e,tp)end
function cm.operation1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) and c:IsFaceup() then
......
......@@ -10,8 +10,8 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
Duel.DisableShuffleCheck()
local off=1
local ops={}
local a=vgf.IsCanBeCalled(tc,e,tp)
if a then
local a = tc:IsCanBeCalled(e,tp)
if a then
ops[off]=1152
off=off+1
end
......
......@@ -5,8 +5,8 @@ function cm.initial_effect(c)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=vgf.SelectMatchingCard(HINTMSG_VMONSTER,e,tp,vgf.filter.IsV,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()
local g=vgf.SelectMatchingCard(HINTMSG_VMONSTER,e,tp,Card.IsV,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())
end
function cm.tg(e,c)
return c:IsRearguard()end
\ No newline at end of file
......@@ -13,7 +13,7 @@ function cm.filter(c)
return c:IsCanChangePosition() and c:IsPosition(POS_FACEUP_ATTACK) and c:IsRearguard()end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=vgf.SelectMatchingCard(HINTMSG_LEAVEFIELD,e,tp,vgf.filter.IsV,tp,0,LOCATION_CIRCLE,1,1,nil)
local g=vgf.SelectMatchingCard(HINTMSG_LEAVEFIELD,e,tp,Card.IsV,tp,0,LOCATION_CIRCLE,1,1,nil)
if g:GetCount()>0 then vgf.Sendto(LOCATION_DROP,g,REASON_EFFECT) end
if c:IsRelateToEffect(e) and c:IsFaceup() then
vgf.AtkUp(c,c,10000)
......@@ -29,7 +29,7 @@ function cm.op1(e,tp,eg,ep,ev,re,r,rp)
Duel.ConfirmCards(g)
local ct1=vgf.GetAvailableLocation(tp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CALL)
local sg=g:FilterSelect(tp,vgf.IsCanBeCalled,0,ct1,nil,e,tp)
local sg=g:FilterSelect(tp,Card.IsCanBeCalled,0,ct1,nil,e,tp)
if sg:GetCount()>0 then
vgf.Sendto(LOCATION_CIRCLE,sg,0,tp)
g:Sub(sg)
......
......@@ -13,14 +13,14 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
end
end
if ct>=15 then
local g1=vgf.GetMatchingGroup(vgf.filter.IsR,tp,LOCATION_CIRCLE,0,nil)
local g2=vgf.GetMatchingGroup(vgf.filter.IsR,tp,0,LOCATION_CIRCLE,nil)
local g1=vgf.GetMatchingGroup(Card.IsR,tp,LOCATION_CIRCLE,0,nil)
local g2=vgf.GetMatchingGroup(Card.IsR,tp,0,LOCATION_CIRCLE,nil)
local tc1=vgf.GetVMonster(tp)
local tc2=vgf.GetVMonster(1-tp)
vgf.Sendto(LOCATION_SOUL,g1,tc1)
vgf.Sendto(LOCATION_SOUL,g2,tc2)
if vgf.GetAvailableLocation(tp)>0 then
local g=tc1:GetOverlayGroup():FilterSelect(tp,vgf.IsCanBeCalled,tp,0,2,nil,e,tp)
local g=tc1:GetOverlayGroup():FilterSelect(tp,Card.IsCanBeCalled,tp,0,2,nil,e,tp)
vgf.Sendto(LOCATION_CIRCLE,g,0,tp)
end
end
......
......@@ -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)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local g=vgf.SelectMatchingCard(HINTMSG_LEAVEFIELD,e,tp,vgf.filter.IsR,tp,0,LOCATION_CIRCLE,1,1,nil)
local g=vgf.SelectMatchingCard(HINTMSG_LEAVEFIELD,e,tp,Card.IsR,tp,0,LOCATION_CIRCLE,1,1,nil)
vgf.Sendto(LOCATION_DROP,g,REASON_EFFECT)
end
\ No newline at end of file
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.action.AbilityCont(c, m, LOCATION_CIRCLE, EFFECT_TYPE_SINGLE, EFFECT_UPDATE_ATTACK, 5000, function(e)
vgd.action.AbilityCont(c, m, LOCATION_G_CIRCLE, EFFECT_TYPE_SINGLE, 5000, EFFECT_UPDATE_DEFENSE, cm.con)
vgd.action.AbilityCont(c, m, LOCATION_R_CIRCLE, EFFECT_TYPE_SINGLE, EFFECT_UPDATE_ATTACK, 5000, cm.con)
vgd.action.AbilityCont(c, m, LOCATION_G_CIRCLE, EFFECT_TYPE_SINGLE, EFFECT_UPDATE_DEFENSE, 5000, cm.con)
vgd.action.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.op,vgf.cost.SoulBlast(1),vgf.con.RideOnRCircle)
end
function cm.con(e)
......@@ -18,4 +18,5 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
end
end
function cm.filter1(c)
return c:IsRearguard() and c:IsFrontrow()end
\ No newline at end of file
return c:IsRearguard() and c:IsFrontrow()
end
\ No newline at end of file
......@@ -11,7 +11,7 @@ function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.cost.SoulBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local g=vgf.SelectMatchingCard(HINTMSG_CALL,e,tp,vgf.IsCanBeCalled,tp,LOCATION_HAND,0,1,1,nil,e,tp)
local g=vgf.SelectMatchingCard(HINTMSG_CALL,e,tp,Card.IsCanBeCalled,tp,LOCATION_HAND,0,1,1,nil,e,tp)
if vgf.Sendto(LOCATION_CIRCLE,g,0,tp)>0 and g:GetFirst():IsLevel(3) then
Duel.Draw(tp,2,REASON_EFFECT)
end
......
......@@ -12,7 +12,7 @@ function cm.filter(c,tp)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=vgf.SelectMatchingCard(HINTMSG_RMONSTER,e,tp,vgf.filter.IsR,tp,LOCATION_CIRCLE,0,1,1,nil)
local g=vgf.SelectMatchingCard(HINTMSG_RMONSTER,e,tp,Card.IsR,tp,LOCATION_CIRCLE,0,1,1,nil)
vgf.AtkUp(c,g,10000)
end
function cm.checkcon(e,tp,eg,ep,ev,re,r,rp)
......
......@@ -7,6 +7,6 @@ function cm.con(e)
return c:IsBackrow()end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=vgf.SelectMatchingCard(HINTMSG_ATKUP,e,tp,vgf.filter.IsR,tp,LOCATION_CIRCLE,0,1,1,c)
local g=vgf.SelectMatchingCard(HINTMSG_ATKUP,e,tp,Card.IsR,tp,LOCATION_CIRCLE,0,1,1,c)
vgf.AtkUp(c,g,c:GetAttack())
end
\ No newline at end of file
......@@ -3,6 +3,6 @@ function cm.initial_effect(c)
vgd.action.AdditionalEffect(c,m,cm.op)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local g=vgf.SelectMatchingCard(HINTMSG_VMONSTER,e,tp,vgf.filter.IsV,tp,LOCATION_CIRCLE,0,1,1,nil)
local g=vgf.SelectMatchingCard(HINTMSG_VMONSTER,e,tp,Card.IsV,tp,LOCATION_CIRCLE,0,1,1,nil)
Duel.ChangePosition(g,POS_FACEUP_ATTACK)
end
\ No newline at end of file
......@@ -12,8 +12,8 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return vgf.IsExistingMatchingCard(vgf.filter.IsR,tp,LOCATION_CIRCLE,0,1,c) end
local g=vgf.SelectMatchingCard(HINTMSG_XMATERIAL,e,tp,vgf.filter.IsR,tp,LOCATION_CIRCLE,0,1,1,c)
if chk==0 then return vgf.IsExistingMatchingCard(Card.IsR,tp,LOCATION_CIRCLE,0,1,c) end
local g=vgf.SelectMatchingCard(HINTMSG_XMATERIAL,e,tp,Card.IsR,tp,LOCATION_CIRCLE,0,1,1,c)
vgf.Sendto(LOCATION_SOUL,g)
end
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)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
if not vgf.CheckPrison(tp) then return end
local g=vgf.SelectMatchingCard(HINTMSG_IMPRISON,e,tp,vgf.filter.IsR,tp,0,LOCATION_CIRCLE,1,1,nil)
local g=vgf.SelectMatchingCard(HINTMSG_IMPRISON,e,tp,Card.IsR,tp,0,LOCATION_CIRCLE,1,1,nil)
vgf.SendtoPrison(g,tp)
if vgf.IsExistingMatchingCard(cm.filter,tp,LOCATION_ORDER,0,3,nil) then
Duel.Draw(tp,1,REASON_EFFECT)
......
......@@ -4,7 +4,7 @@ function cm.initial_effect(c)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=vgf.GetMatchingGroup(vgf.filter.Front,tp,LOCATION_CIRCLE,0,nil)
local g=vgf.GetMatchingGroup(Card.IsFrontrow,tp,LOCATION_CIRCLE,0,nil)
vgf.AtkUp(c,g,"DOUBLE")
vgf.StarUp(c,g,"DOUBLE")
end
\ No newline at end of file
......@@ -7,16 +7,16 @@ function cm.initial_effect(c)
end
function cm.condition2(e,tp,eg,ep,ev,re,r,rp)
local c=Duel.GetAttacker()
return vgf.con.IsR(e) and vgf.GetMatchingGroupCount(vgf.filter.IsR,tp,0,LOCATION_CIRCLE,nil)<=2 and c:IsVanguard()end
return vgf.con.IsR(e) and vgf.GetMatchingGroupCount(Card.IsR,tp,0,LOCATION_CIRCLE,nil)<=2 and c:IsVanguard()end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return c:IsRelateToEffect(e) end
local rc=vgf.GetMatchingGroup(vgf.filter.IsV,tp,LOCATION_CIRCLE,0,nil):GetFirst()
local rc=vgf.GetMatchingGroup(Card.IsV,tp,LOCATION_CIRCLE,0,nil):GetFirst()
vgf.Sendto(LOCATION_SOUL,c,rc)
end
function cm.operation2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=vgf.SelectMatchingCard(HINTMSG_CRITICAL_STRIKE,e,tp,vgf.filter.IsV,tp,LOCATION_CIRCLE,0,1,1,nil)
local g=vgf.SelectMatchingCard(HINTMSG_CRITICAL_STRIKE,e,tp,Card.IsV,tp,LOCATION_CIRCLE,0,1,1,nil)
if g:GetCount()>0 then
local e1=vgf.StarUp(c,g,1,nil)
vgf.effect.Reset(c,e1,EVENT_BATTLED)
......
......@@ -23,5 +23,5 @@ function cm.operation1(e,tp,eg,ep,ev,re,r,rp)
end
end
function cm.condition (e,tp,eg,ep,ev,re,r,rp)
return vgf.GetMatchingGroupCount(vgf.filter.IsR,tp,0,LOCATION_CIRCLE,nil)<=2
return vgf.GetMatchingGroupCount(Card.IsR,tp,0,LOCATION_CIRCLE,nil)<=2
end
\ No newline at end of file
......@@ -7,7 +7,7 @@ end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
vgf.op.SoulCharge(1)(e,tp,eg,ep,ev,re,r,rp)
local g=vgf.SelectMatchingCard(HINTMSG_LEAVEFIELD,e,tp,vgf.filter.IsR,tp,0,LOCATION_CIRCLE,1,1,nil)
local g=vgf.SelectMatchingCard(HINTMSG_LEAVEFIELD,e,tp,Card.IsR,tp,0,LOCATION_CIRCLE,1,1,nil)
if g:GetCount()>0 then
vgf.Sendto(LOCATION_DROP,g,REASON_EFFECT)
end
......
......@@ -16,6 +16,6 @@ function cm.condition1(e,tp,eg,ep,ev,re,r,rp)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=vgf.GetMatchingGroup(vgf.filter.Front,tp,LOCATION_CIRCLE,0,nil)
local g=vgf.GetMatchingGroup(Card.IsFrontrow,tp,LOCATION_CIRCLE,0,nil)
vgf.AtkUp(c,g,5000,nil)
end
\ No newline at end of file
......@@ -14,7 +14,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
end
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
local rc=vgf.GetMatchingGroup(vgf.filter.IsV,tp,LOCATION_CIRCLE,0,nil):GetFirst()
local rc=vgf.GetMatchingGroup(Card.IsV,tp,LOCATION_CIRCLE,0,nil):GetFirst()
local g=vgf.SelectMatchingCard(HINTMSG_OVERLAY,e,tp,nil,tp,LOCATION_HAND,0,1,1,nil,e,tp)
vgf.Sendto(LOCATION_SOUL,g,rc)
end
......
......@@ -12,9 +12,9 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return vgf.IsExistingMatchingCard(nil,vgf.filter.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.IsR,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)
local g=vgf.SelectMatchingCard(HINTMSG_OVERLAY,nil,tp,vgf.filter.IsR,tp,LOCATION_CIRCLE,0,1,c)
local g=vgf.SelectMatchingCard(HINTMSG_OVERLAY,nil,tp,Card.IsR,tp,LOCATION_CIRCLE,0,1,c)
vgf.Sendto(LOCATION_SOUL,g)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
......
......@@ -4,7 +4,7 @@ function cm.initial_effect(c)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) and vgf.IsCanBeCalled(c,e,tp) then
if c:IsRelateToEffect(e) and c:IsCanBeCalled(e,tp) then
vgf.Sendto(LOCATION_CIRCLE,c,0,tp)
end
end
......
......@@ -15,7 +15,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp,chk)
if ct>0 then
Duel.DisableShuffleCheck()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CALL)
local sg=g:FilterSelect(tp,vgf.IsCanBeCalled,0,ct,nil,e,tp)
local sg=g:FilterSelect(tp,Card.IsCanBeCalled,0,ct,nil,e,tp)
vgf.Sendto(LOCATION_CIRCLE,sg,0,tp)
sg=Duel.GetOperatedGroup()
vgf.AtkUp(c,sg,5000)
......
......@@ -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)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local g=vgf.SelectMatchingCard(HINTMSG_LEAVEFIELD,e,tp,vgf.filter.IsR,tp,0,LOCATION_CIRCLE,1,1,nil)
local g=vgf.SelectMatchingCard(HINTMSG_LEAVEFIELD,e,tp,Card.IsR,tp,0,LOCATION_CIRCLE,1,1,nil)
vgf.Sendto(LOCATION_DROP,g,REASON_EFFECT)
end
function cm.filter(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)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
return vgf.GetMatchingGroup(vgf.filter.IsR,tp,0,LOCATION_CIRCLE,nil):GetCount()<=2 and vgf.con.IsR(e)
return vgf.GetMatchingGroup(Card.IsR,tp,0,LOCATION_CIRCLE,nil):GetCount()<=2 and vgf.con.IsR(e)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -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)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local g=vgf.SelectMatchingCard(HINTMSG_LEAVEFIELD,e,tp,vgf.filter.IsR,tp,0,LOCATION_CIRCLE,1,1,nil)
local g=vgf.SelectMatchingCard(HINTMSG_LEAVEFIELD,e,tp,Card.IsR,tp,0,LOCATION_CIRCLE,1,1,nil)
vgf.Sendto(LOCATION_DROP,g,REASON_EFFECT)
end
function cm.filter(c,tp)
......
......@@ -16,7 +16,7 @@ function cm.op(e,tp,eg,ep,re,r,rp)
local g=Duel.GetDecktopGroup(tp,1)
Duel.ConfirmCards(g)
Duel.DisableShuffleCheck()
local sg=g:FilterSelect(tp,vgf.IsCanBeCalled,0,1,nil,e,tp)
local sg=g:FilterSelect(tp,Card.IsCanBeCalled,0,1,nil,e,tp)
if sg:GetCount()>0 then
vgf.Sendto(LOCATION_CIRCLE,g,0,tp)
g:Sub(sg)
......
......@@ -9,7 +9,7 @@ end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return c:IsRelateToEffect(e) end
local rc=vgf.GetMatchingGroup(vgf.filter.IsV,tp,LOCATION_CIRCLE,0,nil):GetFirst()
local rc=vgf.GetMatchingGroup(Card.IsV,tp,LOCATION_CIRCLE,0,nil):GetFirst()
vgf.Sendto(LOCATION_SOUL,c,rc)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
......
......@@ -7,7 +7,7 @@ end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return c:IsRelateToEffect(e) end
local rc=vgf.GetMatchingGroup(vgf.filter.IsV,tp,LOCATION_CIRCLE,0,nil):GetFirst()
local rc=vgf.GetMatchingGroup(Card.IsV,tp,LOCATION_CIRCLE,0,nil):GetFirst()
vgf.Sendto(LOCATION_SOUL,c,rc)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
......
......@@ -6,7 +6,8 @@ function cm.initial_effect(c)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local c):FilterSelect(tp,cm.filter,1,1,nil,tp:GetColumnGroup() local atk=2000
local g = c:GetColumnGroup():FilterSelect(tp,cm.filter,1,1,nil,tp)
local atk=2000
if Duel.GetFlagEffectLabel(tp,FLAG_CONDITION)==10102001 then
atk=5000
end
......
......@@ -4,6 +4,6 @@ function cm.initial_effect(c)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=vgf.SelectMatchingCard(HINTMSG_ATKUP,e,tp,vgf.filter.IsV,tp,LOCATION_CIRCLE,0,1,1,nil)
local g=vgf.SelectMatchingCard(HINTMSG_ATKUP,e,tp,Card.IsV,tp,LOCATION_CIRCLE,0,1,1,nil)
vgf.AtkUp(c,g,10000,nil)
end
\ No newline at end of file
......@@ -7,7 +7,7 @@ function cm.initial_effect(c)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=vgf.SelectMatchingCard(HINTMSG_ATKUP,e,tp,vgf.filter.IsV,tp,LOCATION_CIRCLE,0,1,1,nil)
local g=vgf.SelectMatchingCard(HINTMSG_ATKUP,e,tp,Card.IsV,tp,LOCATION_CIRCLE,0,1,1,nil)
local e1=vgf.AtkUp(c,g,30000,nil)
vgf.effect.Reset(c,e1,EVENT_BATTLED)
end
\ No newline at end of file
......@@ -6,9 +6,10 @@ end
function cm.filter(c,p)
return c:IsControler(p) and c:IsRearguard()end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local g=vgf.SelectMatchingCard(HINTMSG_OPPO,e,tp,vgf.filter.IsR,tp,0,LOCATION_CIRCLE,1,1,nil)
local g=vgf.SelectMatchingCard(HINTMSG_OPPO,e,tp,Card.IsR,tp,0,LOCATION_CIRCLE,1,1,nil)
if g:GetCount()==0 then return end
local g:GetFirst()):Filter(cm.filter,nil,1-tp:GetColumnGroup() if sg:GetCount()>0 then g:Sub(sg) end
local sg = g:GetFirst():GetColumnGroup():Filter(cm.filter,nil,1-tp)
if sg:GetCount()>0 then g:Sub(sg) end
vgf.Sendto(LOCATION_DECK,g,nil,0,REASON_EFFECT)
local og=Duel.GetOperatedGroup()
if #og>1 then
......@@ -21,9 +22,9 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
vgf.GetMatchingGroup(vgf.filter.IsV,tp,LOCATION_CIRCLE,0,nil,nil):GetFirst():GetOverlayGroup():IsExists(Card.IsLevel,1,nil,3)
vgf.GetMatchingGroup(Card.IsV,tp,LOCATION_CIRCLE,0,nil,nil):GetFirst():GetOverlayGroup():IsExists(Card.IsLevel,1,nil,3)
end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVEXYZ)
local g=vgf.GetMatchingGroup(vgf.filter.IsV,tp,LOCATION_CIRCLE,0,nil):GetFirst():GetOverlayGroup():FilterSelect(tp,Card.IsLevel,1,1,nil,3)
local g=vgf.GetMatchingGroup(Card.IsV,tp,LOCATION_CIRCLE,0,nil):GetFirst():GetOverlayGroup():FilterSelect(tp,Card.IsLevel,1,1,nil,3)
vgf.Sendto(LOCATION_DROP,g,REASON_COST)
end
\ No newline at end of file
......@@ -6,6 +6,6 @@ function cm.initial_effect(c)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=vgf.SelectMatchingCard(HINTMSG_ATKUP,tp,vgf.filter.IsR,tp,LOCATION_CIRCLE,0,1,1,c)
local g=vgf.SelectMatchingCard(HINTMSG_ATKUP,tp,Card.IsR,tp,LOCATION_CIRCLE,0,1,1,c)
vgf.AtkUp(c,g,5000)
end
\ No newline at end of file
......@@ -3,8 +3,8 @@ local cm,m,o=GetID()
--通过【费用】[将你的2张后防者退场]施放!
--抽1张卡,将这张卡放置到灵魂里,计数回充1。
function cm.initial_effect(c)
vgd.action.Order(c,m,cm.op,vgf.cost.Retire(vgf.filter.IsR,2,2))
VgF.AddAlchemagic(m,"LOCATION_CIRCLE","LOCATION_DROP",2,2,vgf.filter.IsR)
vgd.action.Order(c,m,cm.op,vgf.cost.Retire(Card.IsR,2,2))
VgF.AddAlchemagic(m,"LOCATION_CIRCLE","LOCATION_DROP",2,2,Card.IsR)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -8,6 +8,6 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=vgf.SelectMatchingCard(HINTMSG_ATKUP,e,tp,nil,tp,LOCATION_CIRCLE,0,1,1,nil)
vgf.AtkUp(c,g,5000,EVENT_BATTLED)
local sg=vgf.SelectMatchingCard(HINTMSG_RTOHAND,vgf.filter.IsR,e,tp,vgf.filter.IsR,tp,LOCATION_CIRCLE,0,1,1,Duel.GetAttackTarget())
local sg=vgf.SelectMatchingCard(HINTMSG_RTOHAND,Card.IsR,e,tp,Card.IsR,tp,LOCATION_CIRCLE,0,1,1,Duel.GetAttackTarget())
vgf.Sendto(LOCATION_HAND,sg,REASON_EFFECT)
end
\ No newline at end of file
......@@ -7,7 +7,7 @@ function cm.initial_effect(c)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=vgf.SelectMatchingCard(HINTMSG_OPPO,e,tp,vgf.filter.IsV,tp,0,LOCATION_CIRCLE,1,1,nil)
local g=vgf.SelectMatchingCard(HINTMSG_OPPO,e,tp,Card.IsV,tp,0,LOCATION_CIRCLE,1,1,nil)
local e1=vgf.StarUp(c,g,-1,EVENT_BATTLED)
vgf.effect.Reset(c,e1,EVENT_BATTLED)
end
\ No newline at end of file
......@@ -12,6 +12,6 @@ function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=vgf.SelectMatchingCard(HINTMSG_ATKUP,e,tp,vgf.filter.IsV,tp,LOCATION_CIRCLE,0,1,1,nil)
local g=vgf.SelectMatchingCard(HINTMSG_ATKUP,e,tp,Card.IsV,tp,LOCATION_CIRCLE,0,1,1,nil)
vgf.AtkUp(c,g,10000)
end
\ No newline at end of file
......@@ -10,5 +10,4 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
vgf.Sendto(LOCATION_CIRCLE,g,0,tp,"NoMonster")
end
function cm.filter(c,e,tp)
return vgf.IsCanBeCalled(c,e,tp)
end
\ No newline at end of file
return c:IsCanBeCalled(e,tp)end
\ No newline at end of file
......@@ -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()
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local g=vgf.SelectMatchingCard(HINTMSG_LEAVEONFIELD,e,tp,vgf.filter.IsR,tp,0,LOCATION_CIRCLE,0,1,nil)
local g=vgf.SelectMatchingCard(HINTMSG_LEAVEONFIELD,e,tp,Card.IsR,tp,0,LOCATION_CIRCLE,0,1,nil)
vgf.Sendto(LOCATION_DROP,g,REASON_EFFECT)
end
\ No newline at end of file
local cm,m,o=GetID()
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.AbilityAct(c,m,LOCATION_CIRCLE,cm.op,vgf.cost.And(vgf.cost.CounterBlast(1),vgf.cost.Retire(vgf.filter.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.IsR,3,3)),nil,nil,1)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=vgf.SelectMatchingCard(HINTMSG_LEAVEFIELD,e,tp,vgf.filter.IsR,tp,0,LOCATION_CIRCLE,2,2,nil)
local g=vgf.SelectMatchingCard(HINTMSG_LEAVEFIELD,e,tp,Card.IsR,tp,0,LOCATION_CIRCLE,2,2,nil)
vgf.Sendto(LOCATION_DROP,g,REASON_EFFECT)
vgf.AtkUp(c,c,10000)
vgf.StarUp(c,c,1)
......
......@@ -8,7 +8,7 @@ function cm.con(e,tp,eg,ep,ev,re,r,rp)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=vgf.SelectMatchingCard(HINTMSG_RMONSTER,e,tp,vgf.filter.IsR,tp,LOCATION_CIRCLE,0,1,1,nil)
local g=vgf.SelectMatchingCard(HINTMSG_RMONSTER,e,tp,Card.IsR,tp,LOCATION_CIRCLE,0,1,1,nil)
local tc=vgf.ReturnCard(g)
if tc then
vgf.AtkUp(c,tc,5000)
......
......@@ -9,7 +9,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) and c:IsFaceup() then
local val=5000
if vgf.IsExistingMatchingCard(vgf.filter.IsR,tp,LOCATION_CIRCLE,0,3,c) then val=10000 end
if vgf.IsExistingMatchingCard(Card.IsR,tp,LOCATION_CIRCLE,0,3,c) then val=10000 end
local e1=vgf.AtkUp(c,c,val)
vgf.effect.Reset(c,e1,EVENT_BATTLED)
end
......
......@@ -10,7 +10,7 @@ function cm.con(e,tp,eg,ep,ev,re,r,rp)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=vgf.SelectMatchingCard(HINTMSG_VMONSTER,e,tp,vgf.filter.IsV,tp,LOCATION_CIRCLE,0,1,1,nil):GetFirst()
local tc=vgf.SelectMatchingCard(HINTMSG_VMONSTER,e,tp,Card.IsV,tp,LOCATION_CIRCLE,0,1,1,nil):GetFirst()
if tc:IsSkill(SKILL_TWINDRIVE) then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
......
......@@ -22,7 +22,8 @@ end
function cm.op2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) or c:IsFacedown() then e:Reset() return end
local c):Filter(cm.filter,nil,tp:GetColumnGroup() vgf.Sendto(LOCATION_DROP,g,REASON_EFFECT)
local g = c:GetColumnGroup():Filter(cm.filter,nil,tp)
vgf.Sendto(LOCATION_DROP,g,REASON_EFFECT)
Duel.Draw(tp,1,REASON_EFFECT)
e:Reset()
end
......
......@@ -13,7 +13,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
Duel.DisableShuffleCheck()
local ct=bit.ReturnCount(vgf.GetAvailableLocation(tp))
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CALL)
local sg=g:FilterSelect(tp,vgf.IsCanBeCalled,0,ct,nil,e,tp)
local sg=g:FilterSelect(tp,Card.IsCanBeCalled,0,ct,nil,e,tp)
if sg:GetCount()>0 then
vgf.Sendto(LOCATION_CIRCLE,sg,0,tp)
g:Sub(sg)
......
......@@ -11,5 +11,5 @@ function cm.initial_effect(c)
end
function cm.tg(e,tc)
local c=e:GetHandler()
return tc:IsFrontrow() and c):IsContains(tc:GetColumnGroup() and tc:IsControler(c:GetControler())
return tc:IsFrontrow() and c:IsContains(tc:GetColumnGroup()) and tc:IsControler(c:GetControler())
end
\ No newline at end of file
......@@ -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)))
end
function cm.op(e,tp,eg,ep,ev,re,r,rp,chk)
local g=vgf.SelectMatchingCard(HINTMSG_LEAVEFIELD,e,tp,vgf.filter.IsR,tp,LOCATION_CIRCLE,LOCATION_CIRCLE,1,1,nil)
local g=vgf.SelectMatchingCard(HINTMSG_LEAVEFIELD,e,tp,Card.IsR,tp,LOCATION_CIRCLE,LOCATION_CIRCLE,1,1,nil)
if g:GetCount()>0 then
vgf.Sendto(LOCATION_DROP,g,REASON_EFFECT)
local ct=bit.ReturnCount(vgf.GetAvailableLocation(tp))
......@@ -17,5 +17,4 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp,chk)
end
end
function cm.filter(c,lv,e,tp)
return c:IsLevel(lv) and vgf.IsCanBeCalled(c,e,tp)
end
\ No newline at end of file
return c:IsLevel(lv) and c:IsCanBeCalled(e,tp)end
\ No newline at end of file
......@@ -13,5 +13,4 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
if sg:GetCount()>0 then vgf.Sendto(LOCATION_CIRCLE,sg,0,tp) end
end
function cm.filter(c,lv,e,tp)
return c:IsLevelBelow(lv) and vgf.IsCanBeCalled(c,e,tp)
end
\ No newline at end of file
return c:IsLevelBelow(lv) and c:IsCanBeCalled(e,tp)end
\ No newline at end of file
......@@ -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)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local g=vgf.SelectMatchingCard(HINTMSG_LEAVEFIELD,e,tp,vgf.filter.IsR,tp,0,LOCATION_CIRCLE,1,1,nil)
local g=vgf.SelectMatchingCard(HINTMSG_LEAVEFIELD,e,tp,Card.IsR,tp,0,LOCATION_CIRCLE,1,1,nil)
vgf.Sendto(LOCATION_DROP,g,REASON_EFFECT)
end
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)
end
function cm.con1(e,tp,eg,ep,ev,re,r,rp)
return vgf.GetMatchingGroupCount(vgf.filter.IsV,tp,0,LOCATION_CIRCLE,nil)<=1
return vgf.GetMatchingGroupCount(Card.IsV,tp,0,LOCATION_CIRCLE,nil)<=1
end
\ No newline at end of file
......@@ -5,11 +5,11 @@ end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.Draw(tp,1,REASON_EFFECT)
vgf.op.CardsFromTo(REASON_EFFECT,LOCATION_CIRCLE,LOCATION_HAND,vgf.IsCanBeCalled,1,1,e,tp)
vgf.op.CardsFromTo(REASON_EFFECT,LOCATION_CIRCLE,LOCATION_HAND,Card.IsCanBeCalled,1,1,e,tp)
local ct=Duel.GetFlagEffectLabel(tp,FLAG_CONDITION)
if vgf.GetValueType(ct)=="number" and ct==10102001 then
Duel.BreakEffect()
local g=vgf.GetMatchingGroup(vgf.filter.Front,tp,LOCATION_CIRCLE,0,nil)
local g=vgf.GetMatchingGroup(Card.IsFrontrow,tp,LOCATION_CIRCLE,0,nil)
vgf.AtkUp(c,g,10000,nil)
end
end
\ No newline at end of file
......@@ -10,9 +10,9 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
if c:IsRelateToEffect(e) and c:IsFaceup() then
vgf.AtkUp(c,c,10000,nil)
end
if vgf.cost.And(vgf.cost.SoulBlast(1),vgf.cost.Retire(vgf.filter.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.IsR,1,1,c))(e,tp,eg,ep,ev,re,r,rp,0) and Duel.SelectEffectYesNo(tp,vgf.stringid(VgID,10)) then
Duel.BreakEffect()
vgf.cost.And(vgf.cost.SoulBlast(1),vgf.cost.Retire(vgf.filter.IsR,1,1,c))(e,tp,eg,ep,ev,re,r,rp,0)
vgf.cost.And(vgf.cost.SoulBlast(1),vgf.cost.Retire(Card.IsR,1,1,c))(e,tp,eg,ep,ev,re,r,rp,0)
local g=Duel.GetDecktopGroup(tp,5)
Duel.ConfirmCards(tp,g)
Duel.DisableShuffleCheck()
......@@ -25,5 +25,5 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
end
end
function cm.filter(c,e,tp)
return vgf.IsCanBeCalled(c,e,tp) and c:IsLevelBelow(1)
return c:IsCanBeCalled(e,tp) and c:IsLevelBelow(1)
end
\ No newline at end of file
local cm,m,o=GetID()
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(vgf.filter.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.IsR,1,1,c)))
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)
end
......
......@@ -9,7 +9,7 @@ end
function cm.con1(e)
local c=e:GetHandler()
local tp=e:GetHandlerPlayer()
return vgf.con.IsV(e) and not vgf.IsExistingMatchingCard(vgf.filter.IsR,tp,LOCATION_CIRCLE,0,1,nil) and Duel.GetTurnPlayer()==tp
return vgf.con.IsV(e) and not vgf.IsExistingMatchingCard(Card.IsR,tp,LOCATION_CIRCLE,0,1,nil) and Duel.GetTurnPlayer()==tp
end
function cm.con2(e)
local c=e:GetHandler()
......
......@@ -32,4 +32,3 @@ end
function cm.filter(c)
return c:IsSetCard(0xa040) and c:IsLevel(2)
end
......@@ -11,7 +11,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
Duel.ConfirmCards(tp,g)
Duel.ConfirmCards(1-tp,g)
local tc=g:GetFirst()
if tc:IsType(TYPE_UNIT) and tc:GetLevel()~=2 and vgf.IsCanBeCalled(tc,e,tp) and vgf.Sendto(LOCATION_CIRCLE,tc,0,tp,"NoMonster")==0 then
if tc:IsType(TYPE_UNIT) and tc:GetLevel()~=2 and tc:IsCanBeCalled(e,tp) and vgf.Sendto(LOCATION_CIRCLE,tc,0,tp,"NoMonster")==0 then
Duel.MoveSequence(tc,1)
end
end
......
......@@ -19,7 +19,7 @@ end
function cm.op2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=vgf.GetMatchingGroup(vgf.filter.Front,tp,LOCATION_CIRCLE,0,nil)
local g=vgf.GetMatchingGroup(Card.IsFrontrow,tp,LOCATION_CIRCLE,0,nil)
vgf.AtkUp(c,g,5000)
end
......
......@@ -21,5 +21,4 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
end
function cm.filter(c,e,tp)
return not c:IsTrigger(TRIGGER_NONE) and vgf.IsCanBeCalled(c,e,tp)
end
\ No newline at end of file
return not c:IsTrigger(TRIGGER_NONE) and c:IsCanBeCalled(e,tp)end
\ No newline at end of file
......@@ -8,7 +8,7 @@ end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
vgf.op.SoulCharge(1)(e,tp,eg,ep,ev,re,r,rp)
local g=vgf.SelectMatchingCard(HINTMSG_RMONSTER,e,tp,vgf.filter.IsR,tp,0,LOCATION_CIRCLE,1,1,nil)
local g=vgf.SelectMatchingCard(HINTMSG_RMONSTER,e,tp,Card.IsR,tp,0,LOCATION_CIRCLE,1,1,nil)
local tc=vgf.ReturnCard(g)
if tc then
local e1=Effect.CreateEffect(c)
......
......@@ -15,6 +15,6 @@ end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return c:IsRelateToEffect(e) end
local rc=vgf.GetMatchingGroup(vgf.filter.IsV,tp,LOCATION_CIRCLE,0,nil):GetFirst()
local rc=vgf.GetMatchingGroup(Card.IsV,tp,LOCATION_CIRCLE,0,nil):GetFirst()
vgf.Sendto(LOCATION_SOUL,c,rc)
end
\ No newline at end of file
......@@ -7,5 +7,5 @@ end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
local c = e:GetHandler()
return vgf.con.RideOnRCircle(e) and c:IsPreviousLocation(LOCATION_HAND) and vgf.IsExistingMatchingCard(vgf.filter.IsR,tp,LOCATION_CIRCLE,0,3,c)
return vgf.con.RideOnRCircle(e) and c:IsPreviousLocation(LOCATION_HAND) and vgf.IsExistingMatchingCard(Card.IsR,tp,LOCATION_CIRCLE,0,3,c)
end
\ No newline at end of file
......@@ -15,5 +15,6 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
end
end
function cm.filter(c,tp,mc)
local mc:GetColumnGroup() return g:GetCount()>0 and g:IsContains(c)
local g = mc:GetColumnGroup()
return g:GetCount()>0 and g:IsContains(c)
end
\ No newline at end of file
......@@ -7,6 +7,6 @@ end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
-- 选择你的1张先导者
local g=vgf.SelectMatchingCard(HINTMSG_VMONSTER,tp,vgf.filter.IsV,tp,LOCATION_CIRCLE,0,1,1,nil)
local g=vgf.SelectMatchingCard(HINTMSG_VMONSTER,tp,Card.IsV,tp,LOCATION_CIRCLE,0,1,1,nil)
vgf.AtkUp(c,g,5000)
end
\ No newline at end of file
......@@ -8,7 +8,7 @@ function cm.initial_effect(c)
end
function cm.con1(e)
local tp=e:GetHandlerPlayer()
return vgf.con.IsV(e) and not vgf.IsExistingMatchingCard(vgf.filter.IsR,tp,LOCATION_CIRCLE,0,1,nil) and Duel.GetTurnPlayer()==tp
return vgf.con.IsV(e) and not vgf.IsExistingMatchingCard(Card.IsR,tp,LOCATION_CIRCLE,0,1,nil) and Duel.GetTurnPlayer()==tp
end
function cm.con2(e)
local c=e:GetHandler()
......
......@@ -6,7 +6,7 @@ function cm.initial_effect(c)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=vgf.SelectMatchingCard(HINTMSG_ATKUP,tp,vgf.filter.IsR,tp,LOCATION_CIRCLE,0,1,1,nil)
local g=vgf.SelectMatchingCard(HINTMSG_ATKUP,tp,Card.IsR,tp,LOCATION_CIRCLE,0,1,1,nil)
vgf.AtkUp(c,g,5000)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
......
......@@ -6,6 +6,6 @@ function cm.initial_effect(c)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
local ct1=bit.ReturnCount(vgf.GetAvailableLocation(tp))
local ct2=vgf.GetMatchingGroupCount(vgf.filter.IsR,tp,LOCATION_CIRCLE,0,nil)
local ct2=vgf.GetMatchingGroupCount(Card.IsR,tp,LOCATION_CIRCLE,0,nil)
return ct1-ct2>=3
end
\ No newline at end of file
......@@ -7,5 +7,5 @@ end
function cm.con1(e)
local c= e:GetHandler()
local tp=e:GetHandlerPlayer()
return vgf.con.IsR(e) and vgf.IsExistingMatchingCard(vgf.filter.IsR,tp,LOCATION_CIRCLE,0,3,c)
return vgf.con.IsR(e) and vgf.IsExistingMatchingCard(Card.IsR,tp,LOCATION_CIRCLE,0,3,c)
end
\ No newline at end of file
......@@ -7,7 +7,7 @@ end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) and vgf.IsCanBeCalled(c,e,tp) then
if c:IsRelateToEffect(e) and c:IsCanBeCalled(e,tp) then
vgf.Sendto(LOCATION_CIRCLE,c,0,tp,"NoMonster")
end
end
......
......@@ -7,7 +7,7 @@ end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if vgf.IsExistingMatchingCard(vgf.filter.IsR,tp,LOCATION_CIRCLE,0,3,nil) then
if vgf.IsExistingMatchingCard(Card.IsR,tp,LOCATION_CIRCLE,0,3,nil) then
local ac=Duel.GetAttackTarget()
local e1=vgf.AtkUp(c,ac,15000,nil)
vgf.effect.Reset(c,e1,EVENT_BATTLED)
......
......@@ -6,7 +6,7 @@ end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.Draw(tp,1,REASON_EFFECT)
local g=vgf.SelectMatchingCard(HINTMSG_ATKUP,e,tp,vgf.filter.IsV,tp,LOCATION_CIRCLE,0,1,1,nil)
local g=vgf.SelectMatchingCard(HINTMSG_ATKUP,e,tp,Card.IsV,tp,LOCATION_CIRCLE,0,1,1,nil)
vgf.AtkUp(c,g,5000)
Duel.ChangePosition(c,POS_FACEDOWN_ATTACK)
end
......
......@@ -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)
local c=e:GetHandler()
local g=vgf.SelectMatchingCard(HINTMSG_LEAVEFIELD,e,tp,vgf.filter.IsR,tp,0,LOCATION_CIRCLE,1,1,nil)
local g=vgf.SelectMatchingCard(HINTMSG_LEAVEFIELD,e,tp,Card.IsR,tp,0,LOCATION_CIRCLE,1,1,nil)
vgf.Sendto(LOCATION_DROP,g,REASON_EFFECT)
if c:IsRelateToEffect(e) and c:IsFaceup() then
vgf.AtkUp(c,c,5000)
......
......@@ -9,8 +9,7 @@ function cm.ridefilter(c)
return c:IsLevel(3) and c:IsSetCard(0x12d)
end
function cm.filter(c,e,tp)
return c:IsLevelBelow(3) and vgf.IsCanBeCalled(c,e,tp)
end
return c:IsLevelBelow(3) and c:IsCanBeCalled(e,tp)end
-- 选择你的手牌中的至多1张等级3以下的卡,CALL到R上
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -11,8 +11,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetDecktopGroup(tp,1)
local tc=vgf.ReturnCard(g)
Duel.DisableShuffleCheck()
if tc:IsLevelBelow(2) and tc:IsType(TYPE_NORMAL) and tc:IsType(TYPE_UNIT) and vgf.IsCanBeCalled(tc,e,tp)
and Duel.SelectYesNo(tp,vgf.Stringid(m,0)) then
if tc:IsLevelBelow(2) and tc:IsType(TYPE_NORMAL) and tc:IsType(TYPE_UNIT) and tc:IsCanBeCalled(e,tp) and Duel.SelectYesNo(tp,vgf.Stringid(m,0)) then
-- 将那张卡CALL到R上
vgf.Sendto(LOCATION_CIRCLE,tc,0,tp)
else
......
......@@ -9,7 +9,7 @@ end
-- 将这张卡横置CALL到R上
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) and vgf.IsCanBeCalled(c,e,tp,0,POS_FACEUP_DEFENSE) then
if c:IsRelateToEffect(e) and c:IsCanBeCalled(e,tp,0,POS_FACEUP_DEFENSE) then
vgf.Sendto(LOCATION_CIRCLE,c,0,tp,0x20,POS_FACEUP_DEFENSE)
end
end
\ No newline at end of file
......@@ -235,7 +235,7 @@ function VgD.Register.RideFilter2(c, lv, code, rc)
end
function VgD.Register.RideCondition()
local tp = Duel.GetTurnPlayer()
local rc = Duel.GetMatchingGroup(VgF.Filter.IsV, tp, LOCATION_CIRCLE, 0, nil):GetFirst()
local rc = Duel.GetMatchingGroup(Card.IsV, tp, LOCATION_CIRCLE, 0, nil):GetFirst()
if not rc then return false end
local lv = rc:GetLevel()
local code = rc:GetCode()
......@@ -308,7 +308,7 @@ function VgD.Register.RideOperation()
e1:SetTargetRange(LOCATION_CIRCLE, 0)
e1:SetValue(10000)
e1:SetTarget(function (te, tc)
return VgF.Filter.Front(tc)
return Card.IsFrontrow(tc)
end)
e1:SetReset(RESET_PHASE + PHASE_END)
Duel.RegisterEffect(e1, tp)
......@@ -710,7 +710,7 @@ function VgD.Register.MonsterBattle(c)
e:SetCode(EFFECT_CANNOT_ATTACK_ANNOUNCE)
e:SetTargetRange(LOCATION_CIRCLE, LOCATION_CIRCLE)
e:SetTarget(function (_, c)
return c:IsPosition(POS_DEFENSE) or (VgF.Filter.Back(c) and c:GetFlagEffect(FLAG_ATTACK_AT_REAR) == 0)
return c:IsPosition(POS_DEFENSE) or (Card.IsBackrow(c) and c:GetFlagEffect(FLAG_ATTACK_AT_REAR) == 0)
end)
Duel.RegisterEffect(e, 0)
end
......@@ -747,7 +747,7 @@ function VgD.Register.MonsterBattle(c)
e:SetCode(EFFECT_CANNOT_BE_BATTLE_TARGET)
e:SetTargetRange(LOCATION_CIRCLE, LOCATION_CIRCLE)
e:SetTarget(function (_, c)
return VgF.Filter.Back(c)
return Card.IsBackrow(c)
end)
e:SetValue(VgF.True)
Duel.RegisterEffect(e, 0)
......@@ -801,7 +801,7 @@ function VgD.Register.MonsterBattle(c)
e:SetOperation(function ()
local tc = Duel.GetAttacker()
local tp = tc:GetControler()
if not tc:GetFlagEffectLabel(FLAG_ATTACK_TRIGGER) or tc:GetFlagEffectLabel(FLAG_ATTACK_TRIGGER) == 0 or VgF.Filter.IsR(tc:IsRearguard() and tc:GetFlagEffect(FLAG_ALSO_CAN_TRIGGER) == 0) then return end
if not tc:GetFlagEffectLabel(FLAG_ATTACK_TRIGGER) or tc:GetFlagEffectLabel(FLAG_ATTACK_TRIGGER) == 0 or Card.IsR(tc:IsRearguard() and tc:GetFlagEffect(FLAG_ALSO_CAN_TRIGGER) == 0) then return end
VgD.Register.Trigger(tp)
end)
Duel.RegisterEffect(e, 0)
......@@ -1906,7 +1906,7 @@ function VgD.CallInPrisonOperation(val)
end
end
function VgD.CallInPrisonFilter(c, e, tp)
return c:GetFlagEffect(FLAG_IMPRISON) > 0 and (VgF.IsCanBeCalled(c, e, tp) or not c:IsType(TYPE_UNIT))
return c:GetFlagEffect(FLAG_IMPRISON) > 0 and (Card.IsCanBeCalled(c, e, tp) or not c:IsType(TYPE_UNIT))
end
--其他----------------------------------------------------------------------------------------
......
......@@ -295,7 +295,7 @@ function VgF.Condition.Level(e_or_c)
local c = VgF.GetValueType(e_or_c) == "Effect" and e_or_c:GetHandler() or e_or_c
local tp, lv = c:GetControler(), c:GetLevel()
return VgF.IsExistingMatchingCard(function (tc)
return VgF.Filter.IsV(tc) and tc:IsLevelAbove(lv)
return Card.IsV(tc) and tc:IsLevelAbove(lv)
end, tp, LOCATION_CIRCLE, 0, 1, nil)
end
......@@ -303,18 +303,17 @@ end
---@param e Effect
---@return boolean
function VgF.Condition.IsR(e)
return VgF.Filter.IsR(e:GetHandler())
return Card.IsR(e:GetHandler())
end
---用于效果的Condition,判断e是否以先导者发动。
---@param e Effect
---@return boolean
function VgF.Condition.IsV(e)
return VgF.Filter.IsV(e:GetHandler())
return e:GetHandler():IsV()
end
function VgF.Condition.RideOnVCircle(e)
local c = e:GetHandler()
return VgF.Filter.RideOnVCircle(c)
return e:GetHandler():IsRideOnVCircle()
end
function VgF.Condition.RideOnRCircle(e)
......@@ -444,10 +443,10 @@ function VgF.Cost.SoulBlast(val)
local m = c:GetOriginalCode()
VgF.AddAlchemagic(m, "LOCATION_SOUL", "LOCATION_DROP", val, val)
end
return Duel.GetMatchingGroup(VgF.Filter.IsV, tp, LOCATION_CIRCLE, 0, nil, nil):GetFirst():GetOverlayCount() >= val
return Duel.GetMatchingGroup(Card.IsV, tp, LOCATION_CIRCLE, 0, nil, nil):GetFirst():GetOverlayCount() >= val
end
Duel.Hint(HINT_SELECTMSG, tp, HINTMSG_REMOVEXYZ)
local g = Duel.GetMatchingGroup(VgF.Filter.IsV, tp, LOCATION_CIRCLE, 0, nil):GetFirst():GetOverlayGroup():Select(tp, nil, val, val, nil)
local g = Duel.GetMatchingGroup(Card.IsV, tp, LOCATION_CIRCLE, 0, nil):GetFirst():GetOverlayGroup():Select(tp, nil, val, val, nil)
return VgF.Sendto(LOCATION_DROP, g, REASON_COST)
end
end
......@@ -584,7 +583,7 @@ function VgF.Operation.SoulCharge(val)
end
return Duel.GetFieldGroupCount(tp, LOCATION_DECK, 0) >= val
end
local rc = Duel.GetMatchingGroup(VgF.Filter.IsV, tp, LOCATION_CIRCLE, 0, nil):GetFirst()
local rc = Duel.GetMatchingGroup(Card.IsV, tp, LOCATION_CIRCLE, 0, nil):GetFirst()
local g = Duel.GetDecktopGroup(tp, val)
Duel.DisableShuffleCheck()
Duel.RaiseEvent(g, EVENT_CUSTOM + EVENT_OVERLAY_FILL, e, 0, tp, tp, val)
......@@ -1180,7 +1179,7 @@ end
---@return Card|nil p场上的先导者
function VgF.GetVMonster(p)
if p ~= 0 and p ~= 1 then return end
return Duel.GetMatchingGroup(VgF.Filter.IsV, p, LOCATION_CIRCLE, 0, nil):GetFirst()
return Duel.GetMatchingGroup(Card.IsV, p, LOCATION_CIRCLE, 0, nil):GetFirst()
end
---以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