Commit a689b60c authored by xiaoye's avatar xiaoye

fix

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