Commit dc1dcd06 authored by xiaoye's avatar xiaoye

fix

parent a689b60c
......@@ -225,17 +225,17 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local e1=vgf.AtkUp(c,c,5000,nil)
vgf.EffectReset(c,e1,EVENT_BATTLED)
end
if vgf.GetMatchingGroup(vgf.VMonsterFilter,tp,LOCATION_CIRCLE,0,nil,nil):GetFirst():GetOverlayCount()>=2 and Duel.SelectEffectYesNo(tp,vgf.stringid(VgID,10)) then
local cg=vgf.GetMatchingGroup(vgf.VMonsterFilter,tp,LOCATION_CIRCLE,0,nil):GetFirst():GetOverlayGroup():Select(tp,2,2,nil)
if vgf.GetMatchingGroup(vgf.filter.IsV,tp,LOCATION_CIRCLE,0,nil,nil):GetFirst():GetOverlayCount()>=2 and Duel.SelectEffectYesNo(tp,vgf.stringid(VgID,10)) then
local cg=vgf.GetMatchingGroup(vgf.filter.IsV,tp,LOCATION_CIRCLE,0,nil):GetFirst():GetOverlayGroup():Select(tp,2,2,nil)
if vgf.Sendto(LOCATION_DROP,cg,REASON_COST)==2 then
local g=vgf.SelectMatchingCard(HINTMSG_LEAVEFIELD,e,tp,vgf.RMonsterFilter,tp,0,LOCATION_CIRCLE,1,1,nil)
local g=vgf.SelectMatchingCard(HINTMSG_LEAVEFIELD,e,tp,vgf.filter.IsR,tp,0,LOCATION_CIRCLE,1,1,nil)
vgf.Sendto(LOCATION_DROP,g,REASON_EFFECT)
end
end
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return vgf.RMonsterCondition(e) and c:GetFlagEffectLabel(FLAG_CONDITION)==201 and vgf.VMonsterFilter(Duel.GetAttackTarget())
return vgf.con.IsR(e) and c:GetFlagEffectLabel(FLAG_CONDITION)==201 and vgf.filter.IsV(Duel.GetAttackTarget())
end
```
......@@ -294,7 +294,7 @@ vgd.AbilityContChangeAttack(c,m, loc, typ, val[, con, tg, loc_self, loc_op, rese
local cm,m,o=GetID()
function cm.initial_effect(c)
vgf.VgCard(c)
vgd.AbilityContChangeAttack(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,5000,function(e) return vgf.RMonsterCondition(e) and cm.con(e) end)
vgd.AbilityContChangeAttack(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,5000,function(e) return vgf.con.IsR(e) and cm.con(e) end)
vgd.AbilityContChangeDefense(c,m,EFFECT_TYPE_SINGLE,5000,cm.con)
end
function cm.con(e)
......@@ -358,7 +358,7 @@ function cm.initial_effect(c)
c:RegisterEffect(e2)
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return vgf.VMonsterCondition(e) and vgf.IsExistingMatchingCard(Card.IsLevel,tp,LOCATION_CIRCLE,0,3,nil,3)
return vgf.con.IsV(e) and vgf.IsExistingMatchingCard(Card.IsLevel,tp,LOCATION_CIRCLE,0,3,nil,3)
end
```
......
......@@ -9,7 +9,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
local g=vgf.SelectMatchingCard(HINTMSG_MONSTER,e,tp,Card.IsFaceup,tp,LOCATION_CIRCLE,0,1,1,nil)
if g:GetCount()>0 then
local tc=g:GetFirst()
if vgf.RMonsterFilter(tc) then
if vgf.filter.IsR(tc) then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
......@@ -18,8 +18,8 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetValue(1)
tc:RegisterEffect(e1)
vgf.EffectReset(c,e1,EVENT_BATTLED)
elseif vgf.VMonsterFilter(tc) then
vgf.effect.Reset(c,e1,EVENT_BATTLED)
elseif vgf.filter.IsV(tc) then
tc:RegisterFlagEffect(FLAG_DEFENSE_ENTIRELY,RESET_EVENT+RESETS_STANDARD,0,1)
end
end
......
......@@ -2,8 +2,8 @@
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,vgf.op.CardsFromTo(REASON_EFFECT,LOCATION_CIRCLE,LOCATION_DROP,cm.filter),vgf.cost.Discard(1),vgf.VMonsterCondition,nil,1)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.operation,vgf.cost.CounterBlast(1),vgf.VMonsterCondition)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,vgf.op.CardsFromTo(REASON_EFFECT,LOCATION_CIRCLE,LOCATION_DROP,cm.filter),vgf.cost.Discard(1),vgf.con.IsV,nil,1)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.operation,vgf.cost.CounterBlast(1),vgf.con.IsV)
end
function cm.filter(c)
return c:IsLevel(0)
......
......@@ -9,15 +9,15 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) and c:IsFaceup() then
local e1=vgf.AtkUp(c,c,5000,nil)
vgf.EffectReset(c,e1,EVENT_BATTLED)
vgf.effect.Reset(c,e1,EVENT_BATTLED)
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.RMonsterFilter,tp,0,LOCATION_CIRCLE,1,1,nil)
local g=vgf.SelectMatchingCard(HINTMSG_LEAVEFIELD,e,tp,vgf.filter.IsR,tp,0,LOCATION_CIRCLE,1,1,nil)
vgf.Sendto(LOCATION_DROP,g,REASON_EFFECT)
end
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return vgf.RMonsterCondition(e) and c:GetFlagEffectLabel(FLAG_CONDITION)==201 and vgf.VMonsterFilter(Duel.GetAttackTarget())
return vgf.con.IsR(e) and c:GetFlagEffectLabel(FLAG_CONDITION)==201 and vgf.filter.IsV(Duel.GetAttackTarget())
end
\ No newline at end of file
......@@ -9,13 +9,13 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterFlagEffect(tp,FLAG_CONDITION,RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,m,vgf.Stringid(m,0))
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()==tp and vgf.VMonsterCondition(e)
return Duel.GetTurnPlayer()==tp and vgf.con.IsV(e)
end
function cm.op2(e,tp,eg,ep,ev,re,r,rp)
local g=vgf.GetMatchingGroup(vgf.IsSequence,tp,LOCATION_CIRCLE,0,nil,0,4)
local g=vgf.GetMatchingGroup(Card.IsSequence,tp,LOCATION_CIRCLE,0,nil,0,4)
Duel.ChangePosition(g,POS_FACEUP_ATTACK)
end
function cm.con2(e,tp,eg,ep,ev,re,r,rp)
local ct=Duel.GetFlagEffectLabel(tp,FLAG_CONDITION)
return vgf.GetValueType(ct)=="number" and ct==10102001 and vgf.VMonsterCondition(e)
return vgf.GetValueType(ct)=="number" and ct==10102001 and vgf.con.IsV(e)
end
\ No newline at end of file
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.op,cm.cost,vgf.VSummonCondition)
vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.op,cm.cost,vgf.con.RideOnVCircle)
vgd.AbilityCont(c, m, LOCATION_CIRCLE, EFFECT_TYPE_SINGLE, EFFECT_UPDATE_ATTACK, 5000, cm.con)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
......@@ -9,8 +9,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.RMonsterFilter,tp,LOCATION_CIRCLE,0,1,nil) end
local g=vgf.SelectMatchingCard(HINTMSG_XMATERIAL,e,tp,vgf.RMonsterFilter,tp,LOCATION_CIRCLE,0,1,1,nil)
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)
vgf.Sendto(LOCATION_SOUL,g,c)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.op,nil,vgf.VSummonCondition)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.op,nil,vgf.con.RideOnVCircle)
vgd.AbilityCont(c, m, LOCATION_CIRCLE, EFFECT_TYPE_SINGLE, EFFECT_UPDATE_ATTACK, 5000, cm.con)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
......@@ -11,7 +11,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.VMonsterFilter,tp,LOCATION_CIRCLE,0,nil):GetFirst():GetOverlayGroup():FilterSelect(tp,vgf.IsCanBeCalled,1,1,nil,e,tp,nil,nil,0x4)
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)
vgf.Sendto(LOCATION_CIRCLE,g,0,tp,0x4)
vgf.op.SoulCharge(1)(e,tp,eg,ep,ev,re,r,rp)
end
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation,nil,vgf.RSummonCondition)
vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation,nil,vgf.con.RideOnRCircle)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -11,7 +11,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
vgf.op.SoulCharge(num)(e,tp,eg,ep,ev,re,r,rp)
end
function cm.con1(e,tp,eg,ep,ev,re,r,rp)
return vgf.RMonsterCondition(e) and vgf.GetVMonster(tp):IsCode(10102001)
return vgf.con.IsR(e) and vgf.GetVMonster(tp):IsCode(10102001)
end
function cm.con2(e,tp,eg,ep,ev,re,r,rp)
return cm.con1(e,tp,eg,ep,ev,re,r,rp) and eg:GetFirst()==e:GetHandler()
......
......@@ -15,7 +15,7 @@ function cm.checkcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetAttackTarget() and Duel.GetAttacker() and eg:IsExists(cm.checkfilter,1,nil,Duel.GetAttacker():GetControler())
end
function cm.filter(c)
return vgf.RMonsterFilter(c) and c:IsDefensePos()
return vgf.filter.IsR(c) and c:IsDefensePos()
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......@@ -27,16 +27,16 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return vgf.VMonsterCondition(e) and Duel.GetFlagEffect(tp,m)>0
return vgf.con.IsV(e) and Duel.GetFlagEffect(tp,m)>0
end
function cm.target(e,c)
return c:IsLevel(3) and Duel.GetTurnPlayer()==e:GetHandlerPlayer()
end
function cm.con(e)
local tp=e:GetHandlerPlayer()
return vgf.VMonsterCondition(e) and Duel.GetTurnPlayer()==tp
return vgf.con.IsV(e) and Duel.GetTurnPlayer()==tp
end
function cm.checkop(e,tp,eg,ep,ev,re,r,rp)
local e1=Duel.RegisterFlagEffect(Duel.GetAttacker():GetControler(),m,RESET_PHASE+PHASE_END,0,1)
vgf.EffectReset(e:GetHandler(),e1,EVENT_BATTLED)
vgf.effect.Reset(e:GetHandler(),e1,EVENT_BATTLED)
end
\ No newline at end of file
......@@ -25,5 +25,5 @@ function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
end
function cm.condition(e,c)
local tp=e:GetHandlerPlayer()
return vgf.RMonsterCondition(e) and vgf.IsExistingMatchingCard(Card.IsLevel,tp,LOCATION_CIRCLE+LOCATION_G_CIRCLE,0,3,nil,3) and Duel.GetTurnPlayer()==tp
return vgf.con.IsR(e) and vgf.IsExistingMatchingCard(Card.IsLevel,tp,LOCATION_CIRCLE+LOCATION_G_CIRCLE,0,3,nil,3) and Duel.GetTurnPlayer()==tp
end
\ No newline at end of file
......@@ -3,7 +3,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.BeRidedByCard(c,m,10103002,cm.operation,cm.cost)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.operation2,vgf.cost.CounterBlast(1),vgf.RMonsterCondition,nil,1)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.operation2,vgf.cost.CounterBlast(1),vgf.con.IsR,nil,1)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return vgf.IsExistingMatchingCard(Card.IsLevel,tp,LOCATION_HAND,0,2,nil,3) end
......@@ -30,5 +30,5 @@ function cm.operation2(e,tp,eg,ep,ev,re,r,rp)
end
end
function cm.filter(c)
return c:IsLevel(3) and vgf.VMonsterFilter(c)
return c:IsLevel(3) and vgf.filter.IsV(c)
end
\ No newline at end of file
......@@ -3,12 +3,12 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
--【自】【R】:这个单位攻击时,通过【费用】[计数爆发1],这次战斗中,这个单位的力量+5000。
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.operation,vgf.cost.CounterBlast(1),vgf.RMonsterCondition)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.operation,vgf.cost.CounterBlast(1),vgf.con.IsR)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) and c:IsFaceup() then
local e1=vgf.AtkUp(c,c,5000,nil)
vgf.EffectReset(c,e1,EVENT_BATTLED)
vgf.effect.Reset(c,e1,EVENT_BATTLED)
end
end
......@@ -2,7 +2,7 @@
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.operation,cm.cost,vgf.RMonsterCondition)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.operation,cm.cost,vgf.con.IsR)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......@@ -10,11 +10,11 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
vgf.AtkUp(c,g,10000,nil)
end
function cm.filter(c)
return c:IsLevel(3) and vgf.RMonsterFilter(c)
return c:IsLevel(3) and vgf.filter.IsR(c)
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.VMonsterFilter,tp,LOCATION_CIRCLE,0,nil):GetFirst()
local rc=vgf.GetMatchingGroup(vgf.filter.IsV,tp,LOCATION_CIRCLE,0,nil):GetFirst()
vgf.Sendto(LOCATION_SOUL,c,rc)
end
\ No newline at end of file
......@@ -3,7 +3,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
--【起】【R】:通过【费用】[灵魂爆发2],这个回合中,这个单位的力量+5000。
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.operation,vgf.cost.SoulBlast(2),vgf.RMonsterCondition)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.operation,vgf.cost.SoulBlast(2),vgf.con.IsR)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
......
......@@ -9,7 +9,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.RMonsterFilter,tp,LOCATION_CIRCLE,0,1,ct,nil)
local g=vgf.SelectMatchingCard(HINTMSG_ATKUP,e,tp,vgf.filter.IsR,tp,LOCATION_CIRCLE,0,1,ct,nil)
if g then
Duel.Hintselectgion(g)
for tc in vgf.Next(g) do
......@@ -19,5 +19,5 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
end
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return vgf.VMonsterCondition(e) and Duel.GetAttacker()==e:GetHandler()
return vgf.con.IsV(e) and Duel.GetAttacker()==e:GetHandler()
end
\ No newline at end of file
......@@ -23,10 +23,10 @@ function cm.operation2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) and c:IsFaceup() then
local e1=vgf.AtkUp(c,c,10000)
vgf.EffectReset(c,e1,EVENT_BATTLED)
vgf.effect.Reset(c,e1,EVENT_BATTLED)
end
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return vgf.IsSequence(c,1,2,3) and vgf.VMonsterFilter(Duel.GetAttackTarget())
return Card.IsSequence(c,1,2,3) and vgf.filter.IsV(Duel.GetAttackTarget())
end
\ No newline at end of file
......@@ -21,5 +21,5 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
end
end
function cm.con(e)
return Duel.GetAttacker()==e:GetHandler() and vgf.IsSequence(c,1,2,3)
return Duel.GetAttacker()==e:GetHandler() and Card.IsSequence(c,1,2,3)
end
\ No newline at end of file
......@@ -6,5 +6,5 @@ end
function cm.con(e)
local c=e:GetHandler()
local tp=e:GetHandlerPlayer()
return vgf.RMonsterCondition(e) and vgf.IsExistingMatchingCard(vgf.RMonsterFilter,tp,LOCATION_CIRCLE,0,4,c)
return vgf.con.IsR(e) and vgf.IsExistingMatchingCard(vgf.filter.IsR,tp,LOCATION_CIRCLE,0,4,c)
end
\ No newline at end of file
......@@ -2,7 +2,7 @@
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.operation,cm.cost,vgf.RMonsterCondition,nil,1)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.operation,cm.cost,vgf.con.IsR,nil,1)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -3,7 +3,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
--【起】【R】【1回合1次】:通过【费用】[灵魂爆发2],公开你的牌堆顶的1张卡,那张卡是单位卡的话,CALL到R上,不是的话,加入手牌
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.operation,vgf.cost.SoulBlast(2),vgf.RMonsterCondition,nil,1)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.operation,vgf.cost.SoulBlast(2),vgf.con.IsR,nil,1)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -9,7 +9,7 @@ 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)
local atk=5000
if vgf.IsExistingMatchingCard(vgf.IsSequence,tp,LOCATION_CIRCLE,0,3,nil,1,2,3) then atk=15000 end
if vgf.IsExistingMatchingCard(Card.IsSequence,tp,LOCATION_CIRCLE,0,3,nil,1,2,3) then atk=15000 end
if g then
vgf.AtkUp(c,g,atk)
end
......
......@@ -7,17 +7,17 @@ function cm.initial_effect(c)
end
function cm.con(e,c)
local tp=e:GetHandlerPlayer()
return Duel.GetTurnPlayer()==tp and vgf.VMonsterCondition(e) and vgf.IsExistingMatchingCard(cm.filter,tp,LOCATION_ORDER,0,1,nil)
return Duel.GetTurnPlayer()==tp and vgf.con.IsV(e) and vgf.IsExistingMatchingCard(cm.filter,tp,LOCATION_ORDER,0,1,nil)
end
function cm.filter(c)
return c:GetFlagEffect(FLAG_IMPRISON)>0
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.RMonsterFilter,tp,0,LOCATION_CIRCLE,2,2,nil)
local g1=vgf.SelectMatchingCard(HINTMSG_IMPRISON,e,tp,vgf.filter.IsR,tp,0,LOCATION_CIRCLE,2,2,nil)
vgf.SendtoPrison(g1,tp)
end
function cm.con2(e,c)
local tp=e:GetHandlerPlayer()
return Duel.GetTurnPlayer()==tp and vgf.VMonsterCondition(e) and vgf.IsExistingMatchingCard(cm.filter,tp,LOCATION_ORDER,0,3,nil)
return Duel.GetTurnPlayer()==tp and vgf.con.IsV(e) and vgf.IsExistingMatchingCard(cm.filter,tp,LOCATION_ORDER,0,3,nil)
end
\ No newline at end of file
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation,nil,vgf.VSummonCondition)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation,nil,vgf.con.RideOnVCircle)
vgd.AbilityCont(c, m, LOCATION_CIRCLE, EFFECT_TYPE_SINGLE, EFFECT_UPDATE_ATTACK, 2000, cm.con)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
......@@ -13,7 +13,7 @@ end
function cm.con(e)
local c=e:GetHandler()
local tp=e:GetHandlerPlayer()
return vgf.RMonsterFilter(c) and vgf.IsExistingMatchingCard(cm.filter,tp,LOCATION_ORDER,0,1,nil)
return vgf.filter.IsR(c) and vgf.IsExistingMatchingCard(cm.filter,tp,LOCATION_ORDER,0,1,nil)
end
function cm.filter(c)
return c:GetFlagEffect(FLAG_IMPRISON)>0
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,vgf.op.CardsFromTo(REASON_EFFECT,LOCATION_HAND,LOCATION_DECK,cm.filter),nil,vgf.VSummonCondition)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,vgf.op.CardsFromTo(REASON_EFFECT,LOCATION_HAND,LOCATION_DECK,cm.filter),nil,vgf.con.RideOnVCircle)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation1,cm.cost,cm.condition)
end
function cm.filter(c)
......
......@@ -5,11 +5,11 @@ function cm.initial_effect(c)
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return vgf.RMonsterFilter(c) and vgf.IsSequence(Duel.GetAttackTarget(),5)
return vgf.filter.IsR(c) and Card.IsSequence(Duel.GetAttackTarget(),5)
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.RMonsterFilter,tp,0,LOCATION_CIRCLE,0,2,nil)
local g=vgf.SelectMatchingCard(HINTMSG_IMPRISON,e,tp,vgf.filter.IsR,tp,0,LOCATION_CIRCLE,0,2,nil)
vgf.SendtoPrison(g,tp)
end
\ No newline at end of file
......@@ -5,11 +5,11 @@ function cm.initial_effect(c)
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return vgf.RMonsterFilter(c) and vgf.CheckPrison(tp)
return vgf.filter.IsR(c) and vgf.CheckPrison(tp)
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.RMonsterFilter,tp,0,LOCATION_CIRCLE,1,1,nil)
local g=vgf.SelectMatchingCard(HINTMSG_IMPRISON,e,tp,vgf.filter.IsR,tp,0,LOCATION_CIRCLE,1,1,nil)
vgf.SendtoPrison(g,tp)
end
\ No newline at end of file
......@@ -4,10 +4,10 @@ function cm.initial_effect(c)
vgf.AddRideMaterialCode(c,m,10406013)
vgf.AddRideMaterialSetCard(c,m,0xc014,0x74)
vgd.AbilityCont(c, m, LOCATION_CIRCLE, EFFECT_TYPE_SINGLE, EFFECT_UPDATE_ATTACK, 5000, cm.con)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.op,cm.cost,vgf.VMonsterCondition)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.op,cm.cost,vgf.con.IsV)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetFlagEffect(FLAG_SUPPORTED)>0 and Duel.GetAttacker()==e:GetHandler() and vgf.RMonsterCondition(e)
return e:GetHandler():GetFlagEffect(FLAG_SUPPORTED)>0 and Duel.GetAttacker()==e:GetHandler() and vgf.con.IsR(e)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return vgf.cost.SoulBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) and vgf.cost.Discard(1)(e,tp,eg,ep,ev,re,r,rp,chk) end
......@@ -25,5 +25,5 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
Duel.RaiseEvent(g,EVENT_CUSTOM+EVENT_SUPPORT,e,0,tp,tp,0)
end
function cm.filter(c)
return c:IsPosition(POS_FACEUP_ATTACK) and c:IsSkill(SKILL_BOOST) and vgf.RMonsterFilter(c)
return c:IsPosition(POS_FACEUP_ATTACK) and c:IsSkill(SKILL_BOOST) and vgf.filter.IsR(c)
end
\ No newline at end of file
......@@ -33,7 +33,7 @@ function cm.con(e,c)
return Duel.GetFlagEffect(tp,m)>0
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return vgf.VMonsterFilter(e:GetHandler()) and vgf.VMonsterFilter(Duel.GetAttackTarget())
return vgf.filter.IsV(e:GetHandler()) and vgf.filter.IsV(Duel.GetAttackTarget())
end
function cm.check(g)
return g:GetClassCount(Card.GetLevel)==#g
......@@ -51,7 +51,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.VMonsterFilter,tp,0,LOCATION_CIRCLE,1,1,nil):GetFirst()
local tc=vgf.SelectMatchingCard(HINTMSG_VMONSTER,e,tp,vgf.filter.IsV,tp,0,LOCATION_CIRCLE,1,1,nil):GetFirst()
if tc:GetAttack()>1 then
local atk=tc:GetAttack()-1
vgf.AtkUp(c,tc,-atk)
......@@ -61,5 +61,5 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
end
end
function cm.filter(c)
return vgf.VMonsterFilter(c) and c:IsLevelAbove(3)
return vgf.filter.IsV(c) and c:IsLevelAbove(3)
end
\ No newline at end of file
......@@ -8,7 +8,7 @@ function cm.initial_effect(c)
vgd.BeRidedByCard(c,m,cm.filter,cm.operation)
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return vgf.VMonsterFilter(Duel.GetAttackTarget())
return vgf.filter.IsV(Duel.GetAttackTarget())
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -19,7 +19,7 @@ function cm.operation2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) and c:IsFaceup() then
local e2=vgf.AtkUp(c,c,5000)
vgf.EffectReset(c,e2,EVENT_BATTLED)
vgf.effect.Reset(c,e2,EVENT_BATTLED)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_SET)
e1:SetCode(EVENT_BATTLED)
......@@ -31,7 +31,7 @@ function cm.operation2(e,tp,eg,ep,ev,re,r,rp)
end
end
function cm.condition2(e,tp,eg,ep,ev,re,r,rp)
return vgf.RMonsterFilter(e:GetHandler()) and Duel.GetAttacker()==e:GetHandler()
return vgf.filter.IsR(e:GetHandler()) and Duel.GetAttacker()==e:GetHandler()
end
function cm.condition3(e,tp,eg,ep,ev,re,r,rp)
return eg:GetFirst()==e:GetHandler()
......
......@@ -9,7 +9,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) and c:IsFaceup() then
local e2=vgf.AtkUp(c,c,10000)
vgf.EffectReset(c,e2,EVENT_BATTLED)
vgf.effect.Reset(c,e2,EVENT_BATTLED)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_SET)
e1:SetCode(EVENT_BATTLED)
......@@ -21,7 +21,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
end
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return vgf.RMonsterFilter(e:GetHandler()) and vgf.GetVMonster(tp):IsSetCard(0xe8)
return vgf.filter.IsR(e:GetHandler()) and vgf.GetVMonster(tp):IsSetCard(0xe8)
end
function cm.operation2(e,tp,eg,ep,ev,re,r,rp)
vgf.Sendto(LOCATION_SOUL,e:GetHandler(),vgf.GetVMonster(tp))
......
......@@ -10,6 +10,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.VMonsterFilter,tp,LOCATION_CIRCLE,0,nil):GetFirst()
local rc=vgf.GetMatchingGroup(vgf.filter.IsV,tp,LOCATION_CIRCLE,0,nil):GetFirst()
if c:IsRelateToEffect(e) then vgf.Sendto(LOCATION_SOUL,c,rc) end
end
......@@ -6,7 +6,7 @@ function cm.initial_effect(c)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.operation,vgf.cost.CounterBlast(2),cm.condition,nil,1)
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return vgf.RMonsterFilter(e:GetHandler()) and vgf.GetVMonster(tp):IsLevelAbove(3)
return vgf.filter.IsR(e:GetHandler()) and vgf.GetVMonster(tp):IsLevelAbove(3)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
Duel.Draw(tp,1,REASON_EFFECT)
......
......@@ -6,7 +6,7 @@ function cm.initial_effect(c)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation,vgf.cost.SoulBlast(1),cm.condition)
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return vgf.GetVMonster(tp):IsSetCard(0xe8) and vgf.RMonsterFilter(e:GetHandler())
return vgf.GetVMonster(tp):IsSetCard(0xe8) and vgf.filter.IsR(e:GetHandler())
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -3,7 +3,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
--【自】:这个单位从手牌登场到R时,通过【费用】[计数爆发1],查看你的牌堆顶的3张卡,选择1张卡,放置到灵魂里,然后牌堆洗切,你的灵魂里有4张以上的相互不同等级的卡的话,抽1张卡。
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation,vgf.cost.CounterBlast(1),vgf.RSummonCondition)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation,vgf.cost.CounterBlast(1),vgf.con.RideOnRCircle)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetDecktopGroup(tp,3)
......
......@@ -6,7 +6,7 @@ function cm.initial_effect(c)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation,nil,cm.condition)
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return vgf.RMonsterFilter(e:GetHandler())
return vgf.filter.IsR(e:GetHandler())
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetDecktopGroup(tp,2)
......
......@@ -29,7 +29,7 @@ function cm.filter(c,e,tp)
return c:IsSetCard(0x76) and vgf.IsCanBeCalled(c,e,tp)
end
function cm.checkfilter(c)
return vgf.IsSummonTypeV(c) and c:IsLevelAbove(3)
return vgf.filter.RideOnVCircle(c) and c:IsLevelAbove(3)
end
function cm.checkcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(cm.checkfilter,1,nil)
......
......@@ -17,7 +17,7 @@ function cm.operation1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) and c:IsFaceup() then
local e1=vgf.AtkUp(c,c,5000,nil)
vgf.EffectReset(c,e1,EVENT_BATTLED)
vgf.effect.Reset(c,e1,EVENT_BATTLED)
end
end
function cm.cfilter(c,mc)
......
......@@ -31,13 +31,13 @@ function cm.checkop(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1)
end
function cm.con1(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()==tp and vgf.RMonsterCondition(e)
return Duel.GetTurnPlayer()==tp and vgf.con.IsR(e)
end
function cm.op1(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_Call)
local g=vgf.GetVMonster(tp):GetOverlayGroup():FilterSelect(tp,cm.filter,1,1,nil,e,tp)
vgf.Sendto(LOCATION_CIRCLE,g,SUMMON_TYPE_RIDE,tp,"FromOverlayToV",POS_FACEDOWN_DEFENCE)
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,"FromOverlayToV")
return c:IsSetCard(0x202) and vgf.IsCanBeCalled(c,e,tp,SUMMON_TYPE_RIDE,POS_FACEDOWN_DEFENCE,"FromSouloV")
end
\ No newline at end of file
......@@ -11,8 +11,8 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return vgf.RMonsterFilter(c) and vgf.IsExistingMatchingCard(cm.filter,tp,LOCATION_CIRCLE,0,1,nil)
return vgf.filter.IsR(c) and vgf.IsExistingMatchingCard(cm.filter,tp,LOCATION_CIRCLE,0,1,nil)
end
function cm.filter(c)
return vgf.VMonsterFilter and c:IsSetCard(0x77)
return vgf.filter.IsV and c:IsSetCard(0x77)
end
\ No newline at end of file
......@@ -5,10 +5,10 @@ function cm.initial_effect(c)
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return vgf.RMonsterFilter(c) and eg:IsExists(cm.filter,1,nil,tp)
return vgf.filter.IsR(c) and eg:IsExists(cm.filter,1,nil,tp)
end
function cm.filter(c,tp)
return c:IsSummonType(SUMMON_VALUE_REVOLT) and vgf.VMonsterFilter(c) and c:IsControler(tp)
return c:IsSummonType(SUMMON_VALUE_REVOLT) and vgf.filter.IsV(c) and c:IsControler(tp)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -10,10 +10,10 @@ end
function cm.filter(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local e1=vgf.DefUp(c,c,10000)
vgf.EffectReset(c,e1,EVENT_BATTLED)
vgf.effect.Reset(c,e1,EVENT_BATTLED)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local e1=vgf.DefUp(c,c,10000)
vgf.EffectReset(c,e1,EVENT_BATTLED)
vgf.effect.Reset(c,e1,EVENT_BATTLED)
end
\ No newline at end of file
......@@ -5,7 +5,7 @@ function cm.initial_effect(c)
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return vgf.RMonsterFilter(c) and vgf.VMonsterFilter(Duel.GetAttackTarget()) and vgf.IsExistingMatchingCard(nil,tp,LOCATION_CIRCLE+LOCATION_DROP,0,4,nil)
return vgf.filter.IsR(c) and vgf.filter.IsV(Duel.GetAttackTarget()) and vgf.IsExistingMatchingCard(nil,tp,LOCATION_CIRCLE+LOCATION_DROP,0,4,nil)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetDecktopGroup(tp,3)
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.operation,vgf.cost.SoulBlast(1),vgf.VMonsterCondition)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.operation,vgf.cost.SoulBlast(1),vgf.con.IsV)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_BATTLED,cm.operation1,nil,cm.condition1)
vgd.GlobalCheckEffect(c,m,EVENT_SPSUMMON_SUCCESS,cm.checkcon)
end
......@@ -14,10 +14,10 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
vgf.Sendto(LOCATION_HAND,g,nil,REASON_EFFECT)
end
function cm.filter(c)
return vgf.RMonsterFilter(c)
return vgf.filter.IsR(c)
end
function cm.condition1(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFlagEffect(tp,m)>0 and vgf.VMonsterCondition(e) and Duel.GetAttacker()==e:GetHandler()
return Duel.GetFlagEffect(tp,m)>0 and vgf.con.IsV(e) and Duel.GetAttacker()==e:GetHandler()
end
function cm.operation1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.operation,vgf.True,vgf.VMonsterCondition)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.operation,vgf.True,vgf.con.IsV)
vgd.AbilityCont(c, m, LOCATION_CIRCLE, EFFECT_TYPE_SINGLE, EFFECT_UPDATE_ATTACK, 5000, cm.con)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
......@@ -10,10 +10,10 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
vgf.Sendto(LOCATION_HAND,g,nil,REASON_EFFECT)
end
function cm.filter(c)
return vgf.RMonsterFilter(c)
return vgf.filter.IsR(c)
end
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.RMonsterCondition(e)
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 vgf.GetColumnGroup(c):IsContains(mc) and c:IsControler(mc:GetControler()) and c:GetFlagEffect(FLAG_SUPPORT)>0
......
......@@ -2,7 +2,7 @@
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation,vgf.True,vgf.VSummonCondition)
vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation,vgf.True,vgf.con.RideOnVCircle)
vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation1,nil,cm.con2)
end
function cm.con2(e,tp,eg,ep,ev,re,r,rp)
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation,nil,vgf.RSummonCondition)
vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation,nil,vgf.con.RideOnRCircle)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation,vgf.cost.CounterBlast(1),vgf.RSummonCondition)
vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation,vgf.cost.CounterBlast(1),vgf.con.RideOnRCircle)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation,vgf.cost.SoulBlast(1),vgf.RMonsterCondition)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation,vgf.cost.SoulBlast(1),vgf.con.IsR)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -6,9 +6,9 @@ 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.VMonsterFilter,tp,LOCATION_CIRCLE,0,1,1,nil)
local g=vgf.SelectMatchingCard(HINTMSG_VMONSTER,e,tp,vgf.filter.IsV,tp,LOCATION_CIRCLE,0,1,1,nil)
vgd.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 vgf.RMonsterFilter(c)
return vgf.filter.IsR(c)
end
\ No newline at end of file
......@@ -10,7 +10,7 @@ function cm.filter(c)
end
function cm.con(e)
local c=e:GetHandler()
return c:GetFlagEffectLabel(FLAG_CONDITION)==201 and vgf.RMonsterCondition(e)
return c:GetFlagEffectLabel(FLAG_CONDITION)==201 and vgf.con.IsR(e)
end
function cm.val(e)
local c=e:GetHandler()
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.op,cm.cost,vgf.VMonsterCondition)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.op,cm.cost,vgf.con.IsV)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.op1,vgf.cost.SoulBlast(5),cm.con,nil,nil,nil,2)
vgd.GlobalCheckEffect(c,m,EVENT_TO_GRAVE,cm.checkcon)
end
......@@ -11,11 +11,11 @@ function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.ChangePosition(g,POS_FACEUP_DEFENCE)
end
function cm.filter(c)
return c:IsCanChangePosition() and c:IsPosition(POS_FACEUP_ATTACK) and vgf.RMonsterFilter(c)
return c:IsCanChangePosition() and c:IsPosition(POS_FACEUP_ATTACK) and vgf.filter.IsR(c)
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.VMonsterFilter,tp,0,LOCATION_CIRCLE,1,1,nil)
local g=vgf.SelectMatchingCard(HINTMSG_LEAVEFIELD,e,tp,vgf.filter.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)
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.op,vgf.cost.CounterBlast(1),vgf.VMonsterCondition)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.op,vgf.cost.CounterBlast(1),vgf.con.IsV)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......@@ -10,12 +10,12 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
if ct>=10 then
if c:IsRelateToEffect(e) and c:IsFaceup() then
local t={vgf.AtkUp(c,c,10000),vgf.StarUp(c,c,1)}
vgf.EffectReset(c,t,EVENT_BATTLED)
vgf.effect.Reset(c,t,EVENT_BATTLED)
end
end
if ct>=15 then
local g1=vgf.GetMatchingGroup(vgf.RMonsterFilter,tp,LOCATION_CIRCLE,0,nil)
local g2=vgf.GetMatchingGroup(vgf.RMonsterFilter,tp,0,LOCATION_CIRCLE,nil)
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 tc1=vgf.GetVMonster(tp)
local tc2=vgf.GetVMonster(1-tp)
vgf.Sendto(LOCATION_SOUL,g1,tc1)
......
......@@ -17,6 +17,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.RMonsterFilter,tp,0,LOCATION_CIRCLE,1,1,nil)
local g=vgf.SelectMatchingCard(HINTMSG_LEAVEFIELD,e,tp,vgf.filter.IsR,tp,0,LOCATION_CIRCLE,1,1,nil)
vgf.Sendto(LOCATION_DROP,g,REASON_EFFECT)
end
\ No newline at end of file
......@@ -3,7 +3,7 @@ function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityCont(c, m, LOCATION_CIRCLE, EFFECT_TYPE_SINGLE, EFFECT_UPDATE_ATTACK, 5000, function(e)
vgd.AbilityCont(c, m, LOCATION_G_CIRCLE, EFFECT_TYPE_SINGLE, 5000, EFFECT_UPDATE_DEFENSE, cm.con)
vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.op,vgf.cost.SoulBlast(1),vgf.RSummonCondition)
vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.op,vgf.cost.SoulBlast(1),vgf.con.RideOnRCircle)
end
function cm.con(e)
local tp=e:GetHandlerPlayer()
......@@ -19,5 +19,5 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
end
end
function cm.filter1(c)
return vgf.RMonsterFilter(c) and vgf.FrontFilter(c)
return vgf.filter.IsR(c) and vgf.filter.Front(c)
end
\ No newline at end of file
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.op,cm.cost,vgf.RSummonCondition)
vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.op,cm.cost,vgf.con.RideOnRCircle)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.op1,nil,cm.con)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
......@@ -18,7 +18,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
end
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
return vgf.RMonsterCondition(e) and vgf.IsExistingMatchingCard(Card.IsLevel,tp,LOCATION_CIRCLE+LOCATION_G_CIRCLE,0,3,nil,3)
return vgf.con.IsR(e) and vgf.IsExistingMatchingCard(Card.IsLevel,tp,LOCATION_CIRCLE+LOCATION_G_CIRCLE,0,3,nil,3)
end
function cm.op1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -6,21 +6,21 @@ function cm.initial_effect(c)
vgd.GlobalCheckEffect(c,m,EVENT_SPSUMMON_SUCCESS,cm.checkcon)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
return vgf.VMonsterCondition(e) and eg:IsExists(cm.filter,1,nil,tp) and Duel.GetTurnPlayer()==tp and Duel.GetAttackTarget()
return vgf.con.IsV(e) and eg:IsExists(cm.filter,1,nil,tp) and Duel.GetTurnPlayer()==tp and Duel.GetAttackTarget()
end
function cm.filter(c,tp)
return c:IsTrigger(TRIGGER_CARDS) and c:IsLocation(LOCATION_TRIGGER) and c:IsControler(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.RMonsterFilter,tp,LOCATION_CIRCLE,0,1,1,nil)
local g=vgf.SelectMatchingCard(HINTMSG_RMONSTER,e,tp,vgf.filter.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)
return eg:IsExists(Card.IsSummonType,1,nil,SUMMON_TYPE_SELFRIDE)
end
function cm.con1(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFlagEffect(tp,m)>0 and vgf.VMonsterCondition(e)
return Duel.GetFlagEffect(tp,m)>0 and vgf.con.IsV(e)
end
function cm.cost1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
......
......@@ -8,10 +8,10 @@ function cm.initial_effect(c)
e1:SetCode(AFFECT_CODE_ALCHEMAGIC)
e1:SetRange(LOCATION_ORDER)
e1:SetTargetRange(1,0)
e1:SetCondition(vgf.VMonsterCondition)
e1:SetCondition(vgf.con.IsV)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(AFFECT_CODE_ALCHEMAGIC_DIFFERENT_NAME)
c:RegisterEffect(e2)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,vgf.op.CardsFromTo(REASON_EFFECT,LOCATION_CIRCLE,LOCATION_DROP),vgf.cost.CounterBlast(1),vgf.VMonsterCondition,nil,1)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,vgf.op.CardsFromTo(REASON_EFFECT,LOCATION_CIRCLE,LOCATION_DROP),vgf.cost.CounterBlast(1),vgf.con.IsV,nil,1)
end
\ No newline at end of file
......@@ -5,10 +5,10 @@ function cm.initial_effect(c)
end
function cm.con(e)
local c=e:GetHandler()
return vgf.BackFilter(c)
return vgf.filter.Back(c)
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.RMonsterFilter,tp,LOCATION_CIRCLE,0,1,1,c)
local g=vgf.SelectMatchingCard(HINTMSG_ATKUP,e,tp,vgf.filter.IsR,tp,LOCATION_CIRCLE,0,1,1,c)
vgf.AtkUp(c,g,c:GetAttack())
end
\ No newline at end of file
......@@ -6,7 +6,7 @@ function cm.initial_effect(c)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:GetFlagEffectLabel(FLAG_CONDITION)==201 and vgf.RSummonCondition(e)
return c:GetFlagEffectLabel(FLAG_CONDITION)==201 and vgf.con.RideOnRCircle(e)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -4,6 +4,6 @@ function cm.initial_effect(c)
vgf.AddEffectWhenTrigger(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.VMonsterFilter,tp,LOCATION_CIRCLE,0,1,1,nil)
local g=vgf.SelectMatchingCard(HINTMSG_VMONSTER,e,tp,vgf.filter.IsV,tp,LOCATION_CIRCLE,0,1,1,nil)
Duel.ChangePosition(g,POS_FACEUP_ATTACK)
end
\ No newline at end of file
......@@ -13,11 +13,11 @@ 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.RMonsterFilter,tp,LOCATION_CIRCLE,0,1,c) end
local g=vgf.SelectMatchingCard(HINTMSG_XMATERIAL,e,tp,vgf.RMonsterFilter,tp,LOCATION_CIRCLE,0,1,1,c)
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)
vgf.Sendto(LOCATION_SOUL,g)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
local ct=Duel.GetFlagEffectLabel(tp,FLAG_CONDITION)
return vgf.GetValueType(ct)=="number" and ct==10102001 and vgf.RMonsterCondition(e)
return vgf.GetValueType(ct)=="number" and ct==10102001 and vgf.con.IsR(e)
end
\ No newline at end of file
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,vgf.op.SoulCharge(1),nil,vgf.RSummonCondition)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,cm.op,vgf.cost.SoulBlast(3),vgf.RMonsterCondition,nil,1)
vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,vgf.op.SoulCharge(1),nil,vgf.con.RideOnRCircle)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,cm.op,vgf.cost.SoulBlast(3),vgf.con.IsR,nil,1)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
Duel.Draw(tp,1,REASON_EFFECT)
......
......@@ -9,7 +9,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetTargetRange(LOCATION_CIRCLE,0)
e1:SetValue(10000)
e1:SetCondition(vgf.PlayerEffect)
e1:SetCondition(vgf.con.PlayerEffect)
e1:SetTarget(cm.tg)
Duel.RegisterEffect(e1,tp)
local e2=e1:Clone()
......@@ -18,5 +18,5 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterEffect(e2,tp)
end
function cm.tg(e,c)
return vgf.VMonsterFilter(c)
return vgf.filter.IsV(c)
end
\ No newline at end of file
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.op,cm.cost,vgf.RMonsterCondition,nil,1)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.op,cm.cost,vgf.con.IsR,nil,1)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
......@@ -12,7 +12,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.RMonsterFilter,tp,0,LOCATION_CIRCLE,1,1,nil)
local g=vgf.SelectMatchingCard(HINTMSG_IMPRISON,e,tp,vgf.filter.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)
......
......@@ -5,7 +5,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.FrontFilter,tp,LOCATION_CIRCLE,0,nil)
local g=vgf.GetMatchingGroup(vgf.filter.Front,tp,LOCATION_CIRCLE,0,nil)
vgf.AtkUp(c,g,"DOUBLE")
vgf.StarUp(c,g,"DOUBLE")
end
\ No newline at end of file
......@@ -2,7 +2,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.CannotBeTarget(c,m,LOCATION_R_CIRCLE)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_HITTING,cm.op,nil,vgf.RMonsterCondition)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_HITTING,cm.op,nil,vgf.con.IsR)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
vgf.CounterCharge(1)(e,tp,eg,ep,ev,re,r,rp)
......
......@@ -8,5 +8,5 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:GetFlagEffect(FLAG_SUPPORT)>0 and vgf.RMonsterCondition(e)
return c:GetFlagEffect(FLAG_SUPPORT)>0 and vgf.con.IsR(e)
end
\ No newline at end of file
......@@ -20,5 +20,5 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
end
end
function cm.filter(c)
return vgf.RMonsterFilter(c) and c:GetFlagEffect(FLAG_ALSO_CAN_TRIGGER)==0 and c:IsFaceup()
return vgf.filter.IsR(c) and c:GetFlagEffect(FLAG_ALSO_CAN_TRIGGER)==0 and c:IsFaceup()
end
\ No newline at end of file
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.op,nil,vgf.RSummonCondition)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.op1,vgf.cost.Retire(),vgf.RMonsterCondition)
vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.op,nil,vgf.con.RideOnRCircle)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.op1,vgf.cost.Retire(),vgf.con.IsR)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetDecktopGroup(tp,3)
......
......@@ -7,7 +7,7 @@ function cm.initial_effect(c)
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return vgf.RSummonCondition(e) and c:IsSummonLocation(LOCATION_HAND)
return vgf.con.RideOnRCircle(e) and c:IsSummonLocation(LOCATION_HAND)
end
--效果二处理
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
......
......@@ -11,7 +11,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local g1=vgf.SelectMatchingCard(HINTMSG_CRITICAL_STRIKE,e,tp,nil,tp,LOCATION_CIRCLE,0,1,1,nil)
vgf.StarUp(c,g1,1,nil)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATKUP)
local g2=vgf.GetMatchingGroup(vgf.IsSequence,tp,LOCATION_CIRCLE,0,nil,0,4,5)
local g2=vgf.GetMatchingGroup(Card.IsSequence,tp,LOCATION_CIRCLE,0,nil,0,4,5)
vgf.AtkUp(c,g2,10000,nil)
if vgf.GetMatchingGroupCount(nil,tp,LOCATION_DAMAGE,0,nil)>=vgf.GetMatchingGroupCount(nil,tp,0,LOCATION_DAMAGE,nil) then
local tc=vgf.SelectMatchingCard(HINTMSG_TODROP,e,tp,nil,tp,LOCATION_DAMAGE,0,1,1,nil):GetFirst()
......
......@@ -8,19 +8,19 @@ function cm.initial_effect(c)
end
function cm.condition2(e,tp,eg,ep,ev,re,r,rp)
local c=Duel.GetAttacker()
return vgf.RMonsterCondition(e) and vgf.GetMatchingGroupCount(vgf.RMonsterFilter,tp,0,LOCATION_CIRCLE,nil)<=2 and vgf.VMonsterFilter(c)
return vgf.con.IsR(e) and vgf.GetMatchingGroupCount(vgf.filter.IsR,tp,0,LOCATION_CIRCLE,nil)<=2 and vgf.filter.IsV(c)
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.VMonsterFilter,tp,LOCATION_CIRCLE,0,nil):GetFirst()
local rc=vgf.GetMatchingGroup(vgf.filter.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.VMonsterFilter,tp,LOCATION_CIRCLE,0,1,1,nil)
local g=vgf.SelectMatchingCard(HINTMSG_CRITICAL_STRIKE,e,tp,vgf.filter.IsV,tp,LOCATION_CIRCLE,0,1,1,nil)
if g:GetCount()>0 then
local e1=vgf.StarUp(c,g,1,nil)
vgf.EffectReset(c,e1,EVENT_BATTLED)
vgf.effect.Reset(c,e1,EVENT_BATTLED)
end
end
\ No newline at end of file
......@@ -20,9 +20,9 @@ function cm.operation1(e,tp,eg,ep,ev,re,r,rp)
vgf.op.SoulCharge(1)(e,tp,eg,ep,ev,re,r,rp,chk)
if c:IsRelateToEffect(e) and c:IsFaceup() then
local e1=vgf.AtkUp(c,c,5000)
vgf.EffectReset(c,e1,EVENT_BATTLED)
vgf.effect.Reset(c,e1,EVENT_BATTLED)
end
end
function cm.condition (e,tp,eg,ep,ev,re,r,rp)
return vgf.GetMatchingGroupCount(vgf.RMonsterFilter,tp,0,LOCATION_CIRCLE,nil)<=2
return vgf.GetMatchingGroupCount(vgf.filter.IsR,tp,0,LOCATION_CIRCLE,nil)<=2
end
......@@ -3,12 +3,12 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
--【自】:这个单位登场到R时,通过【费用】[计数爆发2],灵魂填充1,选择对手的1张后防者,退场。
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation,vgf.cost.CounterBlast(2),vgf.RSummonCondition)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation,vgf.cost.CounterBlast(2),vgf.con.RideOnRCircle)
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.RMonsterFilter,tp,0,LOCATION_CIRCLE,1,1,nil)
local g=vgf.SelectMatchingCard(HINTMSG_LEAVEFIELD,e,tp,vgf.filter.IsR,tp,0,LOCATION_CIRCLE,1,1,nil)
if g:GetCount()>0 then
vgf.Sendto(LOCATION_DROP,g,REASON_EFFECT)
end
......
......@@ -3,7 +3,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
--【自】:这个单位登场到R时,通过【费用】[计数爆发1,灵魂爆发1],选择对手的1张等级2以上的后防者,退场。
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation,cm.cost,vgf.RSummonCondition)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation,cm.cost,vgf.con.RideOnRCircle)
end
--计数爆发1,灵魂爆发1
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
......@@ -20,5 +20,5 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
end
end
function cm.filter(c)
return vgf.RMonsterFilter(c) and c:IsLevelAbove(2)
return vgf.filter.IsR(c) and c:IsLevelAbove(2)
end
\ No newline at end of file
......@@ -9,7 +9,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
local g=vgf.SelectMatchingCard(HINTMSG_MONSTER,e,tp,nil,tp,LOCATION_CIRCLE,0,1,1,nil)
if g:GetCount()>0 then
local tc=g:GetFirst()
if vgf.RMonsterFilter(tc) then
if vgf.filter.IsR(tc) then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
......@@ -18,8 +18,8 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetValue(1)
tc:RegisterEffect(e1)
vgf.EffectReset(c,e1,EVENT_BATTLED)
elseif vgf.VMonsterFilter(tc) then
vgf.effect.Reset(c,e1,EVENT_BATTLED)
elseif vgf.filter.IsV(tc) then
tc:RegisterFlagEffect(FLAG_DEFENSE_ENTIRELY,RESET_EVENT+RESETS_STANDARD,0,1)
end
end
......
......@@ -9,14 +9,14 @@ vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.operation,vgf.cost.CounterBlast(2),cm.cond
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return vgf.RMonsterCondition(e) and vgf.GetVMonster(tp):IsCode(10401003)
return vgf.con.IsR(e) and vgf.GetVMonster(tp):IsCode(10401003)
end
function cm.condition1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return vgf.RMonsterCondition(e) and vgf.GetVMonster(tp):GetOverlayCount()>=10
return vgf.con.IsR(e) and vgf.GetVMonster(tp):GetOverlayCount()>=10
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=vgf.GetMatchingGroup(vgf.FrontFilter,tp,LOCATION_CIRCLE,0,nil)
local g=vgf.GetMatchingGroup(vgf.filter.Front,tp,LOCATION_CIRCLE,0,nil)
vgf.AtkUp(c,g,5000,nil)
end
\ No newline at end of file
......@@ -5,7 +5,7 @@ function cm.initial_effect(c)
--【自】:这个单位被「重力的支配者 磁力重压」RIDE时,通过【费用】[将手牌中的1张卡放置到灵魂里],抽1张卡,灵魂填充1。
vgd.BeRidedByCard(c,m,10401003,cm.operation,cm.cost)
--【自】:这个单位登场到R时,通过【费用】[计数爆发1],灵魂填充2。
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation1,vgf.cost.CounterBlast(1),vgf.RSummonCondition)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation1,vgf.cost.CounterBlast(1),vgf.con.RideOnRCircle)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
......@@ -15,7 +15,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.VMonsterFilter,tp,LOCATION_CIRCLE,0,nil):GetFirst()
local rc=vgf.GetMatchingGroup(vgf.filter.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
......
......@@ -13,9 +13,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.RMonsterFilter,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,vgf.filter.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.RMonsterFilter,tp,LOCATION_CIRCLE,0,1,c)
local g=vgf.SelectMatchingCard(HINTMSG_OVERLAY,nil,tp,vgf.filter.IsR,tp,LOCATION_CIRCLE,0,1,c)
vgf.Sendto(LOCATION_SOUL,g)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
......
......@@ -8,7 +8,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
local g=vgf.SelectMatchingCard(HINTMSG_MONSTER,e,tp,Card.IsFaceup,tp,LOCATION_CIRCLE,0,1,1,nil)
if g:GetCount()>0 then
local tc=g:GetFirst()
if vgf.RMonsterFilter(tc) then
if vgf.filter.IsR(tc) then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
......@@ -17,8 +17,8 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetValue(1)
tc:RegisterEffect(e1)
vgf.EffectReset(c,e1,EVENT_BATTLED)
elseif vgf.VMonsterFilter(tc) then
vgf.effect.Reset(c,e1,EVENT_BATTLED)
elseif vgf.filter.IsV(tc) then
tc:RegisterFlagEffect(FLAG_DEFENSE_ENTIRELY,RESET_EVENT+RESETS_STANDARD,0,1)
end
end
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.op,vgf.cost.SoulBlast(1),vgf.RMonsterCondition,nil,1)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.op,vgf.cost.SoulBlast(1),vgf.con.IsR,nil,1)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......@@ -10,5 +10,5 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
vgf.SendtoPrison(g,tp)
end
function cm.filter(c)
return vgf.IsSequence(c,0,4)
return Card.IsSequence(c,0,4)
end
\ No newline at end of file
......@@ -10,11 +10,11 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
vgf.AtkUp(c,g,5000)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
return vgf.VMonsterCondition(e) and eg:IsExists(cm.filter,1,nil,tp) and not eg:IsContains(e:GetHandler())
return vgf.con.IsV(e) and eg:IsExists(cm.filter,1,nil,tp) and not eg:IsContains(e:GetHandler())
end
function cm.filter(c,tp)
return c:IsSetCard(0x5040) and c:IsLocation(LOCATION_ORDER) and c:IsControler(tp)
end
function cm.con2(e,tp,eg,ep,ev,re,r,rp)
return vgf.RMonsterCondition(e) and Duel.IsPlayerAffectedByEffect(tp,AFFECT_CODE_ABYSSAL_DARK_NIGHT) and Duel.GetTurnPlayer()==tp
return vgf.con.IsR(e) and Duel.IsPlayerAffectedByEffect(tp,AFFECT_CODE_ABYSSAL_DARK_NIGHT) and Duel.GetTurnPlayer()==tp
end
\ No newline at end of file
......@@ -5,7 +5,7 @@ function cm.initial_effect(c)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return Duel.IsPlayerAffectedByEffect(tp,AFFECT_CODE_ABYSSAL_DARK_NIGHT) and vgf.RSummonCondition(e)
return Duel.IsPlayerAffectedByEffect(tp,AFFECT_CODE_ABYSSAL_DARK_NIGHT) and vgf.con.RideOnRCircle(e)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return vgf.cost.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) and vgf.cost.SoulBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) end
......
......@@ -9,7 +9,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
local g=vgf.SelectMatchingCard(HINTMSG_MONSTER,e,tp,nil,tp,LOCATION_CIRCLE,0,1,1,nil)
if g:GetCount()>0 then
local tc=g:GetFirst()
if vgf.RMonsterFilter(tc) then
if vgf.filter.IsR(tc) then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
......@@ -18,8 +18,8 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetValue(1)
tc:RegisterEffect(e1)
vgf.EffectReset(c,e1,EVENT_BATTLED)
elseif vgf.VMonsterFilter(tc) then
vgf.effect.Reset(c,e1,EVENT_BATTLED)
elseif vgf.filter.IsV(tc) then
tc:RegisterFlagEffect(FLAG_DEFENSE_ENTIRELY,RESET_EVENT+RESETS_STANDARD,0,1)
end
end
......
......@@ -18,5 +18,5 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
end
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
return vgf.IsExistingMatchingCard(Card.IsLevel,tp,LOCATION_CIRCLE+LOCATION_G_CIRCLE,0,3,nil,3) and vgf.RMonsterCondition(e)
return vgf.IsExistingMatchingCard(Card.IsLevel,tp,LOCATION_CIRCLE+LOCATION_G_CIRCLE,0,3,nil,3) and vgf.con.IsR(e)
end
\ No newline at end of file
......@@ -2,7 +2,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.BeRidedByCard(c,m,10401008,cm.op)
vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.op2,nil,vgf.RSummonCondition)
vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.op2,nil,vgf.con.RideOnRCircle)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetDecktopGroup(tp,3)
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.op,cm.cost,vgf.RSummonCondition)
vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.op,cm.cost,vgf.con.RideOnRCircle)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return vgf.op.Rest(e:GetHandler())(e,tp,eg,ep,ev,re,r,rp,chk) and vgf.cost.SoulBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) end
......
......@@ -4,7 +4,7 @@ function cm.initial_effect(c)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_MOVE,vgf.CounterCharge(1),vgf.cost.SoulBlast(2),cm.con,nil,1)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
return vgf.RMonsterCondition(e) and eg:IsExists(cm.filter,1,nil,tp) and Duel.GetTurnPlayer()==tp and Duel.GetAttackTarget()
return vgf.con.IsR(e) and eg:IsExists(cm.filter,1,nil,tp) and Duel.GetTurnPlayer()==tp and Duel.GetAttackTarget()
end
function cm.filter(c,tp)
return c:IsTrigger(TRIGGER_CARDS) and c:IsLocation(LOCATION_TRIGGER) and c:IsControler(tp)
......
......@@ -9,7 +9,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
local g=vgf.SelectMatchingCard(HINTMSG_MONSTER,e,tp,nil,tp,LOCATION_CIRCLE,0,1,1,nil)
if g:GetCount()>0 then
local tc=g:GetFirst()
if vgf.RMonsterFilter(tc) then
if vgf.filter.IsR(tc) then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
......@@ -18,8 +18,8 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetValue(1)
tc:RegisterEffect(e1)
vgf.EffectReset(c,e1,EVENT_BATTLED)
elseif vgf.VMonsterFilter(tc) then
vgf.effect.Reset(c,e1,EVENT_BATTLED)
elseif vgf.filter.IsV(tc) then
tc:RegisterFlagEffect(FLAG_DEFENSE_ENTIRELY,RESET_EVENT+RESETS_STANDARD,0,1)
end
end
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,vgf.op.CardsFromTo(REASON_EFFECT,LOCATION_HAND,LOCATION_DROP,cm.filter,1,0),nil,vgf.VSummonCondition)
vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,vgf.op.CardsFromTo(REASON_EFFECT,LOCATION_HAND,LOCATION_DROP,cm.filter,1,0),nil,vgf.con.RideOnVCircle)
vgd.AbilityCont(c, m, LOCATION_CIRCLE, EFFECT_TYPE_SINGLE, EFFECT_UPDATE_ATTACK, 5000, cm.con2)
vgd.GlobalCheckEffect(c,m,EVENT_CHAINING,cm.checkcon)
end
......@@ -12,5 +12,5 @@ function cm.checkcon(e,tp,eg,ep,ev,re,r,rp)
return re:IsHasType(EFFECT_TYPE_ACTIVATE) and rp==tp
end
function cm.con2(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFlagEffect(tp,m)>0 and vgf.RMonsterCondition(e)
return Duel.GetFlagEffect(tp,m)>0 and vgf.con.IsR(e)
end
\ No newline at end of file
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.op,vgf.cost.Retire(),vgf.RMonsterCondition)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.op,vgf.cost.Retire(),vgf.con.IsR)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -9,7 +9,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
local g=vgf.SelectMatchingCard(HINTMSG_MONSTER,e,tp,nil,tp,LOCATION_CIRCLE,0,1,1,nil)
if g:GetCount()>0 then
local tc=g:GetFirst()
if vgf.RMonsterFilter(tc) then
if vgf.filter.IsR(tc) then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
......@@ -18,8 +18,8 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetValue(1)
tc:RegisterEffect(e1)
vgf.EffectReset(c,e1,EVENT_BATTLED)
elseif vgf.VMonsterFilter(tc) then
vgf.effect.Reset(c,e1,EVENT_BATTLED)
elseif vgf.filter.IsV(tc) then
tc:RegisterFlagEffect(FLAG_DEFENSE_ENTIRELY,RESET_EVENT+RESETS_STANDARD,0,1)
end
end
......
......@@ -5,11 +5,11 @@ function cm.initial_effect(c)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return vgf.RSummonCondition(e)
return vgf.con.RideOnRCircle(e)
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.RMonsterFilter,tp,0,LOCATION_CIRCLE,1,1,nil)
local g=vgf.SelectMatchingCard(HINTMSG_LEAVEFIELD,e,tp,vgf.filter.IsR,tp,0,LOCATION_CIRCLE,1,1,nil)
vgf.Sendto(LOCATION_DROP,g,REASON_EFFECT)
end
function cm.filter(c)
......
......@@ -4,12 +4,12 @@ function cm.initial_effect(c)
vgd.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.RMonsterFilter,tp,0,LOCATION_CIRCLE,nil):GetCount()<=2 and vgf.RMonsterCondition(e)
return vgf.GetMatchingGroup(vgf.filter.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()
if c:IsRelateToEffect(e) and c:IsFaceup() then
local e1=vgf.AtkUp(c,c,5000)
vgf.EffectReset(c,e1,EVENT_BATTLED)
vgf.effect.Reset(c,e1,EVENT_BATTLED)
end
end
\ No newline at end of file
......@@ -6,7 +6,7 @@ end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local e1=vgf.DefUp(c,c,5000)
vgf.EffectReset(c,e1,EVENT_BATTLED)
vgf.effect.Reset(c,e1,EVENT_BATTLED)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -5,7 +5,7 @@ function cm.initial_effect(c)
vgd.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.RMonsterFilter,tp,0,LOCATION_CIRCLE,1,1,nil)
local g=vgf.SelectMatchingCard(HINTMSG_LEAVEFIELD,e,tp,vgf.filter.IsR,tp,0,LOCATION_CIRCLE,1,1,nil)
vgf.Sendto(LOCATION_DROP,g,REASON_EFFECT)
end
function cm.filter(c,tp)
......
......@@ -8,7 +8,7 @@ function cm.initial_effect(c)
end
--你的主要阶段中对手的后防者退场时
function cm.con(e,tp,eg,ep,re,r,rp)
return eg:IsExists(cm.filter,1,nil,tp) and Duel.GetCurrentPhase()==PHASE_MAIN1 and Duel.GetTurnPlayer()==tp and vgf.RMonsterCondition(e)
return eg:IsExists(cm.filter,1,nil,tp) and Duel.GetCurrentPhase()==PHASE_MAIN1 and Duel.GetTurnPlayer()==tp and vgf.con.IsR(e)
end
function cm.filter(c,tp)
return c:IsPreviousLocation(LOCATION_CIRCLE) and c:IsPreviousControler(1-tp) and c:IsPreviousPosition(POS_FACEUP)
......
......@@ -5,11 +5,7 @@ function cm.initial_effect(c)
--通过【费用】[使用1张以上的你希望的张数的卡进行计数爆发]施放!
--由于这个费用支付的计数爆发1每有1张,选择对手的1张后防者,退场。
vgd.Order(c,m,cm.op,cm.cost)
vgf.AddAlchemagicFrom(c,m,"LOCATION_DAMAGE")
vgf.AddAlchemagicTo(c,m,"POSCHANGE")
vgf.AddAlchemagicFilter(c,m,Card.IsFaceup)
vgf.AddAlchemagicCountMin(c,m,1)
vgf.AddAlchemagicCountMax(c,m,100)
VgF.AddAlchemagic(m,"LOCATION_DAMAGE","POSCHANGE",1,100,Card.IsFaceup)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local ct=vgf.GetMatchingGroupCount(Card.IsFaceup,tp,LOCATION_DAMAGE,0,nil)
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
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