Commit a689b60c authored by xiaoye's avatar xiaoye

fix

parent 91418192
......@@ -153,13 +153,13 @@ vgd.Order(c, m, op, con, cost)
local cm,m,o=GetID()
function cm.initial_effect(c)
vgf.VgCard(c)
vgd.Order(c,m,cm.operation,vgf.CounterBlast(1))
vgd.Order(c,m,cm.operation,vgf.cost.CounterBlast(1))
end
function cm.operation(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,nil)
vgf.CardsFromTo(REASON_EFFECT,LOCATION_HAND,LOCATION_DROP,cm.filter)(e,tp,eg,ep,ev,re,r,rp)
vgf.op.CardsFromTo(REASON_EFFECT,LOCATION_HAND,LOCATION_DROP,cm.filter)(e,tp,eg,ep,ev,re,r,rp)
end
function cm.filter(c)
return c:IsCode(10101006)
......@@ -184,7 +184,7 @@ vgd.BeRidedByCard(c, m[, code, op, cost, con, tg])
local cm,m,o=GetID()
function cm.initial_effect(c)
vgf.VgCard(c)
vgd.BeRidedByCard(c,m,10101002,vgf.CardsFromTo(REASON_EFFECT,LOCATION_CIRCLE,LOCATION_DECK,cm.filter))
vgd.BeRidedByCard(c,m,10101002,vgf.op.CardsFromTo(REASON_EFFECT,LOCATION_CIRCLE,LOCATION_DECK,cm.filter))
end
function cm.filter(c)
return c:IsCode(10101009)
......@@ -261,7 +261,7 @@ VgD.AbilityAct(c, m[, loc, op, cost, con, tg, count, property])
local cm,m,o=GetID()
function cm.initial_effect(c)
vgf.VgCard(c)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,vgf.CardsFromTo(REASON_EFFECT,LOCATION_HAND,LOCATION_CIRCLE,LOCATION_DROP,cm.filter),vgf.Discard(1),nil,nil,1)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,vgf.op.CardsFromTo(REASON_EFFECT,LOCATION_HAND,LOCATION_CIRCLE,LOCATION_DROP,cm.filter),vgf.cost.Discard(1),nil,nil,1)
end
function cm.filter(c)
return c:IsLevel(0)
......@@ -375,7 +375,7 @@ vgf.VgCard(c)
## 2.用于行为的封装函数(仅用于operation函数):从X1处寻找卡送去X2处
```lua
vgf.CardsFromTo(reason ,loc_to, loc_from, f[, int_max, int_min, ...])
vgf.op.CardsFromTo(reason ,loc_to, loc_from, f[, int_max, int_min, ...])
```
返回值:int 【具体操作的数量】
......
......@@ -2,8 +2,8 @@
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,vgf.CardsFromTo(REASON_EFFECT,LOCATION_CIRCLE,LOCATION_DROP,cm.filter),vgf.Discard(1),vgf.VMonsterCondition,nil,1)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.operation,vgf.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.VMonsterCondition,nil,1)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.operation,vgf.cost.CounterBlast(1),vgf.VMonsterCondition)
end
function cm.filter(c)
return c:IsLevel(0)
......
......@@ -2,7 +2,7 @@
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.BeRidedByCard(c,m,10101001,vgf.CardsFromTo(REASON_EFFECT,LOCATION_HAND,LOCATION_DECK,cm.filter),vgf.SoulBlast(1))
vgd.BeRidedByCard(c,m,10101001,vgf.op.CardsFromTo(REASON_EFFECT,LOCATION_HAND,LOCATION_DECK,cm.filter),vgf.cost.SoulBlast(1))
vgd.AbilityCont(c, m, LOCATION_CIRCLE, EFFECT_TYPE_SINGLE, EFFECT_UPDATE_ATTACK, 2000, cm.con)
end
function cm.filter(c)
......
......@@ -2,7 +2,7 @@
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.BeRidedByCard(c,m,10101002,vgf.CardsFromTo(REASON_EFFECT,LOCATION_CIRCLE,LOCATION_DECK,cm.filter))
vgd.BeRidedByCard(c,m,10101002,vgf.op.CardsFromTo(REASON_EFFECT,LOCATION_CIRCLE,LOCATION_DECK,cm.filter))
vgd.AbilityCont(c, m, LOCATION_CIRCLE, EFFECT_TYPE_SINGLE, EFFECT_UPDATE_ATTACK, 2000, cm.con)
end
function cm.filter(c)
......
......@@ -11,8 +11,8 @@ 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.SoulBlast(2)(e,tp,eg,ep,ev,re,r,rp,0) and Duel.SelectEffectYesNo(tp,vgf.stringid(VgID,10)) then
vgf.SoulBlast(2)(e,tp,eg,ep,ev,re,r,rp,1)
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)
vgf.Sendto(LOCATION_DROP,g,REASON_EFFECT)
end
......
......@@ -2,5 +2,5 @@
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAuto(c, m,nil,nil,EVENT_TO_G_CIRCLE,nil,vgf.Discard(1))
vgd.AbilityAuto(c, m,nil,nil,EVENT_TO_G_CIRCLE,nil,vgf.cost.Discard(1))
end
\ No newline at end of file
......@@ -2,13 +2,13 @@
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.Order(c,m,cm.operation,vgf.CounterBlast(1))
vgd.Order(c,m,cm.operation,vgf.cost.CounterBlast(1))
end
function cm.operation(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,nil)
vgf.CardsFromTo(REASON_EFFECT,LOCATION_HAND,LOCATION_DROP,cm.filter)(e,tp,eg,ep,ev,re,r,rp)
vgf.op.CardsFromTo(REASON_EFFECT,LOCATION_HAND,LOCATION_DROP,cm.filter)(e,tp,eg,ep,ev,re,r,rp)
end
function cm.filter(c)
return c:IsCode(10101006)
......
......@@ -2,7 +2,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_CUSTOM+EVENT_RIDE_START,cm.op,nil,cm.con)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.op2,vgf.SoulBlast(5),cm.con2)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.op2,vgf.cost.SoulBlast(5),cm.con2)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -13,5 +13,5 @@ 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)
vgf.Sendto(LOCATION_CIRCLE,g,0,tp,0x4)
vgf.SoulCharge(1)(e,tp,eg,ep,ev,re,r,rp)
vgf.op.SoulCharge(1)(e,tp,eg,ep,ev,re,r,rp)
end
......@@ -5,7 +5,7 @@ function cm.initial_effect(c)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
vgf.SoulCharge(1)
vgf.op.SoulCharge(1)
Duel.BreakEffect()
local ct=Duel.GetFlagEffectLabel(tp,FLAG_CONDITION)
if vgf.GetValueType(ct)=="number" and ct==10102001 and vgf.IsExistingMatchingCard(Card.IsFaceup,tp,LOCATION_DAMAGE,0,1,nil) and Duel.SelectEffectYesNo(tp,vgf.stringid(VgID,10)) then
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAuto(c, m,nil,nil,EVENT_TO_G_CIRCLE,cm.op,vgf.CounterBlast(1))
vgd.AbilityAuto(c, m,nil,nil,EVENT_TO_G_CIRCLE,cm.op,vgf.cost.CounterBlast(1))
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -8,7 +8,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
local num=1
local ct=Duel.GetFlagEffectLabel(tp,FLAG_CONDITION)
if vgf.GetValueType(ct)=="number" and ct==10102001 then num=num+1 end
vgf.SoulCharge(num)(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)
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAuto(c, m,nil,nil,EVENT_TO_G_CIRCLE,nil,vgf.Discard(1))
vgd.AbilityAuto(c, m,nil,nil,EVENT_TO_G_CIRCLE,nil,vgf.cost.Discard(1))
end
......@@ -2,5 +2,5 @@
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.Order(c,m,vgf.SoulCharge(2))
vgd.Order(c,m,vgf.op.SoulCharge(2))
end
\ No newline at end of file
......@@ -3,7 +3,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
--【自】【V】【1回合1次】:你的攻击判定将等级3的卡判出的战斗结束时,通过【费用】[将手牌中的1张卡舍弃],选择你的1张后防者,重置,这个回合中,那个单位的力量+10000。
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_BATTLED,cm.operation,vgf.Discard(1),cm.condition,nil,1)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_BATTLED,cm.operation,vgf.cost.Discard(1),cm.condition,nil,1)
vgd.GlobalCheckEffect(c,m,EVENT_MOVE,cm.checkcon,cm.checkop)
--【永】【V】:你的回合中,你所有的等级3的单位的力量+2000。
vgd.AbilityCont(c, m, LOCATION_CIRCLE, EFFECT_TYPE_FIELD, EFFECT_UPDATE_ATTACK, 2000, cm.con, cm.target, LOCATION_CIRCLE+LOCATION_G_CIRCLE, 0)
......
......@@ -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.CounterBlast(1),vgf.RMonsterCondition,nil,1)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.operation2,vgf.cost.CounterBlast(1),vgf.RMonsterCondition,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
......
......@@ -3,7 +3,7 @@ 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.CounterBlast(1),vgf.RMonsterCondition)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.operation,vgf.cost.CounterBlast(1),vgf.RMonsterCondition)
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】:通过【费用】[灵魂爆发2],这个回合中,这个单位的力量+5000。
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.operation,vgf.SoulBlast(2),vgf.RMonsterCondition)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.operation,vgf.cost.SoulBlast(2),vgf.RMonsterCondition)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
......
......@@ -2,5 +2,5 @@
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAuto(c, m,nil,nil,EVENT_TO_G_CIRCLE,nil,vgf.Discard(1))
vgd.AbilityAuto(c, m,nil,nil,EVENT_TO_G_CIRCLE,nil,vgf.cost.Discard(1))
end
\ No newline at end of file
......@@ -3,7 +3,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
--【自】【V】:这个单位攻击的战斗结束时,通过【费用】[计数爆发1],选择你的1张后防者,这个回合中,那个单位可以从后列攻击,力量+5000。这个回合中你进行了人格RIDE的话,不选择1张,而是选择3张。
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_BATTLED,cm.operation,vgf.CounterBlast(1),cm.condition)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_BATTLED,cm.operation,vgf.cost.CounterBlast(1),cm.condition)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -3,9 +3,9 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
--【自】:这个单位被「树角兽王 马格诺利亚」RIDE时,通过【费用】[灵魂爆发1],将你的牌堆顶的1张卡公开,那张卡是单位卡的话,CALL到R上,不是的话,加入手牌。
vgd.BeRidedByCard(c,m,10104001,cm.operation,vgf.SoulBlast(1))
vgd.BeRidedByCard(c,m,10104001,cm.operation,vgf.cost.SoulBlast(1))
--【自】【后列的R】:这个单位攻击先导者时,通过【费用】[灵魂爆发1],这次战斗中,这个单位的力量+10000。
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.operation2,vgf.SoulBlast(1),cm.condition)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.operation2,vgf.cost.SoulBlast(1),cm.condition)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -19,8 +19,8 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
end
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return vgf.IsExistingMatchingCard(Card.IsFaceup,tp,LOCATION_DAMAGE,0,1,nil) and vgf.SoulBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) end
if chk==0 then return vgf.IsExistingMatchingCard(Card.IsFaceup,tp,LOCATION_DAMAGE,0,1,nil) and vgf.cost.SoulBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) end
local g1=vgf.SelectMatchingCard(HINTMSG_DAMAGE,e,tp,Card.IsFaceup,tp,LOCATION_DAMAGE,0,1,1,nil)
Duel.ChangePosition(g1,POS_FACEDOWN)
vgf.SoulBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.cost.SoulBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
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】【1回合1次】:通过【费用】[灵魂爆发2],公开你的牌堆顶的1张卡,那张卡是单位卡的话,CALL到R上,不是的话,加入手牌
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.operation,vgf.SoulBlast(2),vgf.RMonsterCondition,nil,1)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.operation,vgf.cost.SoulBlast(2),vgf.RMonsterCondition,nil,1)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -2,5 +2,5 @@
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAuto(c, m,nil,nil,EVENT_TO_G_CIRCLE,nil,vgf.Discard(1))
vgd.AbilityAuto(c, m,nil,nil,EVENT_TO_G_CIRCLE,nil,vgf.cost.Discard(1))
end
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.op1,vgf.CounterBlast(1),nil,nil,1)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.op1,vgf.cost.CounterBlast(1),nil,nil,1)
vgd.AbilityCont(c, m, LOCATION_CIRCLE, EFFECT_TYPE_SINGLE, EFFECT_UPDATE_ATTACK, 10000, cm.con)
vgd.TriggerCountUp(c,m,1,cm.con2)
end
......
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.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.VSummonCondition)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation1,cm.cost,cm.condition)
end
function cm.filter(c)
......@@ -18,7 +18,7 @@ function cm.operation1(e,tp,eg,ep,ev,re,r,rp)
Duel.Draw(tp,1,REASON_EFFECT)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) and vgf.SoulBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) end
vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.SoulBlast(1)(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
vgf.cost.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.cost.SoulBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
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,vgf.SoulBlast(1),cm.condition)
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)
local c=e:GetHandler()
......
......@@ -2,7 +2,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.SetOrder(c)
vgd.AbilityAuto(c,m,loc,EFFECT_TYPE_SINGLE,EVENT_MOVE,vgf.SoulCharge(3),nil,cm.con)
vgd.AbilityAuto(c,m,loc,EFFECT_TYPE_SINGLE,EVENT_MOVE,vgf.op.SoulCharge(3),nil,cm.con)
vgd.CallInPrison(c,m)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
......
......@@ -10,9 +10,9 @@ 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)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return vgf.SoulBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) and vgf.Discard(1)(e,tp,eg,ep,ev,re,r,rp,chk) end
vgf.SoulBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.Discard(1)(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
vgf.cost.SoulBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.cost.Discard(1)(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()
......
......@@ -3,7 +3,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
--【自】【V/R】:这个单位的攻击击中先导者时,灵魂填充1。
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_HITTING,vgf.SoulCharge(1),nil,cm.condition)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_HITTING,vgf.op.SoulCharge(1),nil,cm.condition)
--【自】:这个单位被含有「道拉珠艾尔德」的单位RIDE时,灵魂填充1,你的灵魂里有3张以上的相互不同等级的卡的话,抽1张卡。
vgd.BeRidedByCard(c,m,cm.filter,cm.operation)
end
......@@ -12,7 +12,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()
vgf.SoulCharge(1)(e,tp,eg,ep,ev,re,r,rp)
vgf.op.SoulCharge(1)(e,tp,eg,ep,ev,re,r,rp)
if vgf.GetVMonster(tp):GetOverlayGroup():GetClassCount(Card.GetLevel)>=3 then
Duel.Draw(tp,1,REASON_EFFECT)
end
......
......@@ -3,7 +3,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
--【自】【R】:这个单位攻击时,你有含有「道拉珠艾尔德」的先导者的话,通过【费用】[计数爆发1],这次战斗中,这个单位的力量+10000。这次战斗结束时,将这个单位放置到灵魂里。
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.operation,vgf.CounterBlast(1),cm.condition)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.operation,vgf.cost.CounterBlast(1),cm.condition)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -4,7 +4,7 @@ function cm.initial_effect(c)
vgd.VgCard(c)
--【自】【R】:这个单位支援等级2以上的单位时,你可以灵魂填充1。
--时点需要改成支援时
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_CUSTOM+EVENT_SUPPORT,vgf.SoulCharge(1),vgf.True,cm.condition)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_CUSTOM+EVENT_SUPPORT,vgf.op.SoulCharge(1),vgf.True,cm.condition)
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetAttacker():IsLevelAbove(2) and eg:GetFirst()==e:GetHandler()
......
......@@ -3,7 +3,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
--【起】【R】【1回合1次】:你有等级3以上的先导者的话,通过【费用】[计数爆发2],抽1张卡。
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.operation,vgf.CounterBlast(2),cm.condition,nil,1)
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)
......
......@@ -3,7 +3,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
--【自】:这个单位登场到R时,你有含有「道拉珠艾尔德」的先导者的话,通过【费用】[灵魂爆发1],选择你的弃牌区中的1张卡,放置到灵魂里,这个回合中,这个单位的力量+2000。
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation,vgf.SoulBlast(1),cm.condition)
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())
......
......@@ -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.CounterBlast(1),vgf.RSummonCondition)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation,vgf.cost.CounterBlast(1),vgf.RSummonCondition)
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.BeRidedByCard(c,m,cm.filter,vgf.CardsFromTo(REASON_EFFECT,LOCATION_HAND,LOCATION_DROP,cm.filter1),vgf.CounterBlast(1))
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_CUSTOM+EVENT_SUPPORT,cm.operation1,vgf.SoulBlast(1),cm.condition1)
vgd.BeRidedByCard(c,m,cm.filter,vgf.op.CardsFromTo(REASON_EFFECT,LOCATION_HAND,LOCATION_DROP,cm.filter1),vgf.cost.CounterBlast(1))
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_CUSTOM+EVENT_SUPPORT,cm.operation1,vgf.cost.SoulBlast(1),cm.condition1)
end
function cm.filter(c)
return c:IsSetCard(0x202)
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.BeRidedByCard(c,m,10203002,cm.operation,vgf.SoulBlast(1))
vgd.BeRidedByCard(c,m,10203002,cm.operation,vgf.cost.SoulBlast(1))
vgd.AbilityCont(c, m, LOCATION_CIRCLE, EFFECT_TYPE_SINGLE, EFFECT_UPDATE_ATTACK, 2000, cm.con)
end
function cm.con(e)
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.operation,vgf.CounterBlast(2),cm.condition,nil,1)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.operation,vgf.cost.CounterBlast(2),cm.condition,nil,1)
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_FIELD,EVENT_SPSUMMON_SUCCESS,cm.operation,vgf.CounterBlast(1),cm.condition)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_SPSUMMON_SUCCESS,cm.operation,vgf.cost.CounterBlast(1),cm.condition)
end
function cm.condition(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_BATTLED,cm.operation,vgf.CostAnd(vgf.SoulBlast(1),vgf.LeaveFieldCost()),cm.condition)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_BATTLED,cm.operation,vgf.cost.And(vgf.cost.SoulBlast(1),vgf.cost.Retire()),cm.condition)
end
function cm.condition(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.Order(c,m,vgf.CardsFromTo(REASON_EFFECT,LOCATION_HAND,LOCATION_DECK,cm.filter),vgf.CounterBlast(1),cm.condition)
vgd.Order(c,m,vgf.op.CardsFromTo(REASON_EFFECT,LOCATION_HAND,LOCATION_DECK,cm.filter),vgf.cost.CounterBlast(1),cm.condition)
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return vgf.GetVMonster(tp):IsSetCard(0x202)
......
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.SoulBlast(1),vgf.VMonsterCondition)
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_BATTLED,cm.operation1,nil,cm.condition1)
vgd.GlobalCheckEffect(c,m,EVENT_SPSUMMON_SUCCESS,cm.checkcon)
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,vgf.CounterBlast(1),vgf.RSummonCondition)
vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation,vgf.cost.CounterBlast(1),vgf.RSummonCondition)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -2,5 +2,5 @@
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAuto(c, m,nil,nil,EVENT_TO_G_CIRCLE,nil,vgf.Discard(1))
vgd.AbilityAuto(c, m,nil,nil,EVENT_TO_G_CIRCLE,nil,vgf.cost.Discard(1))
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,vgf.SoulBlast(1),vgf.RMonsterCondition)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation,vgf.cost.SoulBlast(1),vgf.RMonsterCondition)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -2,7 +2,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.SetOrder(c)
vgd.AbilityAct(c,m,LOCATION_ORDER,cm.operation,vgf.CounterBlast(2),nil,nil,1)
vgd.AbilityAct(c,m,LOCATION_ORDER,cm.operation,vgf.cost.CounterBlast(2),nil,nil,1)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -23,7 +23,7 @@ function cm.initial_effect(c)
e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetRange(LOCATION_CREST)
e3:SetCountLimit(1)
e3:SetCost(vgf.EnergyBlast(7))
e3:SetCost(vgf.cost.EnergyBlast(7))
e3:SetOperation(cm.op3)
c:RegisterEffect(e3)
end
......
......@@ -22,8 +22,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)
if chk==0 then
return vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) and vgf.Discard(1)(e,tp,eg,ep,ev,re,r,rp,chk)
return vgf.cost.CounterBlast(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
vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.Discard(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.cost.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.cost.Discard(1)(e,tp,eg,ep,ev,re,r,rp,chk)
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.op,cm.cost,vgf.VMonsterCondition)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.op1,vgf.SoulBlast(5),cm.con,nil,nil,nil,2)
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
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
......
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.CounterBlast(1),vgf.VMonsterCondition)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.op,vgf.cost.CounterBlast(1),vgf.VMonsterCondition)
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.GlobalCheckEffect(c,m,EVENT_CHANGE_POS,cm.checkcon)
vgd.AbilityCont(c, m, LOCATION_CIRCLE, EFFECT_TYPE_SINGLE, EFFECT_UPDATE_ATTACK, 5000, cm.con)
vgd.AbilityCont(c, m, LOCATION_CIRCLE, EFFECT_TYPE_SINGLE, 1, EFFECT_UPDATE_CRITICAL, cm.con1)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_HITTING,cm.op,vgf.CounterBlast(1))
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_HITTING,cm.op,vgf.cost.CounterBlast(1))
end
function cm.checkcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsContains(e:GetHandler())
......
......@@ -2,7 +2,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityCont(c, m, LOCATION_CIRCLE, EFFECT_TYPE_SINGLE, EFFECT_UPDATE_ATTACK, 5000, cm.con)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.op,vgf.CounterBlast(2),cm.con1)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.op,vgf.cost.CounterBlast(2),cm.con1)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsPlayerAffectedByEffect(tp,AFFECT_CODE_DARK_NIGHT) or Duel.IsPlayerAffectedByEffect(tp,AFFECT_CODE_ABYSSAL_DARK_NIGHT)
......
......@@ -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.SoulBlast(1),vgf.RSummonCondition)
vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.op,vgf.cost.SoulBlast(1),vgf.RSummonCondition)
end
function cm.con(e)
local tp=e:GetHandlerPlayer()
......
......@@ -6,10 +6,10 @@ function cm.initial_effect(c)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
return vgf.CounterBlast(2)(e,tp,eg,ep,ev,re,r,rp,chk) and vgf.SoulBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
return vgf.cost.CounterBlast(2)(e,tp,eg,ep,ev,re,r,rp,chk) and vgf.cost.SoulBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
end
vgf.CounterBlast(2)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.SoulBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.cost.CounterBlast(2)(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)
......
......@@ -24,10 +24,10 @@ function cm.con1(e,tp,eg,ep,ev,re,r,rp)
end
function cm.cost1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
return vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) and vgf.SoulBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
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
vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.SoulBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.cost.CounterBlast(1)(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.op1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -13,5 +13,5 @@ function cm.initial_effect(c)
local e2=e1:Clone()
e2:SetCode(AFFECT_CODE_ALCHEMAGIC_DIFFERENT_NAME)
c:RegisterEffect(e2)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,vgf.CardsFromTo(REASON_EFFECT,LOCATION_CIRCLE,LOCATION_DROP),vgf.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.VMonsterCondition,nil,1)
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_ATTACK_ANNOUNCE,cm.op,vgf.CounterBlast(1),cm.con)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.op,vgf.cost.CounterBlast(1),cm.con)
end
function cm.con(e)
local c=e:GetHandler()
......
......@@ -2,7 +2,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.OverDress(c,10101009)
vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.op,vgf.CounterBlast(1),cm.con)
vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.op,vgf.cost.CounterBlast(1),cm.con)
end
function cm.con(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_FIELD,EVENT_HITTING,cm.op,vgf.CostAnd(vgf.CounterBlast(1),vgf.LeaveFieldCost()),cm.con)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_HITTING,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 code=vgf.GetVMonster(tp):GetCode()
vgf.CardsFromTo(REASON_EFFECT,LOCATION_HAND,LOCATION_DECK,cm.filter,1,0,code)
vgf.op.CardsFromTo(REASON_EFFECT,LOCATION_HAND,LOCATION_DECK,cm.filter,1,0,code)
end
function cm.filter(c,code)
return c:IsCode(code)
......
......@@ -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)
vgf.SoulCharge(1)(e,tp,eg,ep,ev,re,r,rp)
vgf.op.SoulCharge(1)(e,tp,eg,ep,ev,re,r,rp)
if c:IsRelateToEffect(e) and c:IsFaceup() then
vgf.AtkUp(c,c,10000)
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.SoulCharge(1),nil,vgf.RSummonCondition)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,cm.op,vgf.SoulBlast(3),vgf.RMonsterCondition,nil,1)
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)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
Duel.Draw(tp,1,REASON_EFFECT)
......
......@@ -5,10 +5,10 @@ function cm.initial_effect(c)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
return vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) and vgf.SoulBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
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
vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.SoulBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.cost.CounterBlast(1)(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)
if not vgf.CheckPrison(tp) then return end
......
......@@ -6,5 +6,5 @@ function cm.initial_effect(c)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
vgf.CounterCharge(1)(e,tp,eg,ep,ev,re,r,rp)
vgf.SoulCharge(1)(e,tp,eg,ep,ev,re,r,rp)
vgf.op.SoulCharge(1)(e,tp,eg,ep,ev,re,r,rp)
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_FIELD,EVENT_BATTLED,cm.op,vgf.CostAnd(vgf.SoulBlast(1),vgf.LeaveFieldCost()),cm.con)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_BATTLED,cm.op,vgf.cost.And(vgf.cost.SoulBlast(1),vgf.cost.Retire()),cm.con)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
Duel.Draw(tp,1,REASON_EFFECT)
......
......@@ -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.op,nil,vgf.RSummonCondition)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.op1,vgf.LeaveFieldCost(),vgf.RMonsterCondition)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.op1,vgf.cost.Retire(),vgf.RMonsterCondition)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetDecktopGroup(tp,3)
......
......@@ -12,7 +12,7 @@ end
--效果二处理
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
vgf.CardsFromTo(REASON_EFFECT,LOCATION_CIRCLE,LOCATION_DROP,cm.filter2)(e,tp,eg,ep,ev,re,r,rp)
vgf.op.CardsFromTo(REASON_EFFECT,LOCATION_CIRCLE,LOCATION_DROP,cm.filter2)(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetOperatedGroup()
vgf.AtkUp(c,g,5000)
end
......@@ -22,7 +22,7 @@ function cm.filter2(c)
end
--计数爆发1,灵魂爆发1
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) and vgf.SoulBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) end
vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.SoulBlast(1)(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
vgf.cost.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.cost.SoulBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
end
......@@ -5,7 +5,7 @@ function cm.initial_effect(c)
--【自】:这个单位被「沙尘之重炮 尤金」RIDE时,抽1张卡,选择你的弃牌区中的至多1张卡,放置到灵魂里。
vgd.BeRidedByCard(c,m,10401002,cm.operation)
--【自】【V/R】:这个单位攻击时,对手的后防者在2张以下的话,通过【费用】[计数爆发1],灵魂填充1,这次战斗中,这个单位的力量+5000。
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.operation1,vgf.CounterBlast(1),cm.condition)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.operation1,vgf.cost.CounterBlast(1),cm.condition)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
......@@ -17,7 +17,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
end
function cm.operation1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
vgf.SoulCharge(1)(e,tp,eg,ep,ev,re,r,rp,chk)
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)
......
......@@ -3,11 +3,11 @@ 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.CounterBlast(2),vgf.RSummonCondition)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation,vgf.cost.CounterBlast(2),vgf.RSummonCondition)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
vgf.SoulCharge(1)(e,tp,eg,ep,ev,re,r,rp)
vgf.op.SoulCharge(1)(e,tp,eg,ep,ev,re,r,rp)
local g=vgf.SelectMatchingCard(HINTMSG_LEAVEFIELD,e,tp,vgf.RMonsterFilter,tp,0,LOCATION_CIRCLE,1,1,nil)
if g:GetCount()>0 then
vgf.Sendto(LOCATION_DROP,g,REASON_EFFECT)
......
......@@ -3,7 +3,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
--【自】【R】:这个单位的攻击击中时,通过【费用】[将手牌中的1张卡舍弃],抽1张卡。
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_HITTING,cm.operation, vgf.Discard(1))
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_HITTING,cm.operation, vgf.cost.Discard(1))
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
Duel.Draw(tp,1,REASON_EFFECT)
......
......@@ -7,9 +7,9 @@ function cm.initial_effect(c)
end
--计数爆发1,灵魂爆发1
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) and vgf.SoulBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) end
vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.SoulBlast(1)(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
vgf.cost.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.cost.SoulBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
end
--选择对手的1张等级2以上的后防者
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
......
......@@ -3,9 +3,9 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
--【自】:这个单位登场到R时,你有「重力的支配者 磁力重压」的先导者的话,灵魂填充2。
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,vgf.SoulCharge(2),nil,cm.condition)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,vgf.op.SoulCharge(2),nil,cm.condition)
--【起】【R】:你的灵魂在10张以上的话,通过【费用】[计数爆发2],这个回合中,将当前存在于前列的你所有的单位的力量+5000。
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.operation,vgf.CounterBlast(2),cm.condition1)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.operation,vgf.cost.CounterBlast(2),cm.condition1)
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -5,13 +5,13 @@ 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.CounterBlast(1),vgf.RSummonCondition)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation1,vgf.cost.CounterBlast(1),vgf.RSummonCondition)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.Draw(tp,1,REASON_EFFECT)
vgf.SoulCharge(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.op.SoulCharge(1)(e,tp,eg,ep,ev,re,r,rp,chk)
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
......@@ -20,5 +20,5 @@ function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.Sendto(LOCATION_SOUL,g,rc)
end
function cm.operation1(e,tp,eg,ep,ev,re,r,rp)
vgf.SoulCharge(2)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.op.SoulCharge(2)(e,tp,eg,ep,ev,re,r,rp,chk)
end
\ No newline at end of file
......@@ -13,8 +13,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(nil,vgf.RMonsterFilter,tp,LOCATION_CIRCLE,0,1,c) and vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) end
vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
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
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)
vgf.Sendto(LOCATION_SOUL,g)
end
......
......@@ -3,11 +3,11 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
--通过【费用】[计数爆发1]施放!灵魂填充1。这之后,选择你的1个单位,你的灵魂里的卡每有5张,这个回合中,力量+10000。你的灵魂在10张以上的话,抽1张卡。
vgd.Order(c,m,cm.operation,vgf.CounterBlast(1))
vgd.Order(c,m,cm.operation,vgf.cost.CounterBlast(1))
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
vgf.SoulCharge(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.op.SoulCharge(1)(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATKUP)
local e1=vgf.GetMatchingGroupCount(nil,tp,LOCATION_SOUL,0,nil)/5
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.op,vgf.SoulBlast(1),vgf.RMonsterCondition,nil,1)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.op,vgf.cost.SoulBlast(1),vgf.RMonsterCondition,nil,1)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -8,9 +8,9 @@ function cm.con(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsPlayerAffectedByEffect(tp,AFFECT_CODE_ABYSSAL_DARK_NIGHT) and vgf.RSummonCondition(e)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) and vgf.SoulBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) end
vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.SoulBlast(1)(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
vgf.cost.CounterBlast(1)(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)
Duel.Draw(tp,1,REASON_EFFECT)
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_DISCARD,cm.op,vgf.CounterBlast(1),cm.con)
vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_DISCARD,cm.op,vgf.cost.CounterBlast(1),cm.con)
end
function cm.op(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.SetOrder(c,vgf.SoulBlast(1))
vgd.SetOrder(c,vgf.cost.SoulBlast(1))
vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_MOVE,cm.operation,nil,cm.condition)
vgd.DarkNight(c,m)--黑夜
end
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.op,vgf.SoulBlast(2),cm.con)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.op,vgf.cost.SoulBlast(2),cm.con)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -7,9 +7,9 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
Duel.Draw(tp,1,REASON_EFFECT)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) and vgf.SoulBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) end
vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.SoulBlast(1)(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
vgf.cost.CounterBlast(1)(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.con(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()==tp
......
......@@ -4,9 +4,9 @@ function cm.initial_effect(c)
vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.op,cm.cost,vgf.RSummonCondition)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return vgf.Rest(e:GetHandler())(e,tp,eg,ep,ev,re,r,rp,chk) and vgf.SoulBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) end
vgf.SoulBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.Rest(e:GetHandler())(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
vgf.cost.SoulBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.op.Rest(e:GetHandler())(e,tp,eg,ep,ev,re,r,rp,chk)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetDecktopGroup(tp,2)
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_MOVE,vgf.CounterCharge(1),vgf.SoulBlast(2),cm.con,nil,1)
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()
......
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.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.VSummonCondition)
vgd.AbilityCont(c, m, LOCATION_CIRCLE, EFFECT_TYPE_SINGLE, EFFECT_UPDATE_ATTACK, 5000, cm.con2)
vgd.GlobalCheckEffect(c,m,EVENT_CHAINING,cm.checkcon)
end
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.op,vgf.LeaveFieldCost(),vgf.RMonsterCondition)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.op,vgf.cost.Retire(),vgf.RMonsterCondition)
end
function cm.op(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.Order(c,m,cm.op,vgf.SoulBlast(2))
vgd.Order(c,m,cm.op,vgf.cost.SoulBlast(2))
end
function cm.op(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.Order(c,m,cm.op,vgf.CounterBlast(1),cm.con)
vgd.Order(c,m,cm.op,vgf.cost.CounterBlast(1),cm.con)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.Order(c,m,cm.op,vgf.SoulBlast(1))
vgd.Order(c,m,cm.op,vgf.cost.SoulBlast(1))
end
function cm.op(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
vgf.CardsFromTo(REASON_EFFECT,LOCATION_CIRCLE,LOCATION_DROP,cm.filter,1,1)(e,tp,eg,ep,ev,re,r,rp)
vgf.op.CardsFromTo(REASON_EFFECT,LOCATION_CIRCLE,LOCATION_DROP,cm.filter,1,1)(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetOperatedGroup()
vgf.AtkUp(c,g,10000)
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.op,vgf.CounterBlast(1),cm.con)
vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.op,vgf.cost.CounterBlast(1),cm.con)
end
function cm.con(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_MOVE,cm.op,vgf.SoulBlast(1),cm.con)
vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_MOVE,cm.op,vgf.cost.SoulBlast(1),cm.con)
end
function cm.op(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.BeRidedByCard(c,m,10401027,vgf.SoulCharge(1))
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_TO_GRAVE,cm.op,vgf.CostAnd(vgf.CounterBlast(1),vgf.LeaveFieldCost()),cm.con)
vgd.BeRidedByCard(c,m,10401027,vgf.op.SoulCharge(1))
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)
......
......@@ -4,7 +4,7 @@ function cm.initial_effect(c)
vgd.VgCard(c)
--【自】【R】:你的主要阶段中对手的后防者退场时,通过【费用】[将这个单位退场],查看你的牌堆顶的1张卡,你可以将查看的单位卡CALL到R上。没有这么做的话,将其余的查看的卡放置到灵魂里。
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,
EFFECT_TYPE_FIELD,EVENT_TO_GRAVE,cm.op,vgf.LeaveFieldCost(),cm.con)
EFFECT_TYPE_FIELD,EVENT_TO_GRAVE,cm.op,vgf.cost.Retire(),cm.con)
end
--你的主要阶段中对手的后防者退场时
function cm.con(e,tp,eg,ep,re,r,rp)
......
......@@ -3,7 +3,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
-- 【自】【R】:这个单位的攻击击中时,灵魂填充1。
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_HITTING,vgf.SoulCharge(1),nil,vgf.RMonsterCondition)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_HITTING,vgf.op.SoulCharge(1),nil,vgf.RMonsterCondition)
-- 【自】【R】:这个单位攻击的战斗结束时,你的灵魂在10张以上的话,通过【费用】[将这个单位放置到灵魂里],计数回充1
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_BATTLED,vgf.CounterCharge(1),cm.cost,cm.con)
end
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_CUSTOM+EVENT_SUPPORT,cm.op,vgf.CounterBlast(1),cm.con)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_CUSTOM+EVENT_SUPPORT,cm.op,vgf.cost.CounterBlast(1),cm.con)
end
function cm.con(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)
--【自】:这个单位登场到V时,灵魂填充1
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,vgf.SoulCharge(1),nil,vgf.VSummonCondition)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,vgf.op.SoulCharge(1),nil,vgf.VSummonCondition)
--【永】【R】:你的回合中,你的灵魂在10张以上的话,这个单位的力量+10000。
vgd.AbilityCont(c, m, LOCATION_CIRCLE, EFFECT_TYPE_SINGLE, EFFECT_UPDATE_ATTACK, 10000, cm.con2)
end
......
......@@ -4,7 +4,7 @@ function cm.initial_effect(c)
vgd.BlitzOrder(c,cm.op,nil,cm.con)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
return vgf.SoulBlast(5)(e,tp,eg,ep,ev,re,r,rp,0)
return vgf.cost.SoulBlast(5)(e,tp,eg,ep,ev,re,r,rp,0)
end
function cm.op(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,vgf.CardsFromTo(REASON_EFFECT,LOCATION_HAND,LOCATION_DECK,Card.IsSetCard,1,0,0x5040),nil,vgf.VSummonCondition)
vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,vgf.op.CardsFromTo(REASON_EFFECT,LOCATION_HAND,LOCATION_DECK,Card.IsSetCard,1,0,0x5040),nil,vgf.VSummonCondition)
vgd.AbilityCont(c, m, LOCATION_CIRCLE, EFFECT_TYPE_SINGLE, EFFECT_UPDATE_ATTACK, 2000, cm.con)
end
function cm.filter(c)
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAuto(c, m,nil,nil,EVENT_TO_G_CIRCLE,cm.op,vgf.CounterBlast(1))
vgd.AbilityAuto(c, m,nil,nil,EVENT_TO_G_CIRCLE,cm.op,vgf.cost.CounterBlast(1))
end
function cm.op(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.Order(c,m,cm.operation,vgf.SoulBlast(1))
vgd.Order(c,m,cm.operation,vgf.cost.SoulBlast(1))
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -4,7 +4,7 @@
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.Order(c,m,cm.operation,vgf.CounterBlast(2))
vgd.Order(c,m,cm.operation,vgf.cost.CounterBlast(2))
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -2,7 +2,7 @@
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.SetOrder(c,vgf.SoulBlast(1))
vgd.SetOrder(c,vgf.cost.SoulBlast(1))
vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_MOVE,cm.operation,nil,cm.condition)
vgd.DarkNight(c,m)
end
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_MOVE,cm.op,vgf.CounterBlast(2),cm.con)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_MOVE,cm.op,vgf.cost.CounterBlast(2),cm.con)
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()
......
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.CounterBlast(2),cm.con)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.op,vgf.cost.CounterBlast(2),cm.con)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
return vgf.IsExistingMatchingCard(Card.IsLevel,tp,LOCATION_CIRCLE+LOCATION_DROP,0,3,nil,3)
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_MOVE,cm.op,vgf.SoulBlast(1),cm.con,nil,1)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_MOVE,cm.op,vgf.cost.SoulBlast(1),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()
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.BeRidedByCard(c,m,10401046,cm.operation,vgf.CounterBlast(1))
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_MOVE,cm.op,vgf.CounterBlast(1),cm.con,nil,1)
vgd.BeRidedByCard(c,m,10401046,cm.operation,vgf.cost.CounterBlast(1))
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_MOVE,cm.op,vgf.cost.CounterBlast(1),cm.con,nil,1)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
Duel.Draw(tp,1,REASON_EFFECT)
......
......@@ -3,7 +3,7 @@ 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.CounterBlast(1),vgf.RMonsterCondition)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.operation,vgf.cost.CounterBlast(1),vgf.RMonsterCondition)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -4,7 +4,7 @@ function cm.initial_effect(c)
vgd.VgCard(c)
--【自】【R】:这个单位攻击先导者时,你的封锁区中有指令卡的话,
--这次战斗中,这个单位的力量+5000。
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.operation,vgf.CounterBlast(1),cm.condition)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.operation,vgf.cost.CounterBlast(1),cm.condition)
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -4,7 +4,7 @@ function cm.initial_effect(c)
vgd.VgCard(c)
--【起】【V】【1回合1次】:通过【费用】[灵魂爆发1],抽2张卡,
--选择你的手牌中的至多1张指令卡,舍弃,没有舍弃的话,选择手牌中的的2张卡舍弃。
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.operation,vgf.SoulBlast(1),vgf.VMonsterCondition,nil,1)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.operation,vgf.cost.SoulBlast(1),vgf.VMonsterCondition,nil,1)
--【永】【R】:这个回合中你施放过指令卡的话,这个单位的力量+2000。
vgd.AbilityCont(c, m, LOCATION_CIRCLE, EFFECT_TYPE_SINGLE, EFFECT_UPDATE_ATTACK, 2000, cm.con)
vgd.GlobalCheckEffect(c,m,EVENT_CHAINING,cm.checkcon)
......@@ -12,8 +12,8 @@ end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.Draw(tp,2,REASON_EFFECT)
if vgf.CardsFromTo(REASON_EFFECT,LOCATION_HAND,LOCATION_DROP,cm.filter,1,0)(e,tp,eg,ep,ev,re,r,rp)==0 then
vgf.CardsFromTo(REASON_EFFECT,LOCATION_HAND,LOCATION_DROP,nil,2,2)(e,tp,eg,ep,ev,re,r,rp)
if vgf.op.CardsFromTo(REASON_EFFECT,LOCATION_HAND,LOCATION_DROP,cm.filter,1,0)(e,tp,eg,ep,ev,re,r,rp)==0 then
vgf.op.CardsFromTo(REASON_EFFECT,LOCATION_HAND,LOCATION_DROP,nil,2,2)(e,tp,eg,ep,ev,re,r,rp)
end
end
function cm.filter(c)
......
......@@ -4,7 +4,7 @@ local cm,m,o=GetID()
--抽1张卡,将这张卡放置到灵魂里,计数回充1。
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.Order(c,m,cm.op,vgf.LeaveFieldCost(vgf.RMonsterFilter,2,2))
vgd.Order(c,m,cm.op,vgf.cost.Retire(vgf.RMonsterFilter,2,2))
vgf.AddAlchemagicFrom(c,m,"LOCATION_CIRCLE")
vgf.AddAlchemagicTo(c,m,"LOCATION_DROP")
vgf.AddAlchemagicFilter(c,m,vgf.RMonsterFilter)
......
......@@ -4,7 +4,7 @@ function cm.initial_effect(c)
--通过【费用】[计数爆发2]施放!
--选择对手的1张先导者,这次战斗中,那个单位的☆-1。
vgd.VgCard(c)
vgd.Order(c,m,cm.operation,vgf.CounterBlast(2))
vgd.Order(c,m,cm.operation,vgf.cost.CounterBlast(2))
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -14,7 +14,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
end
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) and vgf.Discard(1)(e,tp,eg,ep,ev,re,r,rp,chk) end
vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.Discard(1)(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.Discard(1)(e,tp,eg,ep,ev,re,r,rp,chk) end
vgf.cost.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.cost.Discard(1)(e,tp,eg,ep,ev,re,r,rp,chk)
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.OverDress(c,10101009)
vgd.AbilityAuto(c,m,LOCATION_HAND,EFFECT_TYPE_FIELD,EVENT_BATTLED,cm.op,vgf.SoulBlast(2),cm.con)
vgd.AbilityAuto(c,m,LOCATION_HAND,EFFECT_TYPE_FIELD,EVENT_BATTLED,cm.op,vgf.cost.SoulBlast(2),cm.con)
vgd.AbilityCont(c, m, LOCATION_CIRCLE, EFFECT_TYPE_SINGLE, EFFECT_UPDATE_ATTACK, 10000, cm.con2)
vgd.AbilityCont(c, m, LOCATION_G_CIRCLE, EFFECT_TYPE_SINGLE, 10000, EFFECT_UPDATE_DEFENSE, cm.con2)
end
......@@ -17,7 +17,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
vgf.Sendto(LOCATION_CIRCLE,c,SUMMON_VALUE_OVERDRESS,tp,vgf.SequenceToGlobal(tp,g:GetFirst():GetLocation(),g:GetFirst():GetSequence()))
end
end
vgf.SoulCharge(1)(e,tp,eg,ep,ev,re,r,rp)
vgf.op.SoulCharge(1)(e,tp,eg,ep,ev,re,r,rp)
end
function cm.filter(c)
return c:IsCode(10101009) and vgf.RMonsterFilter(c)
......
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,vgf.SoulCharge(1),nil,cm.con)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,vgf.op.SoulCharge(1),nil,cm.con)
vgd.AbilityAct(c,m,LOCATION_SOUL,cm.op,cm.cost)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
return vgf.VMonsterFilter(Duel.GetAttackTarget())
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) and vgf.LeaveFieldCost(e:GetHandler())(e,tp,eg,ep,ev,re,r,rp,chk) end
vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.LeaveFieldCost(e:GetHandler())(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.Retire(e:GetHandler())(e,tp,eg,ep,ev,re,r,rp,chk) end
vgf.cost.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.cost.Retire(e:GetHandler())(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()
......
......@@ -2,7 +2,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityCont(c, m, LOCATION_CIRCLE, EFFECT_TYPE_SINGLE, EFFECT_UPDATE_ATTACK, cm.val, vgf.RMonsterCondition)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_BATTLED,cm.op,vgf.LeaveFieldCost(10000001),cm.con)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_BATTLED,cm.op,vgf.cost.Retire(10000001),cm.con)
end
function cm.val(e)
local tp=e:GetHandlerPlayer()
......
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.CardsFromTo(REASON_EFFECT,LOCATION_CIRCLE,LOCATION_SOUL,Card.IsSetCard,1,1,0x78),nil,vgf.VSummonCondition)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.op,vgf.CostAnd(vgf.CounterBlast(1),vgf.LeaveFieldCost(vgf.RMonsterFilter,3,3)),nil,nil,1)
vgd.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.VSummonCondition)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.op,vgf.cost.And(vgf.cost.CounterBlast(1),vgf.cost.Retire(vgf.RMonsterFilter,3,3)),nil,nil,1)
end
function cm.op(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.op,vgf.SoulBlast(1),cm.con)
vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.op,vgf.cost.SoulBlast(1),cm.con)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_BECOME_TARGET,cm.op2,nil,cm.con2,nil,1)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
......
......@@ -8,14 +8,14 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
vgf.Sendto(LOCATION_DROP,g,REASON_EFFECT)
Duel.BreakEffect()
if vgf.GetVMonster(tp):IsCode(10101001) then
vgf.CardsFromTo(REASON_EFFECT,LOCATION_CIRCLE,LOCATION_DROP,Card.IsLevel,1,0,0)(e,tp,eg,ep,ev,re,r,rp)
vgf.op.CardsFromTo(REASON_EFFECT,LOCATION_CIRCLE,LOCATION_DROP,Card.IsLevel,1,0,0)(e,tp,eg,ep,ev,re,r,rp)
end
end
function cm.filter(c)
return vgf.FrontFilter(c) and vgf.RMonsterFilter(c)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) and vgf.SoulBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) end
vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.SoulBlast(1)(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
vgf.cost.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.cost.SoulBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
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.CounterBlast(1),cm.con)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.op,vgf.cost.CounterBlast(1),cm.con)
vgd.GlobalCheckEffect(c,m,EVENT_TO_GRAVE,cm.checkcon)
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_ATTACK_ANNOUNCE,cm.op,vgf.Discard(1),cm.con)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.op,vgf.cost.Discard(1),cm.con)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
return vgf.GetVMonster(tp):IsCode(10401003)
......@@ -14,6 +14,6 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
end
if vgf.GetVMonster(tp):GetOverlayCount()>=10 then
Duel.BreakEffect()
vgf.SoulCharge(1)
vgf.op.SoulCharge(1)
end
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_ATTACK_ANNOUNCE,cm.op,vgf.CounterBlast(1),cm.con)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.op,vgf.cost.CounterBlast(1),cm.con)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
return vgf.GetVMonster(tp):IsLevel(3)
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_CUSTOM+EVENT_SUPPORT,cm.op,vgf.CounterBlast(1),cm.con)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_CUSTOM+EVENT_SUPPORT,cm.op,vgf.cost.CounterBlast(1),cm.con)
end
function cm.con(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,nil,EVENT_TO_G_CIRCLE,cm.op,vgf.SoulBlast(1),cm.con)
vgd.AbilityAuto(c, m,nil,nil,EVENT_TO_G_CIRCLE,cm.op,vgf.cost.SoulBlast(1),cm.con)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
return vgf.IsExistingMatchingCard(cm.filter,tp,LOCATION_ORDER,0,1,nil)
......
......@@ -23,8 +23,8 @@ function cm.con(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.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) and vgf.SoulBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
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
vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.SoulBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.cost.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.cost.SoulBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
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,vgf.CostAnd(vgf.CounterBlast(1),vgf.Discard(1)),cm.condition)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation,vgf.cost.And(vgf.cost.CounterBlast(1),vgf.cost.Discard(1)),cm.condition)
end
function cm.condition(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.Order(c,m,cm.op,vgf.CostAnd(vgf.CounterBlast(1),vgf.SoulBlast(1)))
vgd.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.RMonsterFilter,tp,LOCATION_CIRCLE,LOCATION_CIRCLE,1,1,nil)
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.Order(c,m,cm.op,vgf.CounterBlast(1))
vgd.Order(c,m,cm.op,vgf.cost.CounterBlast(1))
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetDecktopGroup(tp,2)
......
......@@ -6,9 +6,9 @@ function cm.initial_effect(c)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return vgf.Rest(c)(e,tp,eg,ep,ev,re,r,rp,chk) and vgf.SoulBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) end
vgf.SoulBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.Rest(c)(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return vgf.op.Rest(c)(e,tp,eg,ep,ev,re,r,rp,chk) and vgf.cost.SoulBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) end
vgf.cost.SoulBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.op.Rest(c)(e,tp,eg,ep,ev,re,r,rp,chk)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
return vgf.RMonsterCondition(e) and vgf.GetVMonster(tp):IsCode(10401002)
......@@ -19,7 +19,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
end
function cm.op1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
vgf.Stand(c)(e,tp,eg,ep,ev,re,r,rp)
vgf.op.Stand(c)(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)
......
......@@ -2,7 +2,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.BeRidedByCard(c,m,cm.filter,cm.op)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.op1,vgf.SoulBlast(1),cm.con1,nil,1)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.op1,vgf.cost.SoulBlast(1),cm.con1,nil,1)
end
function cm.filter(c)
return c:IsSetCard(0x79)
......
......@@ -13,8 +13,8 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
vgf.EffectReset(c,e1,EVENT_BATTLED)
end
Duel.BreakEffect()
if vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,0) and Duel.SelectEffectYesNo(tp,vgf.stringid(VgID,10)) then
vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,1)
if vgf.cost.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,0) and Duel.SelectEffectYesNo(tp,vgf.stringid(VgID,10)) then
vgf.cost.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,1)
local g=vgf.SelectMatchingCard(HINTMSG_LEAVEFIELD,e,tp,cm.filter,tp,0,LOCATION_CIRCLE,1,1,nil)
vgf.Sendto(LOCATION_DROP,g,REASON_EFFECT)
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.CardsFromTo(REASON_EFFECT,LOCATION_CIRCLE,LOCATION_DROP,cm.filter),vgf.CounterBlast(1),vgf.RSummonCondition)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.op,vgf.CounterBlast(1),vgf.RMonsterCondition)
vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,vgf.op.CardsFromTo(REASON_EFFECT,LOCATION_CIRCLE,LOCATION_DROP,cm.filter),vgf.cost.CounterBlast(1),vgf.RSummonCondition)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.op,vgf.cost.CounterBlast(1),vgf.RMonsterCondition)
end
function cm.filter(c)
return c:IsLevel(0)
......
......@@ -8,5 +8,5 @@ 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 return vgf.IsExistingMatchingCard(nil,tp,LOCATION_HAND,0,1,nil) end
vgf.CardsFromTo(REASON_EFFECT,LOCATION_SOUL,LOCATION_HAND,nil,1)
vgf.op.CardsFromTo(REASON_EFFECT,LOCATION_SOUL,LOCATION_HAND,nil,1)
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.SoulBlast(1),vgf.RMonsterCondition)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.op,vgf.cost.SoulBlast(1),vgf.RMonsterCondition)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -8,10 +8,10 @@ function cm.con(e,tp,eg,ep,ev,re,r,rp)
return c:GetFlagEffect(FLAG_SUPPORT)>0 and vgf.GetVMonster(tp):IsCode(10401003)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
vgf.SoulCharge(1)(e,tp,eg,ep,ev,re,r,rp)
if vgf.GetVMonster(tp):GetOverlayCount()>=10 and vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,0) and Duel.SelectYesNo(tp,vgf.Stringid(VgID,10)) then
vgf.op.SoulCharge(1)(e,tp,eg,ep,ev,re,r,rp)
if vgf.GetVMonster(tp):GetOverlayCount()>=10 and vgf.cost.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,0) and Duel.SelectYesNo(tp,vgf.Stringid(VgID,10)) then
Duel.BreakEffect()
vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,1)
vgf.cost.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,1)
Duel.Draw(tp,2,REASON_EFFECT)
end
end
\ No newline at end of file
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.Order(c,m,cm.op,vgf.CostAnd(vgf.CounterBlast(1),vgf.Discard(1)))
vgd.Order(c,m,cm.op,vgf.cost.And(vgf.cost.CounterBlast(1),vgf.cost.Discard(1)))
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
vgf.SoulCharge(3)(e,tp,eg,ep,ev,re,r,rp)
vgf.op.SoulCharge(3)(e,tp,eg,ep,ev,re,r,rp)
if vgf.GetVMonster(tp):GetOverlayCount()>=10 then
vgf.CardsFromTo(REASON_EFFECT,LOCATION_HAND,LOCATION_SOUL,nil,1)(e,tp,eg,ep,ev,re,r,rp)
vgf.op.CardsFromTo(REASON_EFFECT,LOCATION_HAND,LOCATION_SOUL,nil,1)(e,tp,eg,ep,ev,re,r,rp)
end
end
\ No newline at end of file
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.Order(c,m,cm.op,vgf.CounterBlast(1))
vgd.Order(c,m,cm.op,vgf.cost.CounterBlast(1))
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.Draw(tp,1,REASON_EFFECT)
vgf.CardsFromTo(REASON_EFFECT,LOCATION_CIRCLE,LOCATION_HAND,vgf.IsCanBeCalled,1,1,e,tp)
vgf.op.CardsFromTo(REASON_EFFECT,LOCATION_CIRCLE,LOCATION_HAND,vgf.IsCanBeCalled,1,1,e,tp)
local ct=Duel.GetFlagEffectLabel(tp,FLAG_CONDITION)
if vgf.GetValueType(ct)=="number" and ct==10102001 then
Duel.BreakEffect()
......
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,vgf.CounterCharge(1),vgf.LeaveFieldCost(10000001),cm.con1)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_CUSTOM+EVENT_SUPPORT,vgf.CounterCharge(1),vgf.LeaveFieldCost(10000001),cm.con2)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,vgf.CounterCharge(1),vgf.cost.Retire(10000001),cm.con1)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_CUSTOM+EVENT_SUPPORT,vgf.CounterCharge(1),vgf.cost.Retire(10000001),cm.con2)
end
function cm.con1(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsPlayerAffectedByEffect(tp,AFFECT_CODE_ABYSSAL_DARK_NIGHT)
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.operation,vgf.Rest(),cm.con)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.operation,vgf.op.Rest(),cm.con)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
return vgf.RMonsterCondition(e) and vgf.GetMatchingGroupCount(cm.filter,tp,LOCATION_ORDER,0,nil)<=1
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.Order(c,m,cm.op,vgf.SoulBlast(1),cm.con)
vgd.Order(c,m,cm.op,vgf.cost.SoulBlast(1),cm.con)
end
function cm.op(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.op,vgf.SoulBlast(1),cm.con)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_MOVE,vgf.CounterCharge(1),vgf.CounterBlast(1),cm.con,nil,1)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.op,vgf.cost.SoulBlast(1),cm.con)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_MOVE,vgf.CounterCharge(1),vgf.cost.CounterBlast(1),cm.con,nil,1)
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.op,vgf.SoulBlast(1),cm.con)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.op,vgf.cost.SoulBlast(1),cm.con)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
return vgf.RSummonCondition(e) and vgf.GetVMonster(tp):IsSetCard(0x78)
......@@ -11,9 +11,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.CostAnd(vgf.SoulBlast(1),vgf.LeaveFieldCost(vgf.RMonsterFilter,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(vgf.RMonsterFilter,1,1,c))(e,tp,eg,ep,ev,re,r,rp,0) and Duel.SelectEffectYesNo(tp,vgf.stringid(VgID,10)) then
Duel.BreakEffect()
vgf.CostAnd(vgf.SoulBlast(1),vgf.LeaveFieldCost(vgf.RMonsterFilter,1,1,c))(e,tp,eg,ep,ev,re,r,rp,0)
vgf.cost.And(vgf.cost.SoulBlast(1),vgf.cost.Retire(vgf.RMonsterFilter,1,1,c))(e,tp,eg,ep,ev,re,r,rp,0)
local g=Duel.GetDecktopGroup(tp,5)
Duel.ConfirmCards(tp,g)
Duel.DisableShuffleCheck()
......
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,vgf.CostAnd(vgf.CounterBlast(1),vgf.LeaveFieldCost(vgf.RMonsterFilter,1,1,c)))
vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.op,vgf.cost.And(vgf.cost.CounterBlast(1),vgf.cost.Retire(vgf.RMonsterFilter,1,1,c)))
vgd.GlobalCheckEffect(c,m,EVENT_TO_GRAVE,cm.chkcon)
vgd.AbilityCont(c, m, LOCATION_R_CIRCLE, EFFECT_TYPE_SINGLE, EFFECT_UPDATE_ATTACK, 5000, cm.con)
end
......
......@@ -2,7 +2,7 @@
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.CardsFromTo(REASON_EFFECT,LOCATION_HAND,LOCATION_DECK,cm.filter),vgf.CounterBlast(1),cm.con2)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,vgf.op.CardsFromTo(REASON_EFFECT,LOCATION_HAND,LOCATION_DECK,cm.filter),vgf.cost.CounterBlast(1),cm.con2)
-- 【自】【V】:这个单位的攻击击中时,抽1张卡,选择你的1张含有「诚意真心」的后防者,这个回合中,力量+5000。
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_HITTING,cm.operation1,nil,vgf.VMonsterCondition)
end
......
......@@ -2,7 +2,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
-- 【起】【V】【1回合1次】:通过【费用】[计数爆发1],选择你的指令区中的1张正面表示的歌曲卡,将其歌唱。(发动歌曲卡的能力,那个能力结算完毕后将那张卡转为背面表示。)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.op,vgf.CounterBlast(1),vgf.VMonsterCondition,nil,1)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.op,vgf.cost.CounterBlast(1),vgf.VMonsterCondition,nil,1)
-- 补充一回合一次描述
-- 【自】【V】:这个单位攻击时,你的指令区中的背面表示的卡有2张以上的话,选择你的指令区中的1张卡正面表示的歌曲卡,将其歌唱,这次战斗中,对手不能将守护者从手牌CALL到G上。
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.op2,nil,cm.con2)
......
......@@ -5,7 +5,7 @@ function cm.initial_effect(c)
-- 【自】:这个单位登场到V时,选择你的封锁区中的1张卡,放置到牌堆底,放置了的话,将你的牌堆顶的1张卡正面封锁。
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.op1,nil,cm.con1)
-- 白翼-【起】【V】【1回合1次】:通过【费用】[计数爆发1],这个回合中,这个单位的☆+1。
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.op2,vgf.CounterBlast(1),cm.con2,nil,1)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.op2,vgf.cost.CounterBlast(1),cm.con2,nil,1)
-- 黑翼-【永】【V】:这个单位攻击的战斗中,对手不能将触发单位卡从手牌CALL到G上。
VgD.CannotCallToGCircleWhenAttack(c,m,function (e,re,tp)
return re:GetHandler():IsType(TYPE_TRIGGER) and re:GetHandler():IsLocation(LOCATION_HAND)
......
......@@ -3,7 +3,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
-- 【自】:这个单位被RIDE时,通过【费用】[将手牌中的1张〈幽灵〉的普通单位卡公开,放置到牌堆顶],选择你的弃牌区中的1张〈幽灵〉,加入手牌。
vgd.BeRidedByCard(c,m,nil,VgF.CardsFromTo(REASON_EFFECT,LOCATION_HAND,LOCATION_DROP,Card.IsSetCard,1,0,0xa013),cm.cost)
vgd.BeRidedByCard(c,m,nil,vgf.op.CardsFromTo(REASON_EFFECT,LOCATION_HAND,LOCATION_DROP,Card.IsSetCard,1,0,0xa013),cm.cost)
-- 【永】【V/R】:你的回合中,你的R上的〈幽灵〉有3张以上的话,这个单位的力量+5000。
vgd.AbilityCont(c, m, LOCATION_CIRCLE, EFFECT_TYPE_SINGLE, EFFECT_UPDATE_ATTACK, 5000, cm.con1)
end
......
......@@ -5,7 +5,7 @@ function cm.initial_effect(c)
-- 【永】【V】:你的回合中,你没有后防者的话,这个单位的力量+5000。
vgd.AbilityCont(c, m, LOCATION_CIRCLE, EFFECT_TYPE_SINGLE, EFFECT_UPDATE_ATTACK, 5000, cm.con1)
--【自】:通过在「认真的挑战者 克拉莉萨」上RIDE的方式将这个单位登场到V时,通过【费用】[灵魂爆发1],查看你的牌堆顶的7张卡,选择至多1张等级2以下的含有「诚意真心」的卡,公开后加入手牌,将其余的卡洗切后放置到牌堆底。
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation,vgf.SoulBlast(1),cm.con2)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation,vgf.cost.SoulBlast(1),cm.con2)
end
function cm.con1(e)
local c=e:GetHandler()
......
......@@ -3,7 +3,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
-- 【自】【V】【1回合1次】:你施放宝石卡时,抽1张卡。
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_CHAINING,vgf.Draw,nil,cm.con1,nil,1)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_CHAINING,vgf.op.Draw,nil,cm.con1,nil,1)
-- 【永】【G】:你的弃牌区中的宝石卡每有2张,这个单位的盾护+5000。
vgd.AbilityCont(c, m, LOCATION_G_CIRCLE, EFFECT_TYPE_SINGLE, cm.val, EFFECT_UPDATE_DEFENSE, nil)
end
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAct(c,m,LOCATION_R_CIRCLE,cm.op,vgf.CostAnd(vgf.CounterBlast(1), vgf.ToSoul))
vgd.AbilityAct(c,m,LOCATION_R_CIRCLE,cm.op,vgf.cost.And(vgf.cost.CounterBlast(1), vgf.cost.ToSoul))
vgd.CannotBeTarget(c, m, LOCATION_V_CIRCLE, EFFECT_TYPE_SINGLE, nil, vgf.BlackWings)
vgd.CannotBeAttackTarget(c, m, LOCATION_V_CIRCLE, EFFECT_TYPE_SINGLE, cm.val, vgf.BlackWings)
end
......@@ -10,7 +10,7 @@ function cm.val(e,c)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
vgf.Draw(0,1)(e,tp,eg,ep,ev,re,r,rp)
vgf.op.Draw(0,1)(e,tp,eg,ep,ev,re,r,rp)
local g = vgf.SelectMatchingCard(HINTMSG_SELF,e,tp,LOCATION_BIND,0,0,1,nil)
vgf.LevelUp(c,g,1)
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时,通过【费用】[灵魂爆发1],这个回合中,这个单位的力量+10000。
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.op,vgf.SoulBlast(1),cm.con)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.op,vgf.cost.SoulBlast(1),cm.con)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
......
......@@ -3,5 +3,5 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
-- 【自】:这个单位登场到R时,通过【费用】[灵魂爆发1,将手牌中的1张卡舍弃],选择你的弃牌区中的1张宝石卡,加入手牌。
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,vgf.CardsFromTo(REASON_EFFECT,LOCATION_HAND,LOCATION_DROP,Card.IsSetCard,1,1,0xc040),vgf.CostAnd(vgf.SoulBlast(1),vgf.Discard(1)),vgf.RSummonCondition)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,vgf.op.CardsFromTo(REASON_EFFECT,LOCATION_HAND,LOCATION_DROP,Card.IsSetCard,1,1,0xc040),vgf.cost.And(vgf.cost.SoulBlast(1),vgf.cost.Discard(1)),vgf.RSummonCondition)
end
\ No newline at end of file
......@@ -8,12 +8,12 @@ end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local code=vgf.GetVMonster(tp):GetCode()
vgf.CardsFromTo(REASON_EFFECT,LOCATION_HAND,LOCATION_DECK,Card.IsCode,1,0,code)(e,tp,eg,ep,ev,re,r,rp)
vgf.op.CardsFromTo(REASON_EFFECT,LOCATION_HAND,LOCATION_DECK,Card.IsCode,1,0,code)(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.IsExistingMatchingCard(cm.filter,tp,LOCATION_HAND,0,2,nil) and vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) end
vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return vgf.IsExistingMatchingCard(cm.filter,tp,LOCATION_HAND,0,2,nil) 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_CONFIRM,e,tp,cm.filter,tp,LOCATION_HAND,0,2,2,nil)
Duel.ConfirmCards(1-tp,g)
if vgf.Sendto(LOCATION_DECK,g,nil,SEQ_DECKTOP,REASON_COST)==#g then
......
......@@ -4,7 +4,7 @@ function cm.initial_effect(c)
vgd.VgCard(c)
-- 白翼(你的封锁区中的卡只有奇数的等级的场合才有效)
-- 【自】:这个单位登场到R时,通过【费用】[计数爆发1,灵魂爆发1],选择你的弃牌区中的1张力量8000的卡,加入手牌。
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,vgf.CardsFromTo(REASON_EFFECT,LOCATION_HAND,LOCATION_DROP,cm.filter),vgf.CostAnd(vgf.CounterBlast(1),vgf.SoulBlast(1)),cm.con)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,vgf.op.CardsFromTo(REASON_EFFECT,LOCATION_HAND,LOCATION_DROP,cm.filter),vgf.cost.And(vgf.cost.CounterBlast(1),vgf.cost.SoulBlast(1)),cm.con)
end
function cm.filter(c)
......
......@@ -3,7 +3,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
-- 【自】【后列的R】【1回合1次】:你的战斗阶段中你其他的单位登场到R时,通过【费用】[灵魂爆发2],抽1张卡。
VgD.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_SPSUMMON_SUCCESS,vgf.Draw,vgf.SoulBlast(2),cm.con,nil,1)
VgD.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_SPSUMMON_SUCCESS,vgf.op.Draw,vgf.cost.SoulBlast(2),cm.con,nil,1)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
local c = e:GetHandler()
......
......@@ -4,13 +4,13 @@ function cm.initial_effect(c)
vgd.VgCard(c)
-- 通过【费用】[计数爆发1]施放!
-- 抽2张卡,选择你的手牌的1张卡,舍弃。将这张卡放置到灵魂里。
vgd.Order(c,m,cm.operation,vgf.CounterBlast(1))
vgd.Order(c,m,cm.operation,vgf.cost.CounterBlast(1))
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.Draw(tp,2,REASON_EFFECT)
VgF.CardsFromTo(REASON_EFFECT,LOCATION_DROP,LOCATION_HAND,nil,1,1)(e,tp,eg,ep,ev,re,r,rp)
vgf.op.CardsFromTo(REASON_EFFECT,LOCATION_DROP,LOCATION_HAND,nil,1,1)(e,tp,eg,ep,ev,re,r,rp)
local rc=vgf.GetVMonster(tp)
if c:IsRelateToEffect(e) then
c:CancelToGrave()
......
......@@ -6,7 +6,7 @@ function cm.initial_effect(c)
vgd.SetOrder(c)
-- 【自】:这张卡被放置到指令区时,对手有等级3以上的先导者的话,抽1张卡。
vgd.AbilityAuto(c,m,loc,EFFECT_TYPE_SINGLE,EVENT_MOVE,vgf.Draw,nil,cm.con1)
vgd.AbilityAuto(c,m,loc,EFFECT_TYPE_SINGLE,EVENT_MOVE,vgf.op.Draw,nil,cm.con1)
-- 【自】【指令区】:这张歌曲卡被歌唱时,选择你的1张先导者,这个回合中,☆+1。
vgd.AbilityAuto(c,m,LOCATION_ORDER,EFFECT_TYPE_FIELD,EVENT_CUSTOM+EVENT_SING,cm.op,nil,cm.con)
......
......@@ -3,7 +3,7 @@ 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.op,vgf.CounterBlast(1),vgf.RMonsterCondition)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.op,vgf.cost.CounterBlast(1),vgf.RMonsterCondition)
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.VgCard(c)
-- 【自】【R】:这个单位攻击时,这个回合中你施放了指令卡的话,通过【费用】[灵魂爆发1],这个回合中,这个单位的力量+5000。
vgd.GlobalCheckEffect(c,m,EVENT_CHAIN_SOLVING,cm.checkcon)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.op,vgf.SoulBlast(1),cm.con)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.op,vgf.cost.SoulBlast(1),cm.con)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
......
......@@ -3,7 +3,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
-- 【自】【R】:你的含有「诚意真心」的单位被攻击时,通过【费用】[将这个单位退场],选择1张正在被攻击的单位,这次战斗中,力量+10000。
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_BE_BATTLE_TARGET,cm.op,vgf.LeaveFieldCost,cm.con)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_BE_BATTLE_TARGET,cm.op,vgf.cost.Retire,cm.con)
-- EFFECT_TYPE_FIELD
-- EVENT_BE_BATTLE_TARGET
end
......
......@@ -3,7 +3,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
-- 【自】:这个单位登场到R时,通过【费用】[计数爆发2],查看你的牌堆顶的5张卡,选择至多2张触发单位卡,CALL到不存在单位的R上,然后牌堆洗切。
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.op,vgf.CounterBlast(2),cm.con)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.op,vgf.cost.CounterBlast(2),cm.con)
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_ATTACK_ANNOUNCE,cm.operation,vgf.SoulBlast(1),cm.con)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.operation,vgf.cost.SoulBlast(1),cm.con)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
return vgf.RMonsterCondition(e) and vgf.BlackWings(e)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
vgf.SoulCharge(1)(e,tp,eg,ep,ev,re,r,rp)
vgf.op.SoulCharge(1)(e,tp,eg,ep,ev,re,r,rp)
local g=vgf.SelectMatchingCard(HINTMSG_RMONSTER,e,tp,vgf.RMonsterFilter,tp,0,LOCATION_CIRCLE,1,1,nil)
local tc=vgf.ReturnCard(g)
if tc then
......
......@@ -6,7 +6,7 @@ function cm.initial_effect(c)
vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.op,nil,cm.con)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
vgf.SoulCharge(1)(e,tp,eg,ep,ev,re,r,rp)
vgf.op.SoulCharge(1)(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) and c:IsFaceup() then
local e2=Effect.CreateEffect(c)
......
......@@ -12,7 +12,7 @@ function cm.con(e,tp,eg,ep,ev,re,r,rp)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
vgf.CardsFromTo(REASON_EFFECT,LOCATION_HAND,LOCATION_CIRCLE,cm.filter,0,1)(e,tp,eg,ep,ev,re,r,rp)
vgf.op.CardsFromTo(REASON_EFFECT,LOCATION_HAND,LOCATION_CIRCLE,cm.filter,0,1)(e,tp,eg,ep,ev,re,r,rp)
-- local g = vgf.SelectMatchingCard(HINTMSG_ATOHAND,e,tp,cm.filter,tp,LOCATION_CIRCLE,0,0,1,nil)
-- vgf.Sendto(LOCATION_HAND,g)
end
......
......@@ -3,7 +3,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
-- 【自】:这个单位被放置到G时,通过【费用】[灵魂爆发1],选择你的1个含有「诚意真心」的单位,这次战斗中,力量+10000。
vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_MOVE,cm.op,vgf.SoulBlast(1),cm.con)
vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_MOVE,cm.op,vgf.cost.SoulBlast(1),cm.con)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
......
......@@ -3,7 +3,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
-- 【自】:这个单位从手牌登场到R时,你其他的后防者有3张以上的话,通过【费用】[计数爆发1],抽1张卡。
vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,vgf.Draw,vgf.CounterBlast(1),cm.con)
vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,vgf.op.Draw,vgf.cost.CounterBlast(1),cm.con)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
......
......@@ -3,7 +3,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
-- 【自】:这个单位被放置到G时,通过【费用】[灵魂爆发1],你的指令区中的你的卡每有1张,这次战斗中,这个单位的盾护+5000。
vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_MOVE,cm.op,vgf.SoulBlast(1),cm.con)
vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_MOVE,cm.op,vgf.cost.SoulBlast(1),cm.con)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
local c = e:GetHandler()
......
......@@ -9,7 +9,7 @@ function cm.initial_effect(c)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
vgf.CardsFromTo(REASON_EFFECT,LOCATION_HAND,LOCATION_DROP,cm.filter,1,0)(e,tp,eg,ep,ev,re,r,rp)
vgf.op.CardsFromTo(REASON_EFFECT,LOCATION_HAND,LOCATION_DROP,cm.filter,1,0)(e,tp,eg,ep,ev,re,r,rp)
end
function cm.con(e)
......
......@@ -14,5 +14,5 @@ end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.Draw(tp,1,REASON_EFFECT)
vgf.CardsFromTo(REASON_EFFECT,LOCATION_DROP,LOCATION_HAND,nil,1,1)(e,tp,eg,ep,ev,re,r,rp)
vgf.op.CardsFromTo(REASON_EFFECT,LOCATION_DROP,LOCATION_HAND,nil,1,1)(e,tp,eg,ep,ev,re,r,rp)
end
\ No newline at end of file
......@@ -3,9 +3,9 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
-- 【自】:这个单位被RIDE时,通过【费用】[将手牌中的1张卡放置到灵魂里],从你的牌堆里探寻至多1张宝石卡,公开后加入手牌,然后牌堆洗切。
vgd.BeRidedByCard(c,m,nil,vgf.CardsFromTo(REASON_EFFECT,LOCATION_HAND,LOCATION_DECK,cm.filter,1,0),cm.cost1)
vgd.BeRidedByCard(c,m,nil,vgf.op.CardsFromTo(REASON_EFFECT,LOCATION_HAND,LOCATION_DECK,cm.filter,1,0),cm.cost1)
-- 【自】【R】:你施放指令卡时,通过【费用】[灵魂爆发1],这个回合中,这个单位的力量+5000。
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_CHAINING,cm.op,vgf.SoulBlast(1),cm.con)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_CHAINING,cm.op,vgf.cost.SoulBlast(1),cm.con)
end
function cm.op(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次】:通过【费用】[计数爆发1],选择你的1张先导者,这个回合中,力量+5000。
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.op,vgf.CounterBlast(1),vgf.RMonsterCondition,nil,1)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.op,vgf.cost.CounterBlast(1),vgf.RMonsterCondition,nil,1)
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.VgCard(c)
-- 白翼(你的封锁区中的卡只有奇数的等级的场合才有效)
-- 【自】【R】:这个单位支援时,通过【费用】[灵魂爆发2],选择你其他的1个单位,等级是奇数的这个单位以外的单位每有1个,这个回合中,那个单位的力量+5000。
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_CUSTOM+EVENT_SUPPORT,cm.op,vgf.SoulBlast(2),cm.con)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_CUSTOM+EVENT_SUPPORT,cm.op,vgf.cost.SoulBlast(2),cm.con)
end
function cm.op(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)
-- 【自】:你的回合中这张卡被从手牌舍弃时,通过【费用】[灵魂爆发1],将这张卡CALL到不存在单位的R上。
vgd.AbilityAuto(c,m,LOCATION_DROP,EFFECT_TYPE_SINGLE,EVENT_DISCARD,cm.op,vgf.SoulBlast(1),cm.con)
vgd.AbilityAuto(c,m,LOCATION_DROP,EFFECT_TYPE_SINGLE,EVENT_DISCARD,cm.op,vgf.cost.SoulBlast(1),cm.con)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.Order(c,m,cm.op,vgf.CounterBlast(1))
vgd.Order(c,m,cm.op,vgf.cost.CounterBlast(1))
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
Duel.Draw(tp,1,REASON_EFFECT)
......
......@@ -21,7 +21,7 @@ function cm.initial_effect(c)
e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetRange(LOCATION_CREST)
e3:SetCountLimit(1)
e3:SetCost(vgf.EnergyBlast(7))
e3:SetCost(vgf.cost.EnergyBlast(7))
e3:SetOperation(cm.op3)
c:RegisterEffect(e3)
end
......
......@@ -3,14 +3,14 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
--【起】【V】【1回合1次】:通过【费用】[计数爆发1],从你的牌堆里探寻至多1张与这个单位同名的卡,公开后加入手牌,然后牌堆洗切,这个回合中,这个单位的力量+10000。
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.operation,vgf.CounterBlast(1),vgf.VMonsterCondition,nil,1)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.operation,vgf.cost.CounterBlast(1),vgf.VMonsterCondition,nil,1)
--【自】【V】:这个单位攻击先导者时,通过【费用】[能量爆发4],选择对手的一张后方者,退场,这次战斗中,这个单位的力量+5000,⭐+1。
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.operation2,vgf.EnergyBlast(4),cm.condition)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.operation2,vgf.cost.EnergyBlast(4),cm.condition)
end
--效果一处理
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
vgf.CardsFromTo(REASON_EFFECT,LOCATION_HAND,LOCATION_DECK,cm.filter)(e,tp,eg,ep,ev,re,r,rp)
vgf.op.CardsFromTo(REASON_EFFECT,LOCATION_HAND,LOCATION_DECK,cm.filter)(e,tp,eg,ep,ev,re,r,rp)
if c:IsRelateToEffect(e) and c:IsFaceup() then
vgf.AtkUp(c,c,10000,nil)
end
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.op,vgf.CounterBlast(1),vgf.VMonsterCondition)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.op1,vgf.EnergyBlast(4),cm.con)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.op,vgf.cost.CounterBlast(1),vgf.VMonsterCondition)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.op1,vgf.cost.EnergyBlast(4),cm.con)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
vgf.CardsFromTo(REASON_EFFECT,LOCATION_HAND,LOCATION_DECK,cm.filter,1,0)(e,tp,eg,ep,ev,re,r,rp)
vgf.op.CardsFromTo(REASON_EFFECT,LOCATION_HAND,LOCATION_DECK,cm.filter,1,0)(e,tp,eg,ep,ev,re,r,rp)
if c:IsRelateToEffect(e) and c:IsFaceup() then
vgf.AtkUp(c,c,10000)
end
......
......@@ -3,14 +3,14 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
--【起】【V】【1回合1次】:通过【费用】[计数爆发1],从你的牌堆里探寻至多1张与这个单位同名的卡,公开后加入手牌,然后牌堆洗切,这个回合中,这个单位的力量+10000。
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.operation,vgf.CounterBlast(1),vgf.VMonsterCondition,nil,1)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.operation,vgf.cost.CounterBlast(1),vgf.VMonsterCondition,nil,1)
--【自】【V】:这个单位攻击先导者时,通过【费用】[能量爆发4],选择你的弃牌区中的1张等级3以下的普通单位卡,CALL到R上,这个回合中,那个单位的力量+10000。
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.operation2,vgf.EnergyBlast(4),cm.condition)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.operation2,vgf.cost.EnergyBlast(4),cm.condition)
end
--效果一处理
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
vgf.CardsFromTo(REASON_EFFECT,LOCATION_HAND,LOCATION_DECK,cm.filter)(e,tp,eg,ep,ev,re,r,rp)
vgf.op.CardsFromTo(REASON_EFFECT,LOCATION_HAND,LOCATION_DECK,cm.filter)(e,tp,eg,ep,ev,re,r,rp)
if c:IsRelateToEffect(e) and c:IsFaceup() then
vgf.AtkUp(c,c,10000,nil)
end
......@@ -27,7 +27,7 @@ end
--效果二处理
function cm.operation2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
vgf.CardsFromTo(REASON_EFFECT,LOCATION_CIRCLE,LOCATION_DROP,cm.filter2)(e,tp,eg,ep,ev,re,r,rp)
vgf.op.CardsFromTo(REASON_EFFECT,LOCATION_CIRCLE,LOCATION_DROP,cm.filter2)(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetOperatedGroup()
vgf.AtkUp(c,g,10000)
end
......
......@@ -3,14 +3,14 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
--【起】【V】【1回合1次】:通过【费用】[计数爆发1],从你的牌堆里探寻至多1张与这个单位同名的卡,公开后加入手牌,然后牌堆洗切,这个回合中,这个单位的力量+10000。
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.operation,vgf.CounterBlast(1),vgf.VMonsterCondition,nil,1)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.operation,vgf.cost.CounterBlast(1),vgf.VMonsterCondition,nil,1)
--自】【V】:这个单位攻击先导者时,通过【费用】[能量爆发4],选择你的1张后防者,返回手牌,选择你的手牌中的至多1张等级3以下的单位卡,CALL到不存在单位的R上,这个回合中,那个单位的力量+10000。(能量爆发4是通过消费4个能量来支付!)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.operation2,vgf.EnergyBlast(4),cm.condition)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.operation2,vgf.cost.EnergyBlast(4),cm.condition)
end
--效果一处理
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
vgf.CardsFromTo(REASON_EFFECT,LOCATION_HAND,LOCATION_DECK,cm.filter)(e,tp,eg,ep,ev,re,r,rp)
vgf.op.CardsFromTo(REASON_EFFECT,LOCATION_HAND,LOCATION_DECK,cm.filter)(e,tp,eg,ep,ev,re,r,rp)
if c:IsRelateToEffect(e) and c:IsFaceup() then
vgf.AtkUp(c,c,10000,nil)
end
......@@ -27,7 +27,7 @@ end
--效果二处理
function cm.operation2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
vgf.CardsFromTo(REASON_EFFECT,LOCATION_CIRCLE,LOCATION_HAND,cm.filter2)(e,tp,eg,ep,ev,re,r,rp)
vgf.op.CardsFromTo(REASON_EFFECT,LOCATION_CIRCLE,LOCATION_HAND,cm.filter2)(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetOperatedGroup()
vgf.AtkUp(c,g,10000)
end
......
......@@ -241,7 +241,7 @@ function VgD.RideOperation(e, tp, eg, ep, ev, re, r, rp)
local sc = sg:GetFirst()
if sc:IsLocation(LOCATION_RIDE) then
if Duel.IsPlayerAffectedByEffect(tp, AFFECT_CODE_OVERLAY_INSTEAD_WHEN_RIDE) and Duel.SelectYesNo(tp, VgF.Stringid(VgID, 14)) then
VgF.SoulBlast(1)(e, tp, eg, ep, ev, re, r, rp, 1)
vgf.cost.SoulBlast(1)(e, tp, eg, ep, ev, re, r, rp, 1)
else
Duel.Hint(HINT_SELECTMSG, tp, HINTMSG_DISCARD)
local g = Duel.SelectMatchingCard(tp, VgD.DisCardRideFilter, tp, LOCATION_HAND, 0, 1, 1, nil, e, lv, code, rc)
......@@ -1510,7 +1510,7 @@ end
---@param c Card 拥有这个效果的卡
---@return Effect 这个效果
function VgD.Grade0BeRide(c)
return vgd.BeRidedByCard(c,nil,nil,VgF.Draw(),nil,VgD.Grade0BeRideCondition)
return vgd.BeRidedByCard(c,nil,nil,vgf.op.Draw(),nil,VgD.Grade0BeRideCondition)
end
function VgD.Grade0BeRideCondition(e,tp,eg,ep,ev,re,r,rp)
return tp==1 and Duel.GetTurnPlayer()==tp
......@@ -1823,16 +1823,16 @@ function VgD.CallInPrisonCondition(val)
local eg, ep, ev, re, r, rp
if Duel.GetTurnPlayer() == e:GetHandlerPlayer() then return false end
if val == 1 then
return (VgF.SoulBlast(1)(e, tp, eg, ep, ev, re, r, rp, 0) and VgF.IsExistingMatchingCard(VgD.CallInPrisonFilter, tp, LOCATION_HAND, 0, 1, nil, e, tp))
return (vgf.cost.SoulBlast(1)(e, tp, eg, ep, ev, re, r, rp, 0) and VgF.IsExistingMatchingCard(VgD.CallInPrisonFilter, tp, LOCATION_HAND, 0, 1, nil, e, tp))
elseif val == 2 then
return (VgF.CounterBlast(1)(e, tp, eg, ep, ev, re, r, rp, 0) and VgF.IsExistingMatchingCard(VgD.CallInPrisonFilter, tp, LOCATION_HAND, 0, 2, nil, e, tp))
return (vgf.cost.CounterBlast(1)(e, tp, eg, ep, ev, re, r, rp, 0) and VgF.IsExistingMatchingCard(VgD.CallInPrisonFilter, tp, LOCATION_HAND, 0, 2, nil, e, tp))
end
end
end
function VgD.CallInPrisonOperation(val)
return function(e, tp, eg, ep, ev, re, r, rp, c, sg, og)
if val == 1 then
VgF.SoulBlast(1)(e, tp, eg, ep, ev, re, r, rp, 1)
vgf.cost.SoulBlast(1)(e, tp, eg, ep, ev, re, r, rp, 1)
local g = VgF.SelectMatchingCard(HINTMSG_CALL, e, tp, VgD.CallInPrisonFilter, tp, LOCATION_ORDER, 0, 1, 1, nil, e, tp)
if g:GetFirst():IsType(TYPE_UNIT) then
VgF.Sendto(LOCATION_CIRCLE, g, 0, tp)
......@@ -1840,7 +1840,7 @@ function VgD.CallInPrisonOperation(val)
VgF.Sendto(LOCATION_DROP, g, REASON_EFFECT)
end
elseif val == 2 then
VgF.CounterBlast(1)(e, tp, eg, ep, ev, re, r, rp, 1)
vgf.cost.CounterBlast(1)(e, tp, eg, ep, ev, re, r, rp, 1)
local tg = VgF.SelectMatchingCard(HINTMSG_CALL, e, tp, VgD.CallInPrisonFilter, tp, LOCATION_ORDER, 0, 2, 2, nil, e, tp)
local g = tg:Filter(Card.IsType, nil, TYPE_UNIT)
if g:GetCount() > 0 then
......
--VgF库
VgF = {}
vgf = VgF
VgF.Operation = {}
VgF.Cost = {}
VgF.op = VgF.Operation
VgF.cost = VgF.Cost
bit = {}
---@class Card
......@@ -567,30 +571,19 @@ function VgF.IsAbleToGCircle(c)
end
return false
end
---用于效果的Operation。它返回一个执行“[计数回充val]”的函数。
---@param val number 计数回充的数量
---@return function 效果的Operation函数
function VgF.CounterCharge(val)
return function (e, tp, eg, ep, ev, re, r, rp)
local c = e:GetHandler()
Duel.Hint(HINT_SELECTMSG, tp, HINTMSG_POSCHANGE)
local g = Duel.SelectMatchingCard(tp, Card.IsFacedown, tp, LOCATION_DAMAGE, 0, val, val, nil)
Duel.ChangePosition(g, POS_FACEUP_ATTACK)
return Duel.GetOperatedGroup():GetCount()
end
end
---用于效果的Cost。它返回一个执行“【费用】[将这个单位放置到灵魂里]”的函数。
function VgF.ToSoul(e,tp,eg,ep,ev,re,r,rp,chk)
return function ()
local c = e:GetHandler()
if chk == 0 then return c:IsRelateToEffect(e) end
VgF.Sendto(LOCATION_SOUL,c)
end
--Cost函数----------------------------------------------------------------------------------------
---用于效果的Cost。执行“[将这个单位放置到灵魂里]”的函数。
---@return boolean|nil
function VgF.Cost.ToSoul(e,tp,eg,ep,ev,re,r,rp,chk)
local c = e:GetHandler()
if chk == 0 then return c:IsRelateToEffect(e) end
VgF.Sendto(LOCATION_SOUL,c)
end
---用于效果的Cost。它返回一个执行“【费用】[将手牌中的val张卡舍弃]”的函数。
function VgF.CostAnd(...)
function VgF.Cost.And(...)
local funcs = {...}
return function (e, tp, eg, ep, ev, re, r, rp, chk)
for _, func in ipairs(funcs) do
......@@ -604,26 +597,10 @@ function VgF.CostAnd(...)
end
end
function VgF.Stand(c)
return function (e, tp, eg, ep, ev, re, r, rp, chk)
if VgF.GetValueType(c) ~= "Card" then c = e:GetHandler() end
if chk == 0 then return c:IsCanChangePosition() and c:IsPosition(POS_FACEUP_DEFENCE) and (c ~= e:GetHandler() or c:IsRelateToEffect(e)) end
Duel.ChangePosition(c, POS_FACEUP_ATTACK)
end
end
function VgF.Rest(c)
return function (e, tp, eg, ep, ev, re, r, rp, chk)
if VgF.GetValueType(c) ~= "Card" then c = e:GetHandler() end
if chk == 0 then return c:IsCanChangePosition() and c:IsPosition(POS_FACEUP_ATTACK) and (c ~= e:GetHandler() or c:IsRelateToEffect(e)) end
Duel.ChangePosition(c, POS_FACEUP_DEFENCE)
end
end
---用于效果的Cost。它返回一个执行“【费用】[将手牌中的val张卡舍弃]”的函数。
---@param val number 要舍弃的卡的数量
---@return function 效果的Cost函数
function VgF.Discard(val)
function VgF.Cost.Discard(val)
return function (e, tp, eg, ep, ev, re, r, rp, chk)
if VgF.GetValueType(val) ~= "number" then return 0 end
local c = e:GetHandler()
......@@ -646,7 +623,7 @@ end
---用于效果的Cost。它返回一个执行“【费用】[能量爆发val]”的函数。
---@param val number 能量爆发的数量
---@return function 效果的Cost函数
function VgF.EnergyBlast(val)
function VgF.Cost.EnergyBlast(val)
return function (e, tp, eg, ep, ev, re, r, rp, chk)
if VgF.GetValueType(val) ~= "number" then return 0 end
local c = e:GetHandler()
......@@ -669,7 +646,7 @@ end
---用于效果的Cost。它返回一个执行“【费用】[灵魂爆发val]”的函数。
---@param val number 灵魂爆发的数量
---@return function 效果的Cost函数
function VgF.SoulBlast(val)
function VgF.Cost.SoulBlast(val)
return function (e, tp, eg, ep, ev, re, r, rp, chk)
if VgF.GetValueType(val) ~= "number" then return 0 end
local c = e:GetHandler()
......@@ -689,35 +666,11 @@ function VgF.SoulBlast(val)
return VgF.Sendto(LOCATION_DROP, g, REASON_COST)
end
end
---用于效果的Cost或Operation。它返回一个执行“【费用】[灵魂填充val]”的函数。
---@param val number 灵魂填充的数量
---@return function 效果的Cost或Operation函数
function VgF.SoulCharge(val)
return function (e, tp, eg, ep, ev, re, r, rp, chk)
if VgF.GetValueType(val) ~= "number" then return 0 end
local c = e:GetHandler()
local m = c:GetOriginalCode()
if chk == 0 then
if e:IsHasType(EFFECT_TYPE_ACTIVATE) then
VgF.AddAlchemagicFrom(c, m, "LOCATION_DECK")
VgF.AddAlchemagicTo(c, m, "LOCATION_SOUL")
VgF.AddAlchemagicFilter(c, m, nil)
VgF.AddAlchemagicCountMin(c, m, val)
VgF.AddAlchemagicCountMax(c, m, val)
end
return Duel.GetFieldGroupCount(tp, LOCATION_DECK, 0) >= val
end
local rc = Duel.GetMatchingGroup(VgF.VMonsterFilter, 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)
return VgF.Sendto(LOCATION_SOUL, g, rc)
end
end
---用于效果的Cost。它返回一个执行“【费用】[计数爆发val]”的函数。
---@param val number 计数爆发的数量
---@return function 效果的Cost函数
function VgF.CounterBlast(val)
function VgF.Cost.CounterBlast(val)
return function (e, tp, eg, ep, ev, re, r, rp, chk)
if VgF.GetValueType(val) ~= "number" then return 0 end
local c = e:GetHandler()
......@@ -745,13 +698,13 @@ end
---@param except Card|nil
---@param ... any
---@return function 效果的Cost函数
function VgF.LeaveFieldCost(card_code_func, max, min, except, ...)
function VgF.Cost.Retire(card_code_func, max, min, except, ...)
if not card_code_func then
return VgF.LeaveFieldCostGroup()
return VgF.Cost.RetireGroup()
elseif VgF.GetValueType(card_code_func) == "Card" then
return VgF.LeaveFieldCostGroup(Group.FromCards(card_code_func))
return VgF.Cost.RetireGroup(Group.FromCards(card_code_func))
elseif VgF.GetValueType(card_code_func) == "Group" then
return VgF.LeaveFieldCostGroup(card_code_func)
return VgF.Cost.RetireGroup(card_code_func)
end
local ex_params = {...}
min, max = min or 1, max or 1
......@@ -765,13 +718,13 @@ function VgF.LeaveFieldCost(card_code_func, max, min, except, ...)
return function(e, tp, eg, ep, ev, re, r, rp, chk)
leave_filter = function(c) return leave_filter(c, table.unpack(ex_params)) and c:IsAbleToGraveAsCost() end
local g = VgF.GetMatchingGroup(leave_filter, tp, LOCATION_CIRCLE, 0, except)
if chk == 0 then return g:CheckSubGroup(VgF.LeaveFieldCostFilter, 1, max, min, e, tp) end
if chk == 0 then return g:CheckSubGroup(VgF.Cost.RetireFilter, 1, max, min, e, tp) end
Duel.Hint(HINT_SELECTMSG, tp, HINTMSG_LEAVEFIELD)
g = g:SelectSubGroup(tp, VgF.LeaveFieldCostFilter, false, 1, max, min, e, tp)
g = g:SelectSubGroup(tp, VgF.Cost.RetireFilter, false, 1, max, min, e, tp)
VgF.Sendto(LOCATION_DROP, g, REASON_COST)
end
end
function VgF.LeaveFieldCostFilter(g, min, e, tp)
function VgF.Cost.RetireFilter(g, min, e, tp)
local fg = g:Filter(Card.IsHasEffect, nil, EFFECT_EXTRA_LEAVEFIELD_COUNT)
if #fg == 0 then return #g >= min end
local val_total = 0
......@@ -791,7 +744,7 @@ function VgF.LeaveFieldCostFilter(g, min, e, tp)
return #g >= min
end
---将 自己/g 退场
function VgF.LeaveFieldCostGroup(g)
function VgF.Cost.RetireGroup(g)
return function (e, tp, eg, ep, ev, re, r, rp, chk)
g = g or Group.FromCards(e:GetHandler())
local fg = g:Filter(function(c) return c:IsAbleToGraveAsCost() and (c ~= e:GetHandler() or c:IsRelateToEffect(e)) end, nil)
......@@ -812,11 +765,89 @@ function VgF.IsCanBeCalled(c, e, tp, sumtype, pos, zone)
end
return z > 0 and c:IsCanBeSpecialSummoned(e, sumtype, tp, false, false, pos, tp, zone)
end
--Cost和Operation均可使用的函数------------------------------------------------------
---它返回一个执行“[将单位横置]”的函数。
---@param c Card 横置的卡
---@return function 效果的Cost或Operation函数
function VgF.Operation.Stand(c)
return function (e, tp, eg, ep, ev, re, r, rp, chk)
if VgF.GetValueType(c) ~= "Card" then c = e:GetHandler() end
if chk == 0 then return c:IsCanChangePosition() and c:IsPosition(POS_FACEUP_DEFENCE) and (c ~= e:GetHandler() or c:IsRelateToEffect(e)) end
Duel.ChangePosition(c, POS_FACEUP_ATTACK)
end
end
---它返回一个执行“[将单位横置]”的函数。
---@param c Card 横置的卡
---@return function 效果的Cost或Operation函数
function VgF.Operation.Rest(c)
return function (e, tp, eg, ep, ev, re, r, rp, chk)
if VgF.GetValueType(c) ~= "Card" then c = e:GetHandler() end
if chk == 0 then return c:IsCanChangePosition() and c:IsPosition(POS_FACEUP_ATTACK) and (c ~= e:GetHandler() or c:IsRelateToEffect(e)) end
Duel.ChangePosition(c, POS_FACEUP_DEFENCE)
end
end
---用于效果的Cost或Operation。它返回一个执行“【费用】[灵魂填充val]”的函数。
---@param val number 灵魂填充的数量
---@return function 效果的Cost或Operation函数
function VgF.Operation.SoulCharge(val)
return function (e, tp, eg, ep, ev, re, r, rp, chk)
if VgF.GetValueType(val) ~= "number" then return 0 end
local c = e:GetHandler()
local m = c:GetOriginalCode()
if chk == 0 then
if e:IsHasType(EFFECT_TYPE_ACTIVATE) then
VgF.AddAlchemagicFrom(c, m, "LOCATION_DECK")
VgF.AddAlchemagicTo(c, m, "LOCATION_SOUL")
VgF.AddAlchemagicFilter(c, m, nil)
VgF.AddAlchemagicCountMin(c, m, val)
VgF.AddAlchemagicCountMax(c, m, val)
end
return Duel.GetFieldGroupCount(tp, LOCATION_DECK, 0) >= val
end
local rc = Duel.GetMatchingGroup(VgF.VMonsterFilter, 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)
return VgF.Sendto(LOCATION_SOUL, g, rc)
end
end
--Operation函数------------------------------------------------------
---用于效果的Operation。它返回一个执行“[计数回充val]”的函数。
---@param val number 计数回充的数量
---@return function 效果的Operation函数
function VgF.CounterCharge(val)
return function (e, tp, eg, ep, ev, re, r, rp)
local c = e:GetHandler()
Duel.Hint(HINT_SELECTMSG, tp, HINTMSG_POSCHANGE)
local g = Duel.SelectMatchingCard(tp, Card.IsFacedown, tp, LOCATION_DAMAGE, 0, val, val, nil)
Duel.ChangePosition(g, POS_FACEUP_ATTACK)
return Duel.GetOperatedGroup():GetCount()
end
end
---玩家抽1张卡
---@param p number 0:自己 1:对手 默认为0
---@param count number 抽count数量的卡 默认为1
function VgF.Operation.Draw(p, count)
p = (VgF.GetValueType(p) ~= "number" or p < 0 or p > 1) and 0 or p
count = VgF.GetValueType(count) ~= "number" and 1 or count
return function (e,tp,eg,ep,ev,re,r,rp)
local draw_player = p == 0 and tp or (1 - tp)
Duel.Draw(draw_player, count, REASON_EFFECT)
end
end
---用于效果的Operation。执行“从loc_from中选取最少int_min,最多int_max张满足f的卡,送去loc_to。”。
---@param loc_to number 要送去的区域。不填则返回0。
---@param loc_from number 要选取的区域。不填则返回0。
---@param f function|nil 卡片过滤的条件
function VgF.CardsFromTo(reason ,loc_to, loc_from, f, int_max, int_min, ...)
function VgF.Operation.CardsFromTo(reason ,loc_to, loc_from, f, int_max, int_min, ...)
local ext_params = {...}
return function (e, tp, eg, ep, ev, re, r, rp)
if not loc_to or not loc_from then return 0 end
......@@ -1482,18 +1513,6 @@ function VgF.PlayerEffect(e, tp, eg, ep, ev, re, r, rp)
return true
end
---玩家抽1张卡
---@param p number 0:自己 1:对手 默认为0
---@param count number 抽count数量的卡 默认为1
function VgF.Draw(p, count)
p = (VgF.GetValueType(p) ~= "number" or p < 0 or p > 1) and 0 or p
count = VgF.GetValueType(count) ~= "number" and 1 or count
return function (e,tp,eg,ep,ev,re,r,rp)
local draw_player = p == 0 and tp or (1 - tp)
Duel.Draw(draw_player, count, REASON_EFFECT)
end
end
---创建一个函数检查器 检查func是否为nil或函数
function VgF.IllegalFunctionCheck(name, c)
if VgF.GetValueType(c) ~= "Card" then Debug.Message("VgD."..name.." param c isn't Card") end
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment