Commit ebc93bab authored by xiaoye's avatar xiaoye

更改变量名

parent e8c5e12f
...@@ -73,7 +73,7 @@ function cm.initial_effect(c) ...@@ -73,7 +73,7 @@ function cm.initial_effect(c)
vgf.VgCard(c) vgf.VgCard(c)
--在这之后加入需要注册的效果 --在这之后加入需要注册的效果
local e1=Effect.CreateEffect(c)--创建一个效果 local e1=Effect.CreateEffect(c)--创建一个效果
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)--效果的类型 e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_SET)--效果的类型
e1:SetCode(EVENT_BE_MATERIAL)--什么情况下会发动这个效果 e1:SetCode(EVENT_BE_MATERIAL)--什么情况下会发动这个效果
e1:SetProperty(EFFECT_FLAG_EVENT_PLAYER) e1:SetProperty(EFFECT_FLAG_EVENT_PLAYER)
e1:SetCondition(cm.condition)--效果的条件 e1:SetCondition(cm.condition)--效果的条件
...@@ -153,7 +153,7 @@ vgd.Order(c, m, op, con, cost) ...@@ -153,7 +153,7 @@ 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.DamageCost(1)) vgd.Order(c,m,cm.operation,vgf.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()
...@@ -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.DisCardCost(1),nil,nil,1) vgd.AbilityAct(c,m,LOCATION_CIRCLE,vgf.CardsFromTo(REASON_EFFECT,LOCATION_HAND,LOCATION_CIRCLE,LOCATION_DROP,cm.filter),vgf.Discard(1),nil,nil,1)
end end
function cm.filter(c) function cm.filter(c)
return c:IsLevel(0) return c:IsLevel(0)
......
...@@ -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.DisCardCost(1),vgf.VMonsterCondition,nil,1) vgd.AbilityAct(c,m,LOCATION_CIRCLE,vgf.CardsFromTo(REASON_EFFECT,LOCATION_CIRCLE,LOCATION_DROP,cm.filter),vgf.Discard(1),vgf.VMonsterCondition,nil,1)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.operation,vgf.DamageCost(1),vgf.VMonsterCondition) vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.operation,vgf.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.OverlayCost(1)) vgd.BeRidedByCard(c,m,10101001,vgf.CardsFromTo(REASON_EFFECT,LOCATION_HAND,LOCATION_DECK,cm.filter),vgf.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)
......
...@@ -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.OverlayCost(2)(e,tp,eg,ep,ev,re,r,rp,0) and Duel.SelectEffectYesNo(tp,vgf.stringid(VgID,10)) then if vgf.SoulBlast(2)(e,tp,eg,ep,ev,re,r,rp,0) and Duel.SelectEffectYesNo(tp,vgf.stringid(VgID,10)) then
vgf.OverlayCost(2)(e,tp,eg,ep,ev,re,r,rp,1) vgf.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.DisCardCost(1)) vgd.AbilityAuto(c, m,nil,nil,EVENT_TO_G_CIRCLE,nil,vgf.Discard(1))
end end
\ No newline at end of file
...@@ -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.Order(c,m,cm.operation,vgf.DamageCost(1)) vgd.Order(c,m,cm.operation,vgf.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()
......
...@@ -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.OverlayCost(5),cm.con2) vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.op2,vgf.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.OverlayFill(1)(e,tp,eg,ep,ev,re,r,rp) vgf.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.OverlayFill(1) vgf.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.DamageCost(1)) vgd.AbilityAuto(c, m,nil,nil,EVENT_TO_G_CIRCLE,cm.op,vgf.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.OverlayFill(num)(e,tp,eg,ep,ev,re,r,rp) vgf.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.DisCardCost(1)) vgd.AbilityAuto(c, m,nil,nil,EVENT_TO_G_CIRCLE,nil,vgf.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.OverlayFill(2)) vgd.Order(c,m,vgf.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.DisCardCost(1),cm.condition,nil,1) vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_BATTLED,cm.operation,vgf.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.DamageCost(1),vgf.RMonsterCondition,nil,1) vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.operation2,vgf.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.DamageCost(1),vgf.RMonsterCondition) vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.operation,vgf.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.OverlayCost(2),vgf.RMonsterCondition) vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.operation,vgf.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.DisCardCost(1)) vgd.AbilityAuto(c, m,nil,nil,EVENT_TO_G_CIRCLE,nil,vgf.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.DamageCost(1),cm.condition) vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_BATTLED,cm.operation,vgf.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.OverlayCost(1)) vgd.BeRidedByCard(c,m,10104001,cm.operation,vgf.SoulBlast(1))
--【自】【后列的R】:这个单位攻击先导者时,通过【费用】[灵魂爆发1],这次战斗中,这个单位的力量+10000。 --【自】【后列的R】:这个单位攻击先导者时,通过【费用】[灵魂爆发1],这次战斗中,这个单位的力量+10000。
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.operation2,vgf.OverlayCost(1),cm.condition) vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.operation2,vgf.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.OverlayCost(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.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.OverlayCost(1)(e,tp,eg,ep,ev,re,r,rp,chk) vgf.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.OverlayCost(2),vgf.RMonsterCondition,nil,1) vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.operation,vgf.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.DisCardCost(1)) vgd.AbilityAuto(c, m,nil,nil,EVENT_TO_G_CIRCLE,nil,vgf.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.DamageCost(1),nil,nil,1) vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.op1,vgf.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
......
...@@ -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.DamageCost(1)(e,tp,eg,ep,ev,re,r,rp,chk) and vgf.OverlayCost(1)(e,tp,eg,ep,ev,re,r,rp,chk) end if chk==0 then return vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) and vgf.SoulBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) end
vgf.DamageCost(1)(e,tp,eg,ep,ev,re,r,rp,chk) vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.OverlayCost(1)(e,tp,eg,ep,ev,re,r,rp,chk) vgf.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.OverlayCost(1),cm.condition) vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation,vgf.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.OverlayFill(3),nil,cm.con) vgd.AbilityAuto(c,m,loc,EFFECT_TYPE_SINGLE,EVENT_MOVE,vgf.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.OverlayCost(1)(e,tp,eg,ep,ev,re,r,rp,chk) and vgf.DisCardCost(1)(e,tp,eg,ep,ev,re,r,rp,chk) end if chk==0 then return vgf.SoulBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) and vgf.Discard(1)(e,tp,eg,ep,ev,re,r,rp,chk) end
vgf.OverlayCost(1)(e,tp,eg,ep,ev,re,r,rp,chk) vgf.SoulBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.DisCardCost(1)(e,tp,eg,ep,ev,re,r,rp,chk) vgf.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()
......
...@@ -12,7 +12,7 @@ function cm.initial_effect(c) ...@@ -12,7 +12,7 @@ function cm.initial_effect(c)
if not cm.global_check then if not cm.global_check then
cm.global_check=true cm.global_check=true
local ge1=Effect.CreateEffect(c) local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_SET)
ge1:SetCode(EVENT_MOVE) ge1:SetCode(EVENT_MOVE)
ge1:SetCondition(cm.checkcon) ge1:SetCondition(cm.checkcon)
ge1:SetOperation(cm.checkop) ge1:SetOperation(cm.checkop)
......
...@@ -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.OverlayFill(1),nil,cm.condition) vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_HITTING,vgf.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.OverlayFill(1)(e,tp,eg,ep,ev,re,r,rp) vgf.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
......
...@@ -21,7 +21,7 @@ function cm.operation2(e,tp,eg,ep,ev,re,r,rp) ...@@ -21,7 +21,7 @@ function cm.operation2(e,tp,eg,ep,ev,re,r,rp)
local e2=vgf.AtkUp(c,c,5000) local e2=vgf.AtkUp(c,c,5000)
vgf.EffectReset(c,e2,EVENT_BATTLED) vgf.EffectReset(c,e2,EVENT_BATTLED)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_SET)
e1:SetCode(EVENT_BATTLED) e1:SetCode(EVENT_BATTLED)
e1:SetRange(LOCATION_CIRCLE) e1:SetRange(LOCATION_CIRCLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD) e1:SetReset(RESET_EVENT+RESETS_STANDARD)
......
...@@ -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.DamageCost(1),cm.condition) vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.operation,vgf.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()
...@@ -11,7 +11,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -11,7 +11,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local e2=vgf.AtkUp(c,c,10000) local e2=vgf.AtkUp(c,c,10000)
vgf.EffectReset(c,e2,EVENT_BATTLED) vgf.EffectReset(c,e2,EVENT_BATTLED)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_SET)
e1:SetCode(EVENT_BATTLED) e1:SetCode(EVENT_BATTLED)
e1:SetRange(LOCATION_CIRCLE) e1:SetRange(LOCATION_CIRCLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD) e1:SetReset(RESET_EVENT+RESETS_STANDARD)
......
...@@ -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.OverlayFill(1),vgf.True,cm.condition) vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_CUSTOM+EVENT_SUPPORT,vgf.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.DamageCost(2),cm.condition,nil,1) vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.operation,vgf.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.OverlayCost(1),cm.condition) vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation,vgf.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.DamageCost(1),vgf.RSummonCondition) vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation,vgf.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.DamageCost(1)) vgd.BeRidedByCard(c,m,cm.filter,vgf.CardsFromTo(REASON_EFFECT,LOCATION_HAND,LOCATION_DROP,cm.filter1),vgf.CounterBlast(1))
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_CUSTOM+EVENT_SUPPORT,cm.operation1,vgf.OverlayCost(1),cm.condition1) vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_CUSTOM+EVENT_SUPPORT,cm.operation1,vgf.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.OverlayCost(1)) vgd.BeRidedByCard(c,m,10203002,cm.operation,vgf.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)
......
...@@ -6,7 +6,7 @@ function cm.initial_effect(c) ...@@ -6,7 +6,7 @@ function cm.initial_effect(c)
if not cm.global_check then if not cm.global_check then
cm.global_check=true cm.global_check=true
local ge1=Effect.CreateEffect(c) local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_SET)
ge1:SetCode(EVENT_SPSUMMON_SUCCESS) ge1:SetCode(EVENT_SPSUMMON_SUCCESS)
ge1:SetCondition(cm.checkcon) ge1:SetCondition(cm.checkcon)
ge1:SetOperation(cm.checkop) ge1:SetOperation(cm.checkop)
......
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.DamageCost(2),cm.condition,nil,1) vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.operation,vgf.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.DamageCost(1),cm.condition) vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_SPSUMMON_SUCCESS,cm.operation,vgf.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.OverlayCost(1),vgf.LeaveFieldCost()),cm.condition) vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_BATTLED,cm.operation,vgf.CostAnd(vgf.SoulBlast(1),vgf.LeaveFieldCost()),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.DamageCost(1),cm.condition) vgd.Order(c,m,vgf.CardsFromTo(REASON_EFFECT,LOCATION_HAND,LOCATION_DECK,cm.filter),vgf.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.OverlayCost(1),vgf.VMonsterCondition) 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_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.DamageCost(1),vgf.RSummonCondition) vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation,vgf.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.DisCardCost(1)) vgd.AbilityAuto(c, m,nil,nil,EVENT_TO_G_CIRCLE,nil,vgf.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.OverlayCost(1),vgf.RMonsterCondition) vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation,vgf.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.DamageCost(2),nil,nil,1) vgd.AbilityAct(c,m,LOCATION_ORDER,cm.operation,vgf.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()
......
...@@ -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.Rule(c) vgd.Rule(c)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_SET)
e1:SetProperty(EFFECT_FLAG_DELAY) e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_MOVE) e1:SetCode(EVENT_MOVE)
e1:SetCondition(cm.con1) e1:SetCondition(cm.con1)
e1:SetOperation(cm.op) e1:SetOperation(cm.op)
c:RegisterEffect(e1) c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_SET)
e2:SetCode(EVENT_PHASE+PHASE_STANDBY) e2:SetCode(EVENT_PHASE+PHASE_STANDBY)
e2:SetRange(LOCATION_CREST) e2:SetRange(LOCATION_CREST)
e2:SetCountLimit(1) e2:SetCountLimit(1)
...@@ -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.EnergyCost(7)) e3:SetCost(vgf.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.DamageCost(1)(e,tp,eg,ep,ev,re,r,rp,chk) and vgf.DisCardCost(1)(e,tp,eg,ep,ev,re,r,rp,chk) 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 end
vgf.DamageCost(1)(e,tp,eg,ep,ev,re,r,rp,chk) vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.DisCardCost(1)(e,tp,eg,ep,ev,re,r,rp,chk) vgf.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.OverlayCost(5),cm.con,nil,nil,nil,2) vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.op1,vgf.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.DamageCost(1),vgf.VMonsterCondition) vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.op,vgf.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.DamageCost(1)) vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_HITTING,cm.op,vgf.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.DamageCost(2),cm.con1) vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.op,vgf.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_NIGHT) or Duel.IsPlayerAffectedByEffect(tp,AFFECT_CODE_DEEP_NIGHT) return Duel.IsPlayerAffectedByEffect(tp,AFFECT_CODE_NIGHT) or Duel.IsPlayerAffectedByEffect(tp,AFFECT_CODE_DEEP_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.OverlayCost(1),vgf.RSummonCondition) vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.op,vgf.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.DamageCost(2)(e,tp,eg,ep,ev,re,r,rp,chk) and vgf.OverlayCost(1)(e,tp,eg,ep,ev,re,r,rp,chk) 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)
end end
vgf.DamageCost(2)(e,tp,eg,ep,ev,re,r,rp,chk) vgf.CounterBlast(2)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.OverlayCost(1)(e,tp,eg,ep,ev,re,r,rp,chk) vgf.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.DamageCost(1)(e,tp,eg,ep,ev,re,r,rp,chk) and vgf.OverlayCost(1)(e,tp,eg,ep,ev,re,r,rp,chk) 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 end
vgf.DamageCost(1)(e,tp,eg,ep,ev,re,r,rp,chk) vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.OverlayCost(1)(e,tp,eg,ep,ev,re,r,rp,chk) vgf.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.DamageCost(1),vgf.VMonsterCondition,nil,1) vgd.AbilityAct(c,m,LOCATION_CIRCLE,vgf.CardsFromTo(REASON_EFFECT,LOCATION_CIRCLE,LOCATION_DROP),vgf.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.DamageCost(1),cm.con) vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.op,vgf.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.DamageCost(1),cm.con) vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.op,vgf.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.DamageCost(1),vgf.LeaveFieldCost()),cm.con) vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_HITTING,cm.op,vgf.CostAnd(vgf.CounterBlast(1),vgf.LeaveFieldCost()),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()
......
...@@ -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.OverlayFill(1)(e,tp,eg,ep,ev,re,r,rp) vgf.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.OverlayFill(1),nil,vgf.RSummonCondition) vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,vgf.SoulCharge(1),nil,vgf.RSummonCondition)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,cm.op,vgf.OverlayCost(3),vgf.RMonsterCondition,nil,1) vgd.AbilityAuto(c,m,LOCATION_CIRCLE,cm.op,vgf.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.DamageCost(1)(e,tp,eg,ep,ev,re,r,rp,chk) and vgf.OverlayCost(1)(e,tp,eg,ep,ev,re,r,rp,chk) 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 end
vgf.DamageCost(1)(e,tp,eg,ep,ev,re,r,rp,chk) vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.OverlayCost(1)(e,tp,eg,ep,ev,re,r,rp,chk) vgf.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
......
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,vgf.DamageFill(1),cm.cost,cm.con) vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_BATTLED,vgf.CounterCharge(1),cm.cost,cm.con)
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()
...@@ -13,5 +13,5 @@ function cm.con(e,tp,eg,ep,ev,re,r,rp) ...@@ -13,5 +13,5 @@ function cm.con(e,tp,eg,ep,ev,re,r,rp)
return c:GetFlagEffect(FLAG_SUPPORT)>0 and vgf.IsExistingMatchingCard(cm.filter,tp,LOCATION_ORDER,0,1,nil) return c:GetFlagEffect(FLAG_SUPPORT)>0 and vgf.IsExistingMatchingCard(cm.filter,tp,LOCATION_ORDER,0,1,nil)
end end
function cm.filter(c) function cm.filter(c)
return c:IsFaceup() and c:IsType(TYPE_CONTINUOUS) return c:IsFaceup() and c:IsType(TYPE_SET)
end end
\ No newline at end of file
...@@ -5,6 +5,6 @@ function cm.initial_effect(c) ...@@ -5,6 +5,6 @@ function cm.initial_effect(c)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_HITTING,cm.op,nil,vgf.RMonsterCondition) vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_HITTING,cm.op,nil,vgf.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)
vgf.DamageFill(1)(e,tp,eg,ep,ev,re,r,rp) vgf.CounterCharge(1)(e,tp,eg,ep,ev,re,r,rp)
vgf.OverlayFill(1)(e,tp,eg,ep,ev,re,r,rp) vgf.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.OverlayCost(1),vgf.LeaveFieldCost()),cm.con) vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_BATTLED,cm.op,vgf.CostAnd(vgf.SoulBlast(1),vgf.LeaveFieldCost()),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)
......
...@@ -6,7 +6,7 @@ end ...@@ -6,7 +6,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()
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_SET)
e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE) e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetCode(EVENT_ADJUST) e1:SetCode(EVENT_ADJUST)
e1:SetOperation(cm.op) e1:SetOperation(cm.op)
......
...@@ -9,5 +9,5 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp) ...@@ -9,5 +9,5 @@ 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)
end end
function cm.op1(e,tp,eg,ep,ev,re,r,rp) function cm.op1(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterFlagEffect(tp,AFFECT_CODE_OVERLAY_COST_FREE_WHEN_ALCHEMAGIC,RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,0,vgf.Stringid(m,0)) Duel.RegisterFlagEffect(tp,AFFECT_CODE_SOUL_BLAST_FREE_WHEN_ALCHEMAGIC,RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,0,vgf.Stringid(m,0))
end end
\ No newline at end of file
...@@ -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.DamageCost(1)(e,tp,eg,ep,ev,re,r,rp,chk) and vgf.OverlayCost(1)(e,tp,eg,ep,ev,re,r,rp,chk) end if chk==0 then return vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) and vgf.SoulBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) end
vgf.DamageCost(1)(e,tp,eg,ep,ev,re,r,rp,chk) vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.OverlayCost(1)(e,tp,eg,ep,ev,re,r,rp,chk) vgf.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.DamageCost(1),cm.condition) vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.operation1,vgf.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.OverlayFill(1)(e,tp,eg,ep,ev,re,r,rp,chk) vgf.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.DamageCost(2),vgf.RSummonCondition) vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation,vgf.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.OverlayFill(1)(e,tp,eg,ep,ev,re,r,rp) vgf.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.DisCardCost(1)) vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_HITTING,cm.operation, vgf.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.DamageCost(1)(e,tp,eg,ep,ev,re,r,rp,chk) and vgf.OverlayCost(1)(e,tp,eg,ep,ev,re,r,rp,chk) end if chk==0 then return vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) and vgf.SoulBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) end
vgf.DamageCost(1)(e,tp,eg,ep,ev,re,r,rp,chk) vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.OverlayCost(1)(e,tp,eg,ep,ev,re,r,rp,chk) vgf.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.OverlayFill(2),nil,cm.condition) vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,vgf.SoulCharge(2),nil,cm.condition)
--【起】【R】:你的灵魂在10张以上的话,通过【费用】[计数爆发2],这个回合中,将当前存在于前列的你所有的单位的力量+5000。 --【起】【R】:你的灵魂在10张以上的话,通过【费用】[计数爆发2],这个回合中,将当前存在于前列的你所有的单位的力量+5000。
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.operation,vgf.DamageCost(2),cm.condition1) vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.operation,vgf.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.DamageCost(1),vgf.RSummonCondition) vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation1,vgf.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.OverlayFill(1)(e,tp,eg,ep,ev,re,r,rp,chk) vgf.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.OverlayFill(2)(e,tp,eg,ep,ev,re,r,rp,chk) vgf.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.DamageCost(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.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) end
vgf.DamageCost(1)(e,tp,eg,ep,ev,re,r,rp,chk) vgf.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.DamageCost(1)) vgd.Order(c,m,cm.operation,vgf.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.OverlayFill(1)(e,tp,eg,ep,ev,re,r,rp,chk) vgf.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.OverlayCost(1),vgf.RMonsterCondition,nil,1) vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.op,vgf.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_DEEP_NIGHT) and vgf.RSummonCondition(e) return Duel.IsPlayerAffectedByEffect(tp,AFFECT_CODE_DEEP_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.DamageCost(1)(e,tp,eg,ep,ev,re,r,rp,chk) and vgf.OverlayCost(1)(e,tp,eg,ep,ev,re,r,rp,chk) end if chk==0 then return vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) and vgf.SoulBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) end
vgf.DamageCost(1)(e,tp,eg,ep,ev,re,r,rp,chk) vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.OverlayCost(1)(e,tp,eg,ep,ev,re,r,rp,chk) vgf.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.DamageCost(1),cm.con) vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_DISCARD,cm.op,vgf.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()
...@@ -13,5 +13,5 @@ function cm.con(e,tp,eg,ep,ev,re,r,rp) ...@@ -13,5 +13,5 @@ function cm.con(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()==tp and vgf.IsExistingMatchingCard(cm.filter,tp,LOCATION_ORDER,0,1,nil) return Duel.GetTurnPlayer()==tp and vgf.IsExistingMatchingCard(cm.filter,tp,LOCATION_ORDER,0,1,nil)
end end
function cm.filter(c) function cm.filter(c)
return c:IsType(TYPE_CONTINUOUS) and c:IsFaceup() return c:IsType(TYPE_SET) and c:IsFaceup()
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.SetOrder(c,vgf.OverlayCost(1)) vgd.SetOrder(c,vgf.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.NightEffect(c,m)--黑夜 vgd.NightEffect(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.OverlayCost(2),cm.con) vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.op,vgf.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.DamageCost(1)(e,tp,eg,ep,ev,re,r,rp,chk) and vgf.OverlayCost(1)(e,tp,eg,ep,ev,re,r,rp,chk) end if chk==0 then return vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) and vgf.SoulBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) end
vgf.DamageCost(1)(e,tp,eg,ep,ev,re,r,rp,chk) vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.OverlayCost(1)(e,tp,eg,ep,ev,re,r,rp,chk) vgf.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,8 +4,8 @@ function cm.initial_effect(c) ...@@ -4,8 +4,8 @@ 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.OverlayCost(1)(e,tp,eg,ep,ev,re,r,rp,chk) end if chk==0 then return vgf.Rest(e:GetHandler())(e,tp,eg,ep,ev,re,r,rp,chk) and vgf.SoulBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) end
vgf.OverlayCost(1)(e,tp,eg,ep,ev,re,r,rp,chk) vgf.SoulBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.Rest(e:GetHandler())(e,tp,eg,ep,ev,re,r,rp,chk) vgf.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 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.DamageFill(1),vgf.OverlayCost(2),cm.con,nil,1) vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_MOVE,vgf.CounterCharge(1),vgf.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()
......
...@@ -6,7 +6,7 @@ function cm.initial_effect(c) ...@@ -6,7 +6,7 @@ function cm.initial_effect(c)
vgd.GlobalCheckEffect(c,m,EVENT_CHAINING,cm.checkcon) vgd.GlobalCheckEffect(c,m,EVENT_CHAINING,cm.checkcon)
end end
function cm.filter(c) function cm.filter(c)
return c:GetType()==TYPE_SPELL return c:GetType()==TYPE_ORDER
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 re:IsHasType(EFFECT_TYPE_ACTIVATE) and rp==tp return re:IsHasType(EFFECT_TYPE_ACTIVATE) and rp==tp
......
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.OverlayCost(2)) vgd.Order(c,m,cm.op,vgf.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.DamageCost(1),cm.con) vgd.Order(c,m,cm.op,vgf.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.OverlayCost(1)) vgd.Order(c,m,cm.op,vgf.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()
......
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.DamageCost(1),cm.con) vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.op,vgf.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.OverlayCost(1),cm.con) vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_MOVE,cm.op,vgf.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.OverlayFill(1)) vgd.BeRidedByCard(c,m,10401027,vgf.SoulCharge(1))
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_TO_GRAVE,cm.op,vgf.CostAnd(vgf.DamageCost(1),vgf.LeaveFieldCost()),cm.con) vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_TO_GRAVE,cm.op,vgf.CostAnd(vgf.CounterBlast(1),vgf.LeaveFieldCost()),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)
......
...@@ -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】:这个单位的攻击击中时,灵魂填充1。 -- 【自】【R】:这个单位的攻击击中时,灵魂填充1。
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_HITTING,vgf.OverlayFill(1),nil,vgf.RMonsterCondition) vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_HITTING,vgf.SoulCharge(1),nil,vgf.RMonsterCondition)
-- 【自】【R】:这个单位攻击的战斗结束时,你的灵魂在10张以上的话,通过【费用】[将这个单位放置到灵魂里],计数回充1 -- 【自】【R】:这个单位攻击的战斗结束时,你的灵魂在10张以上的话,通过【费用】[将这个单位放置到灵魂里],计数回充1
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_BATTLED,vgf.DamageFill(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
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()
......
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.DamageCost(1),cm.con) vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_CUSTOM+EVENT_SUPPORT,cm.op,vgf.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()
...@@ -25,7 +25,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp) ...@@ -25,7 +25,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
end end
function cm.costtg(e,re,tp) function cm.costtg(e,re,tp)
e:SetLabelObject(re:GetHandler()) e:SetLabelObject(re:GetHandler())
return re:IsHasCategory(CATEGORY_DEFENDER) and re:GetHandler():IsLocation(LOCATION_HAND) and re:GetHandlerPlayer()==tp and not vgf.IsExistingMatchingCard(nil,tp,LOCATION_G_CIRCLE,0,1,nil) and Duel.GetAttacker()==e:GetHandler() and re:IsActiveType(TYPE_MONSTER) return re:IsHasCategory(CATEGORY_DEFENDER) and re:GetHandler():IsLocation(LOCATION_HAND) and re:GetHandlerPlayer()==tp and not vgf.IsExistingMatchingCard(nil,tp,LOCATION_G_CIRCLE,0,1,nil) and Duel.GetAttacker()==e:GetHandler() and re:IsActiveType(TYPE_UNIT)
end end
function cm.costchk(e,re,tp) function cm.costchk(e,re,tp)
return vgf.IsExistingMatchingCard(vgf.IsAbleToGCircle,tp,LOCATION_HAND,0,1,re:GetHandler(),LOCATION_HAND) return vgf.IsExistingMatchingCard(vgf.IsAbleToGCircle,tp,LOCATION_HAND,0,1,re:GetHandler(),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)
--【自】:这个单位登场到V时,灵魂填充1 --【自】:这个单位登场到V时,灵魂填充1
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,vgf.OverlayFill(1),nil,vgf.VSummonCondition) vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,vgf.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.OverlayCost(5)(e,tp,eg,ep,ev,re,r,rp,0) return vgf.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,nil,EVENT_TO_G_CIRCLE,cm.op,vgf.DamageCost(1)) vgd.AbilityAuto(c, m,nil,nil,EVENT_TO_G_CIRCLE,cm.op,vgf.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.OverlayCost(1)) vgd.Order(c,m,cm.operation,vgf.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.DamageCost(2)) vgd.Order(c,m,cm.operation,vgf.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.OverlayCost(1)) vgd.SetOrder(c,vgf.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.NightEffect(c,m) vgd.NightEffect(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.DamageCost(2),cm.con) vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_MOVE,cm.op,vgf.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.DamageCost(2),cm.con) vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.op,vgf.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.OverlayCost(1),cm.con,nil,1) vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_MOVE,cm.op,vgf.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.DamageCost(1)) vgd.BeRidedByCard(c,m,10401046,cm.operation,vgf.CounterBlast(1))
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_MOVE,cm.op,vgf.DamageCost(1),cm.con,nil,1) vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_MOVE,cm.op,vgf.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.DamageCost(1),vgf.RMonsterCondition) vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.operation,vgf.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,11 +4,11 @@ function cm.initial_effect(c) ...@@ -4,11 +4,11 @@ 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.DamageCost(1),cm.condition) vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.operation,vgf.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()
return vgf.RMonsterCondition and vgf.VMonsterFilter(Duel.GetAttackTarget()) and vgf.IsExistingMatchingCard(cm.filter,tp,LOCATION_BIND,0,1,nil,TYPE_SPELL) return vgf.RMonsterCondition and vgf.VMonsterFilter(Duel.GetAttackTarget()) and vgf.IsExistingMatchingCard(cm.filter,tp,LOCATION_BIND,0,1,nil,TYPE_ORDER)
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)
--【起】【V】【1回合1次】:通过【费用】[灵魂爆发1],抽2张卡, --【起】【V】【1回合1次】:通过【费用】[灵魂爆发1],抽2张卡,
--选择你的手牌中的至多1张指令卡,舍弃,没有舍弃的话,选择手牌中的的2张卡舍弃。 --选择你的手牌中的至多1张指令卡,舍弃,没有舍弃的话,选择手牌中的的2张卡舍弃。
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.operation,vgf.OverlayCost(1),vgf.VMonsterCondition,nil,1) vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.operation,vgf.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)
...@@ -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
end end
function cm.filter(c) function cm.filter(c)
return c:IsType(TYPE_SPELL) return c:IsType(TYPE_ORDER)
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 re:IsHasType(EFFECT_TYPE_ACTIVATE) and rp==tp return re:IsHasType(EFFECT_TYPE_ACTIVATE) and rp==tp
......
...@@ -16,5 +16,5 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp) ...@@ -16,5 +16,5 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
Duel.Draw(tp,1,REASON_TRIGGER) Duel.Draw(tp,1,REASON_TRIGGER)
vgf.Sendto(LOCATION_SOUL,c) vgf.Sendto(LOCATION_SOUL,c)
vgf.DamageFill(1) vgf.CounterCharge(1)
end end
\ No newline at end of file
...@@ -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.DamageCost(2)) vgd.Order(c,m,cm.operation,vgf.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.DamageCost(1)(e,tp,eg,ep,ev,re,r,rp,chk) and vgf.DisCardCost(1)(e,tp,eg,ep,ev,re,r,rp,chk) end if chk==0 then return vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) and vgf.Discard(1)(e,tp,eg,ep,ev,re,r,rp,chk) end
vgf.DamageCost(1)(e,tp,eg,ep,ev,re,r,rp,chk) vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.DisCardCost(1)(e,tp,eg,ep,ev,re,r,rp,chk) vgf.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.OverlayCost(2),cm.con) vgd.AbilityAuto(c,m,LOCATION_HAND,EFFECT_TYPE_FIELD,EVENT_BATTLED,cm.op,vgf.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.OverlayFill(1)(e,tp,eg,ep,ev,re,r,rp) vgf.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.OverlayFill(1),nil,cm.con) vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,vgf.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.DamageCost(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.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) and vgf.LeaveFieldCost(e:GetHandler())(e,tp,eg,ep,ev,re,r,rp,chk) end
vgf.DamageCost(1)(e,tp,eg,ep,ev,re,r,rp,chk) vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.LeaveFieldCost(e:GetHandler())(e,tp,eg,ep,ev,re,r,rp,chk) vgf.LeaveFieldCost(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)
......
...@@ -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,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.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.DamageCost(1),vgf.LeaveFieldCost(vgf.RMonsterFilter,3,3)),nil,nil,1) vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.op,vgf.CostAnd(vgf.CounterBlast(1),vgf.LeaveFieldCost(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.OverlayCost(1),cm.con) vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.op,vgf.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)
......
...@@ -15,7 +15,7 @@ function cm.filter(c) ...@@ -15,7 +15,7 @@ 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.DamageCost(1)(e,tp,eg,ep,ev,re,r,rp,chk) and vgf.OverlayCost(1)(e,tp,eg,ep,ev,re,r,rp,chk) end if chk==0 then return vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) and vgf.SoulBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) end
vgf.DamageCost(1)(e,tp,eg,ep,ev,re,r,rp,chk) vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.OverlayCost(1)(e,tp,eg,ep,ev,re,r,rp,chk) vgf.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.DamageCost(1),cm.con) vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.op,vgf.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.DisCardCost(1),cm.con) vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.op,vgf.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.OverlayFill(1) vgf.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.DamageCost(1),cm.con) vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.op,vgf.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.DamageCost(1),cm.con) vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_CUSTOM+EVENT_SUPPORT,cm.op,vgf.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.OverlayCost(1),cm.con) vgd.AbilityAuto(c, m,nil,nil,EVENT_TO_G_CIRCLE,cm.op,vgf.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)
......
...@@ -13,7 +13,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp) ...@@ -13,7 +13,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
vgf.AtkUp(c,c,15000) vgf.AtkUp(c,c,15000)
end end
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_SET)
e1:SetCode(EVENT_BATTLED) e1:SetCode(EVENT_BATTLED)
e1:SetCountLimit(1) e1:SetCountLimit(1)
e1:SetOperation(cm.op2) e1:SetOperation(cm.op2)
......
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.DamageFill(1),cm.cost,vgf.RMonsterCondition,nil,1) vgd.AbilityAct(c,m,LOCATION_CIRCLE,vgf.CounterCharge(1),cm.cost,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 if chk==0 then
...@@ -12,5 +12,5 @@ function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -12,5 +12,5 @@ function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
return vgf.Sendto(LOCATION_DROP,g,REASON_COST+REASON_DISCARD) return vgf.Sendto(LOCATION_DROP,g,REASON_COST+REASON_DISCARD)
end end
function cm.filter(c) function cm.filter(c)
return c:IsType(TYPE_CONTINUOUS) and c:IsType(TYPE_SPELL) return c:IsType(TYPE_SET) and c:IsType(TYPE_ORDER)
end end
\ No newline at end of file
...@@ -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.DamageCost(1)(e,tp,eg,ep,ev,re,r,rp,chk) and vgf.OverlayCost(1)(e,tp,eg,ep,ev,re,r,rp,chk) 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 end
vgf.DamageCost(1)(e,tp,eg,ep,ev,re,r,rp,chk) vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.OverlayCost(1)(e,tp,eg,ep,ev,re,r,rp,chk) vgf.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.DamageCost(1),vgf.DisCardCost(1)),cm.condition) vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation,vgf.CostAnd(vgf.CounterBlast(1),vgf.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.DamageCost(1),vgf.OverlayCost(1))) vgd.Order(c,m,cm.op,vgf.CostAnd(vgf.CounterBlast(1),vgf.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.DamageCost(1)) vgd.Order(c,m,cm.op,vgf.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,8 +6,8 @@ function cm.initial_effect(c) ...@@ -6,8 +6,8 @@ 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.OverlayCost(1)(e,tp,eg,ep,ev,re,r,rp,chk) end if chk==0 then return vgf.Rest(c)(e,tp,eg,ep,ev,re,r,rp,chk) and vgf.SoulBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) end
vgf.OverlayCost(1)(e,tp,eg,ep,ev,re,r,rp,chk) vgf.SoulBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.Rest(c)(e,tp,eg,ep,ev,re,r,rp,chk) vgf.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)
......
...@@ -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.OverlayCost(1),cm.con1,nil,1) vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.op1,vgf.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.DamageCost(1)(e,tp,eg,ep,ev,re,r,rp,0) and Duel.SelectEffectYesNo(tp,vgf.stringid(VgID,10)) then if vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,0) and Duel.SelectEffectYesNo(tp,vgf.stringid(VgID,10)) then
vgf.DamageCost(1)(e,tp,eg,ep,ev,re,r,rp,1) vgf.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.DamageCost(1),vgf.RSummonCondition) vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,vgf.CardsFromTo(REASON_EFFECT,LOCATION_CIRCLE,LOCATION_DROP,cm.filter),vgf.CounterBlast(1),vgf.RSummonCondition)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.op,vgf.DamageCost(1),vgf.RMonsterCondition) vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.op,vgf.CounterBlast(1),vgf.RMonsterCondition)
end end
function cm.filter(c) function cm.filter(c)
return c:IsLevel(0) return c:IsLevel(0)
......
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.OverlayCost(1),vgf.RMonsterCondition) vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.op,vgf.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.OverlayFill(1)(e,tp,eg,ep,ev,re,r,rp) vgf.SoulCharge(1)(e,tp,eg,ep,ev,re,r,rp)
if vgf.GetVMonster(tp):GetOverlayCount()>=10 and vgf.DamageCost(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.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.DamageCost(1)(e,tp,eg,ep,ev,re,r,rp,1) vgf.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.DamageCost(1),vgf.DisCardCost(1))) vgd.Order(c,m,cm.op,vgf.CostAnd(vgf.CounterBlast(1),vgf.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.OverlayFill(3)(e,tp,eg,ep,ev,re,r,rp) vgf.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.CardsFromTo(REASON_EFFECT,LOCATION_HAND,LOCATION_SOUL,nil,1)(e,tp,eg,ep,ev,re,r,rp)
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.Order(c,m,cm.op,vgf.DamageCost(1)) vgd.Order(c,m,cm.op,vgf.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.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,vgf.DamageFill(1),vgf.LeaveFieldCost(10000001),cm.con1) vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,vgf.CounterCharge(1),vgf.LeaveFieldCost(10000001),cm.con1)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_CUSTOM+EVENT_SUPPORT,vgf.DamageFill(1),vgf.LeaveFieldCost(10000001),cm.con2) vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_CUSTOM+EVENT_SUPPORT,vgf.CounterCharge(1),vgf.LeaveFieldCost(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_DEEP_NIGHT) return Duel.IsPlayerAffectedByEffect(tp,AFFECT_CODE_DEEP_NIGHT)
......
...@@ -11,6 +11,6 @@ function cm.filter(c) ...@@ -11,6 +11,6 @@ function cm.filter(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)
if not vgf.CheckPrison(tp) then return end if not vgf.CheckPrison(tp) then return end
local g=vgf.SelectMatchingCard(HINTMSG_IMPRISON,e,tp,Card.IsType,tp,0,LOCATION_DROP,1,1,nil,TYPE_MONSTER) local g=vgf.SelectMatchingCard(HINTMSG_IMPRISON,e,tp,Card.IsType,tp,0,LOCATION_DROP,1,1,nil,TYPE_UNIT)
vgf.SendtoPrison(g,tp) vgf.SendtoPrison(g,tp)
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.OverlayCost(1),cm.con) vgd.Order(c,m,cm.op,vgf.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.OverlayCost(1),cm.con) vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.op,vgf.SoulBlast(1),cm.con)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_MOVE,vgf.DamageFill(1),vgf.DamageCost(1),cm.con,nil,1) vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_MOVE,vgf.CounterCharge(1),vgf.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.OverlayCost(1),cm.con) vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.op,vgf.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.OverlayCost(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.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
Duel.BreakEffect() Duel.BreakEffect()
vgf.CostAnd(vgf.OverlayCost(1),vgf.LeaveFieldCost(vgf.RMonsterFilter,1,1,c))(e,tp,eg,ep,ev,re,r,rp,0) vgf.CostAnd(vgf.SoulBlast(1),vgf.LeaveFieldCost(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.DamageCost(1),vgf.LeaveFieldCost(vgf.RMonsterFilter,1,1,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.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.DamageCost(1),cm.con2) 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)
-- 【自】【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.DamageCost(1),vgf.VMonsterCondition,nil,1) vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.op,vgf.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)
...@@ -40,5 +40,5 @@ function cm.op2(e,tp,eg,ep,ev,re,r,rp) ...@@ -40,5 +40,5 @@ function cm.op2(e,tp,eg,ep,ev,re,r,rp)
end end
function cm.actlimit(e,te,tp) function cm.actlimit(e,te,tp)
local tc=te:GetHandler() local tc=te:GetHandler()
return te:IsHasCategory(CATEGORY_DEFENDER) and tc:IsType(TYPE_MONSTER) and tc:GetBaseDefense()==0 and tc:IsLocation(LOCATION_HAND) return te:IsHasCategory(CATEGORY_DEFENDER) and tc:IsType(TYPE_UNIT) and tc:GetBaseDefense()==0 and tc:IsLocation(LOCATION_HAND)
end end
\ No newline at end of file
...@@ -15,7 +15,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp) ...@@ -15,7 +15,7 @@ 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
if vgf.IsSequence(c,2) then if vgf.IsSequence(c,2) then
vgf.DamageFill(1)(e,tp,eg,ep,ev,re,r,rp) vgf.CounterCharge(1)(e,tp,eg,ep,ev,re,r,rp)
end end
end end
function cm.checkfilter(c,tp,re) function cm.checkfilter(c,tp,re)
......
...@@ -5,10 +5,10 @@ function cm.initial_effect(c) ...@@ -5,10 +5,10 @@ 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.DamageCost(1),cm.con2,nil,1) vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.op2,vgf.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_TRIIGER) and re:GetHandler():IsLocation(LOCATION_HAND) return re:GetHandler():IsType(TYPE_TRIGGER) and re:GetHandler():IsLocation(LOCATION_HAND)
end,cm.con3) end,cm.con3)
end end
......
...@@ -25,5 +25,5 @@ function cm.filter2(c) ...@@ -25,5 +25,5 @@ function cm.filter2(c)
end end
function cm.filter3(c) function cm.filter3(c)
return c:IsSetCard(0xa013) and c:IsType(TYPE_NORMAL+TYPE_MONSTER) return c:IsSetCard(0xa013) and c:IsType(TYPE_NORMAL+TYPE_UNIT)
end end
\ No newline at end of file
...@@ -5,7 +5,7 @@ function cm.initial_effect(c) ...@@ -5,7 +5,7 @@ function cm.initial_effect(c)
-- 【永】【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.OverlayCost(1),cm.con2) vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation,vgf.SoulBlast(1),cm.con2)
end end
function cm.con1(e) function cm.con1(e)
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.AbilityAct(c,m,LOCATION_R_CIRCLE,cm.op,vgf.CostAnd(vgf.DamageCost(1), vgf.ToOverlayCost)) vgd.AbilityAct(c,m,LOCATION_R_CIRCLE,cm.op,vgf.CostAnd(vgf.CounterBlast(1), vgf.ToSoul))
vgd.CannotBeTarget(c, m, LOCATION_V_CIRCLE, EFFECT_TYPE_SINGLE, nil, vgf.DarkWing) vgd.CannotBeTarget(c, m, LOCATION_V_CIRCLE, EFFECT_TYPE_SINGLE, nil, vgf.DarkWing)
vgd.CannotBeAttackTarget(c, m, LOCATION_V_CIRCLE, EFFECT_TYPE_SINGLE, cm.val, vgf.DarkWing) vgd.CannotBeAttackTarget(c, m, LOCATION_V_CIRCLE, EFFECT_TYPE_SINGLE, cm.val, vgf.DarkWing)
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_SPSUMMON_SUCCESS,cm.op,vgf.OverlayCost(1),cm.con) vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.op,vgf.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)
......
...@@ -12,7 +12,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp) ...@@ -12,7 +12,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
Duel.ConfirmCards(tp,g) Duel.ConfirmCards(tp,g)
Duel.ConfirmCards(1-tp,g) Duel.ConfirmCards(1-tp,g)
local tc=g:GetFirst() local tc=g:GetFirst()
if tc:IsType(TYPE_MONSTER) and tc:GetLevel()~=2 and vgf.IsCanBeCalled(tc,e,tp) and vgf.Sendto(LOCATION_CIRCLE,tc,0,tp,"NoMonster")==0 then if tc:IsType(TYPE_UNIT) and tc:GetLevel()~=2 and vgf.IsCanBeCalled(tc,e,tp) and vgf.Sendto(LOCATION_CIRCLE,tc,0,tp,"NoMonster")==0 then
Duel.MoveSequence(tc,1) Duel.MoveSequence(tc,1)
end end
end end
......
...@@ -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.OverlayCost(1),vgf.DisCardCost(1)),vgf.RSummonCondition) 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)
end end
\ No newline at end of file
...@@ -12,8 +12,8 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp) ...@@ -12,8 +12,8 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
end end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return vgf.IsExistingMatchingCard(cm.filter,tp,LOCATION_HAND,0,2,nil) and vgf.DamageCost(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.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) end
vgf.DamageCost(1)(e,tp,eg,ep,ev,re,r,rp,chk) vgf.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
...@@ -26,6 +26,6 @@ function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -26,6 +26,6 @@ function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
end end
function cm.filter(c) function cm.filter(c)
return c:IsType(TYPE_NORMAL+TYPE_MONSTER) return c:IsType(TYPE_NORMAL+TYPE_UNIT)
end end
...@@ -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.DamageCost(1),vgf.OverlayCost(1)),cm.con) 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)
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.OverlayCost(2),cm.con,nil,1) VgD.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_SPSUMMON_SUCCESS,vgf.Draw,vgf.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,7 +4,7 @@ function cm.initial_effect(c) ...@@ -4,7 +4,7 @@ function cm.initial_effect(c)
vgd.VgCard(c) vgd.VgCard(c)
-- 通过【费用】[计数爆发1]施放! -- 通过【费用】[计数爆发1]施放!
-- 抽2张卡,选择你的手牌的1张卡,舍弃。将这张卡放置到灵魂里。 -- 抽2张卡,选择你的手牌的1张卡,舍弃。将这张卡放置到灵魂里。
vgd.Order(c,m,cm.operation,vgf.DamageCost(1)) vgd.Order(c,m,cm.operation,vgf.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)
......
...@@ -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.DamageCost(1),vgf.RMonsterCondition) vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.op,vgf.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.OverlayCost(1),cm.con) vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.op,vgf.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)
......
...@@ -24,7 +24,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp) ...@@ -24,7 +24,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
end end
function cm.costtg(e,re,tp) function cm.costtg(e,re,tp)
e:SetLabelObject(re:GetHandler()) e:SetLabelObject(re:GetHandler())
return re:IsHasCategory(CATEGORY_DEFENDER) and re:GetHandler():IsLocation(LOCATION_HAND) and re:GetHandlerPlayer()==tp and not vgf.IsExistingMatchingCard(nil,tp,LOCATION_G_CIRCLE,0,1,nil) and Duel.GetAttacker()==e:GetHandler() and re:IsActiveType(TYPE_MONSTER) return re:IsHasCategory(CATEGORY_DEFENDER) and re:GetHandler():IsLocation(LOCATION_HAND) and re:GetHandlerPlayer()==tp and not vgf.IsExistingMatchingCard(nil,tp,LOCATION_G_CIRCLE,0,1,nil) and Duel.GetAttacker()==e:GetHandler() and re:IsActiveType(TYPE_UNIT)
end end
function cm.costchk(e,re,tp) function cm.costchk(e,re,tp)
return vgf.IsExistingMatchingCard(vgf.IsAbleToGCircle,tp,LOCATION_HAND,0,1,re:GetHandler(),LOCATION_HAND) return vgf.IsExistingMatchingCard(vgf.IsAbleToGCircle,tp,LOCATION_HAND,0,1,re:GetHandler(),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)
-- 【自】:这个单位登场到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.DamageCost(2),cm.con) vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.op,vgf.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.OverlayCost(1),cm.con) vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.operation,vgf.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.DarkWing(e) return vgf.RMonsterCondition(e) and vgf.DarkWing(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.OverlayFill(1)(e,tp,eg,ep,ev,re,r,rp) vgf.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.OverlayFill(1)(e,tp,eg,ep,ev,re,r,rp) vgf.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)
......
...@@ -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.OverlayCost(1),cm.con) vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_MOVE,cm.op,vgf.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.DamageCost(1),cm.con) vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,vgf.Draw,vgf.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.OverlayCost(1),cm.con) vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_MOVE,cm.op,vgf.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()
......
...@@ -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,cm.op,OverlayCost(1)) vgd.BeRidedByCard(c,m,nil,cm.op,SoulBlast(1))
-- 【永】【V/R】:你的回合中,你的R上有〈幽灵〉的话,这个单位的力量+2000。 -- 【永】【V/R】:你的回合中,你的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)
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,nil,vgf.CardsFromTo(REASON_EFFECT,LOCATION_HAND,LOCATION_DECK,cm.filter,1,0),cm.cost1) vgd.BeRidedByCard(c,m,nil,vgf.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.OverlayCost(1),cm.con) vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_CHAINING,cm.op,vgf.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.DamageCost(1),vgf.RMonsterCondition,nil,1) vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.op,vgf.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.OverlayCost(2),cm.con) vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_CUSTOM+EVENT_SUPPORT,cm.op,vgf.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.OverlayCost(1),cm.con) vgd.AbilityAuto(c,m,LOCATION_DROP,EFFECT_TYPE_SINGLE,EVENT_DISCARD,cm.op,vgf.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.DamageCost(1)) vgd.Order(c,m,cm.op,vgf.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)
......
...@@ -24,7 +24,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp) ...@@ -24,7 +24,7 @@ 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
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_SET)
e4:SetCode(EFFECT_SEND_REPLACE) e4:SetCode(EFFECT_SEND_REPLACE)
e4:SetTarget(cm.reptg) e4:SetTarget(cm.reptg)
e4:SetValue(cm.repval) e4:SetValue(cm.repval)
...@@ -32,7 +32,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp) ...@@ -32,7 +32,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterEffect(e4,tp) Duel.RegisterEffect(e4,tp)
end end
function cm.repfilter(c,tp) function cm.repfilter(c,tp)
return c:IsControler(tp) and (c:IsLocation(LOCATION_G_CIRCLE) or vgf.RMonsterFilter(c)) and c:GetDestination()==LOCATION_DROP and c:IsType(TYPE_MONSTER) and c:IsFaceup() and not cm.filter(c) return c:IsControler(tp) and (c:IsLocation(LOCATION_G_CIRCLE) or vgf.RMonsterFilter(c)) and c:GetDestination()==LOCATION_DROP and c:IsType(TYPE_UNIT) and c:IsFaceup() and not cm.filter(c)
end end
function cm.reptg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.reptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return eg:IsExists(cm.repfilter,1,nil,tp) end if chk==0 then return eg:IsExists(cm.repfilter,1,nil,tp) 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.Rule(c) vgd.Rule(c)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_SET)
e1:SetProperty(EFFECT_FLAG_DELAY) e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_MOVE) e1:SetCode(EVENT_MOVE)
e1:SetCondition(cm.con1) e1:SetCondition(cm.con1)
e1:SetOperation(cm.op1) e1:SetOperation(cm.op1)
c:RegisterEffect(e1) c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_SET)
e2:SetCode(EVENT_PHASE_START+PHASE_STANDBY) e2:SetCode(EVENT_PHASE_START+PHASE_STANDBY)
e2:SetRange(LOCATION_CREST) e2:SetRange(LOCATION_CREST)
e2:SetCountLimit(1) e2:SetCountLimit(1)
...@@ -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.EnergyCost(7)) e3:SetCost(vgf.EnergyBlast(7))
e3:SetOperation(cm.op3) e3:SetOperation(cm.op3)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
......
...@@ -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)
--【起】【V】【1回合1次】:通过【费用】[计数爆发1],从你的牌堆里探寻至多1张与这个单位同名的卡,公开后加入手牌,然后牌堆洗切,这个回合中,这个单位的力量+10000。 --【起】【V】【1回合1次】:通过【费用】[计数爆发1],从你的牌堆里探寻至多1张与这个单位同名的卡,公开后加入手牌,然后牌堆洗切,这个回合中,这个单位的力量+10000。
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.operation,vgf.DamageCost(1),vgf.VMonsterCondition,nil,1) vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.operation,vgf.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.EnergyCost(4),cm.condition) vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.operation2,vgf.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 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.DamageCost(1),vgf.VMonsterCondition) vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.op,vgf.CounterBlast(1),vgf.VMonsterCondition)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.op1,vgf.EnergyCost(4),cm.con) vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.op1,vgf.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()
......
...@@ -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)
--【起】【V】【1回合1次】:通过【费用】[计数爆发1],从你的牌堆里探寻至多1张与这个单位同名的卡,公开后加入手牌,然后牌堆洗切,这个回合中,这个单位的力量+10000。 --【起】【V】【1回合1次】:通过【费用】[计数爆发1],从你的牌堆里探寻至多1张与这个单位同名的卡,公开后加入手牌,然后牌堆洗切,这个回合中,这个单位的力量+10000。
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.operation,vgf.DamageCost(1),vgf.VMonsterCondition,nil,1) vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.operation,vgf.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.EnergyCost(4),cm.condition) vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.operation2,vgf.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)
......
...@@ -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)
--【起】【V】【1回合1次】:通过【费用】[计数爆发1],从你的牌堆里探寻至多1张与这个单位同名的卡,公开后加入手牌,然后牌堆洗切,这个回合中,这个单位的力量+10000。 --【起】【V】【1回合1次】:通过【费用】[计数爆发1],从你的牌堆里探寻至多1张与这个单位同名的卡,公开后加入手牌,然后牌堆洗切,这个回合中,这个单位的力量+10000。
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.operation,vgf.DamageCost(1),vgf.VMonsterCondition,nil,1) vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.operation,vgf.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.EnergyCost(4),cm.condition) vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.operation2,vgf.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)
......
...@@ -9,7 +9,7 @@ function vgd.VgCard(c) ...@@ -9,7 +9,7 @@ function vgd.VgCard(c)
VgD.Rule(c) VgD.Rule(c)
VgD.Ride(c) VgD.Ride(c)
VgD.CardTrigger(c) VgD.CardTrigger(c)
if c:IsType(TYPE_MONSTER) then if c:IsType(TYPE_UNIT) then
VgD.CallToR(c) VgD.CallToR(c)
VgD.MonsterBattle(c) VgD.MonsterBattle(c)
end end
...@@ -19,7 +19,7 @@ end ...@@ -19,7 +19,7 @@ end
---@param c Card 要注册规则的卡 ---@param c Card 要注册规则的卡
function VgD.Rule(c) function VgD.Rule(c)
local e1 = Effect.CreateEffect(c) local e1 = Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_CONTINUOUS) e1:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_SET)
e1:SetCode(EVENT_PHASE + PHASE_DRAW) e1:SetCode(EVENT_PHASE + PHASE_DRAW)
e1:SetRange(LOCATION_ALL) e1:SetRange(LOCATION_ALL)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
...@@ -42,7 +42,7 @@ function VgD.Rule(c) ...@@ -42,7 +42,7 @@ function VgD.Rule(c)
end) end)
c:RegisterEffect(e1) c:RegisterEffect(e1)
local e2 = Effect.CreateEffect(c) local e2 = Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_CONTINUOUS) e2:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_SET)
e2:SetCode(EVENT_BATTLED) e2:SetCode(EVENT_BATTLED)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetRange(LOCATION_ALL) e2:SetRange(LOCATION_ALL)
...@@ -56,7 +56,7 @@ function VgD.Rule(c) ...@@ -56,7 +56,7 @@ function VgD.Rule(c)
end) end)
c:RegisterEffect(e2) c:RegisterEffect(e2)
local e3 = Effect.CreateEffect(c) local e3 = Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_CONTINUOUS) e3:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_SET)
e3:SetCode(EVENT_PHASE_START + PHASE_STANDBY) e3:SetCode(EVENT_PHASE_START + PHASE_STANDBY)
e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e3:SetRange(LOCATION_ALL) e3:SetRange(LOCATION_ALL)
...@@ -79,7 +79,7 @@ function VgD.Rule(c) ...@@ -79,7 +79,7 @@ function VgD.Rule(c)
e10:SetCondition(VgF.RuleCardCondtion) e10:SetCondition(VgF.RuleCardCondtion)
c:RegisterEffect(e10) c:RegisterEffect(e10)
local e11 = Effect.CreateEffect(c) local e11 = Effect.CreateEffect(c)
e11:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_CONTINUOUS) e11:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_SET)
e11:SetCode(EVENT_ADJUST) e11:SetCode(EVENT_ADJUST)
e11:SetRange(LOCATION_ALL) e11:SetRange(LOCATION_ALL)
e11:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e11:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
...@@ -127,7 +127,7 @@ end ...@@ -127,7 +127,7 @@ end
---@param c Card 要注册骑升功能的卡 ---@param c Card 要注册骑升功能的卡
function VgD.Ride(c) function VgD.Ride(c)
local e1 = Effect.CreateEffect(c) local e1 = Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_CONTINUOUS) e1:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_SET)
e1:SetCode(EVENT_PREDRAW) e1:SetCode(EVENT_PREDRAW)
e1:SetCountLimit(1, VgID) e1:SetCountLimit(1, VgID)
e1:SetRange(LOCATION_ALL) e1:SetRange(LOCATION_ALL)
...@@ -136,7 +136,7 @@ function VgD.Ride(c) ...@@ -136,7 +136,7 @@ function VgD.Ride(c)
e1:SetOperation(VgD.RideOperation_lv0) e1:SetOperation(VgD.RideOperation_lv0)
c:RegisterEffect(e1) c:RegisterEffect(e1)
local e2 = Effect.CreateEffect(c) local e2 = Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_CONTINUOUS) e2:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_SET)
e2:SetCode(EVENT_PHASE + PHASE_STANDBY) e2:SetCode(EVENT_PHASE + PHASE_STANDBY)
e2:SetRange(LOCATION_ALL) e2:SetRange(LOCATION_ALL)
e2:SetCountLimit(1, VgID + 1) e2:SetCountLimit(1, VgID + 1)
...@@ -189,7 +189,7 @@ function VgD.RideMaterialCheck(c, rc) ...@@ -189,7 +189,7 @@ function VgD.RideMaterialCheck(c, rc)
end end
function VgD.RideFilter1(c, lv, code, rc) function VgD.RideFilter1(c, lv, code, rc)
local tp = c:GetControler() local tp = c:GetControler()
if not c:IsType(TYPE_MONSTER) then return false end if not c:IsType(TYPE_UNIT) then return false end
if rc:IsAttribute(SKILL_SELF_RIDE) and c:IsCode(code) then return false end if rc:IsAttribute(SKILL_SELF_RIDE) and c:IsCode(code) then return false end
if (c:IsLevel(lv, lv + 1) and c:IsLocation(LOCATION_HAND)) then return VgD.RideMaterialCheck(c, rc) end if (c:IsLevel(lv, lv + 1) and c:IsLocation(LOCATION_HAND)) then return VgD.RideMaterialCheck(c, rc) end
if (c:IsLevel(lv + 1) and c:IsLocation(LOCATION_RIDE) and (VgF.IsExistingMatchingCard(nil, tp, LOCATION_HAND, 0, 1, nil) or (Duel.IsPlayerAffectedByEffect(tp, AFFECT_CODE_OVERLAY_INSTEAD_WHEN_RIDE) and VgF.GetVMonster(tp):GetOverlayCount() > 0))) then return VgD.RideMaterialCheck(c, rc) end if (c:IsLevel(lv + 1) and c:IsLocation(LOCATION_RIDE) and (VgF.IsExistingMatchingCard(nil, tp, LOCATION_HAND, 0, 1, nil) or (Duel.IsPlayerAffectedByEffect(tp, AFFECT_CODE_OVERLAY_INSTEAD_WHEN_RIDE) and VgF.GetVMonster(tp):GetOverlayCount() > 0))) then return VgD.RideMaterialCheck(c, rc) end
...@@ -200,7 +200,7 @@ function VgD.DisCardRideFilter(c, e, lv, code, rc) ...@@ -200,7 +200,7 @@ function VgD.DisCardRideFilter(c, e, lv, code, rc)
return c:IsDiscardable() and VgF.IsExistingMatchingCard(VgD.RideFilter1, tp, LOCATION_HAND + LOCATION_RIDE, 0, 1, c, lv, code, rc) return c:IsDiscardable() and VgF.IsExistingMatchingCard(VgD.RideFilter1, tp, LOCATION_HAND + LOCATION_RIDE, 0, 1, c, lv, code, rc)
end end
function VgD.RideFilter2(c, lv, code, rc) function VgD.RideFilter2(c, lv, code, rc)
return c:IsLevel(lv) and c:IsType(TYPE_MONSTER) and c:IsCode(code) and rc:IsAttribute(SKILL_SELF_RIDE) return c:IsLevel(lv) and c:IsType(TYPE_UNIT) and c:IsCode(code) and rc:IsAttribute(SKILL_SELF_RIDE)
end end
function VgD.RideCondition(e, tp, eg, ep, ev, re, r, rp) function VgD.RideCondition(e, tp, eg, ep, ev, re, r, rp)
local rc = Duel.GetMatchingGroup(VgF.VMonsterFilter, tp, LOCATION_CIRCLE, 0, nil):GetFirst() local rc = Duel.GetMatchingGroup(VgF.VMonsterFilter, tp, LOCATION_CIRCLE, 0, nil):GetFirst()
...@@ -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.OverlayCost(1)(e, tp, eg, ep, ev, re, r, rp, 1) VgF.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)
...@@ -255,8 +255,8 @@ function VgD.RideOperation(e, tp, eg, ep, ev, re, r, rp) ...@@ -255,8 +255,8 @@ function VgD.RideOperation(e, tp, eg, ep, ev, re, r, rp)
sc:SetMaterial(Group.FromCards(rc)) sc:SetMaterial(Group.FromCards(rc))
VgF.Sendto(LOCATION_SOUL, Group.FromCards(rc), sc) VgF.Sendto(LOCATION_SOUL, Group.FromCards(rc), sc)
VgF.Sendto(LOCATION_CIRCLE, sc, SUMMON_TYPE_RIDE, tp, 0x20) VgF.Sendto(LOCATION_CIRCLE, sc, SUMMON_TYPE_RIDE, tp, 0x20)
if VgF.IsExistingMatchingCard(Card.IsType, tp, LOCATION_RIDE, 0, 1, nil, TYPE_RIDE_EMBLEM) then if VgF.IsExistingMatchingCard(Card.IsType, tp, LOCATION_RIDE, 0, 1, nil, TYPE_RIDE_CREST) then
local tc = Duel.GetMatchingGroup(Card.IsType, tp, LOCATION_RIDE, 0, nil, TYPE_RIDE_EMBLEM):GetFirst() local tc = Duel.GetMatchingGroup(Card.IsType, tp, LOCATION_RIDE, 0, nil, TYPE_RIDE_CREST):GetFirst()
VgF.Sendto(LOCATION_CREST, tc, tp, POS_FACEUP_DEFENSE, REASON_EFFECT) VgF.Sendto(LOCATION_CREST, tc, tp, POS_FACEUP_DEFENSE, REASON_EFFECT)
end end
elseif sel == 0 or (sel == 1 and a and b) then elseif sel == 0 or (sel == 1 and a and b) then
...@@ -644,7 +644,7 @@ end ...@@ -644,7 +644,7 @@ end
function VgD.MonsterBattle(c) function VgD.MonsterBattle(c)
--攻击转守备 --攻击转守备
local e1 = Effect.CreateEffect(c) local e1 = Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE + EFFECT_TYPE_CONTINUOUS) e1:SetType(EFFECT_TYPE_SINGLE + EFFECT_TYPE_SET)
e1:SetCode(EVENT_ATTACK_ANNOUNCE) e1:SetCode(EVENT_ATTACK_ANNOUNCE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetOperation(function (e, tp, eg, ep, ev, re, r, rp) e1:SetOperation(function (e, tp, eg, ep, ev, re, r, rp)
...@@ -662,7 +662,7 @@ function VgD.MonsterBattle(c) ...@@ -662,7 +662,7 @@ function VgD.MonsterBattle(c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--回合开始转攻 --回合开始转攻
local e2 = Effect.CreateEffect(c) local e2 = Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_CONTINUOUS) e2:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_SET)
e2:SetCode(EVENT_PREDRAW) e2:SetCode(EVENT_PREDRAW)
e2:SetRange(LOCATION_ALL) e2:SetRange(LOCATION_ALL)
e2:SetCountLimit(1, VgID + 4) e2:SetCountLimit(1, VgID + 4)
...@@ -799,7 +799,7 @@ function VgD.MonsterBattle(c) ...@@ -799,7 +799,7 @@ function VgD.MonsterBattle(c)
end) end)
c:RegisterEffect(e7) c:RegisterEffect(e7)
local e8 = Effect.CreateEffect(c) local e8 = Effect.CreateEffect(c)
e8:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_CONTINUOUS) e8:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_SET)
e8:SetCode(EVENT_DAMAGE_STEP_END) e8:SetCode(EVENT_DAMAGE_STEP_END)
e8:SetProperty(EFFECT_FLAG_DAMAGE_STEP + EFFECT_FLAG_CANNOT_DISABLE + EFFECT_FLAG_DELAY) e8:SetProperty(EFFECT_FLAG_DAMAGE_STEP + EFFECT_FLAG_CANNOT_DISABLE + EFFECT_FLAG_DELAY)
e8:SetRange(LOCATION_ALL) e8:SetRange(LOCATION_ALL)
...@@ -886,7 +886,7 @@ function VgD.OverDress(c, filter) ...@@ -886,7 +886,7 @@ function VgD.OverDress(c, filter)
e1:SetOperation(VgD.OverDressOperation(filter)) e1:SetOperation(VgD.OverDressOperation(filter))
c:RegisterEffect(e1) c:RegisterEffect(e1)
local e2 = Effect.CreateEffect(c) local e2 = Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE + EFFECT_TYPE_CONTINUOUS) e2:SetType(EFFECT_TYPE_SINGLE + EFFECT_TYPE_SET)
e2:SetCode(EVENT_SPSUMMON_SUCCESS) e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetOperation(function (e, tp, eg, ep, ev, re, r, rp) e2:SetOperation(function (e, tp, eg, ep, ev, re, r, rp)
...@@ -1029,7 +1029,7 @@ function VgD.AlchemagicCostFilter(c, e, tp, eg, ep, ev, re, r, rp, mc) ...@@ -1029,7 +1029,7 @@ function VgD.AlchemagicCostFilter(c, e, tp, eg, ep, ev, re, r, rp, mc)
if VgF.GetValueType(c_cos_val) ~= "number" then c_cos_val = 0 end if VgF.GetValueType(c_cos_val) ~= "number" then c_cos_val = 0 end
local both_cos_val = mc_cos_val + c_cos_val local both_cos_val = mc_cos_val + c_cos_val
--判断其他减少费用的效果 --判断其他减少费用的效果
if mc_cost_from == LOCATION_SOUL and Duel.GetFlagEffect(tp, AFFECT_CODE_OVERLAY_COST_FREE_WHEN_ALCHEMAGIC) > 0 then mc_cos_val, c_cos_val, both_cos_val = 0, 0, 0 end if mc_cost_from == LOCATION_SOUL and Duel.GetFlagEffect(tp, AFFECT_CODE_SOUL_BLAST_FREE_WHEN_ALCHEMAGIC) > 0 then mc_cos_val, c_cos_val, both_cos_val = 0, 0, 0 end
local mcg = VgF.GetMatchingGroup(mcfilter[mcv], tp, mc_cost_from, 0, c, e, tp) local mcg = VgF.GetMatchingGroup(mcfilter[mcv], tp, mc_cost_from, 0, c, e, tp)
local cg = VgF.GetMatchingGroup(cfilter[cv], tp, c_cost_from, 0, mc, e, tp) local cg = VgF.GetMatchingGroup(cfilter[cv], tp, c_cost_from, 0, mc, e, tp)
local a = mcg:GetCount() < mc_cos_val local a = mcg:GetCount() < mc_cos_val
...@@ -1069,7 +1069,7 @@ function VgD.AlchemagicCostFilter(c, e, tp, eg, ep, ev, re, r, rp, mc) ...@@ -1069,7 +1069,7 @@ function VgD.AlchemagicCostFilter(c, e, tp, eg, ep, ev, re, r, rp, mc)
local c_cos_val = cval[cv] local c_cos_val = cval[cv]
if VgF.GetValueType(c_cos_val) ~= "number" then c_cos_val = 0 end if VgF.GetValueType(c_cos_val) ~= "number" then c_cos_val = 0 end
--判断其他减少费用的效果 --判断其他减少费用的效果
if c_cost_from == LOCATION_SOUL and Duel.GetFlagEffect(tp, AFFECT_CODE_OVERLAY_COST_FREE_WHEN_ALCHEMAGIC) > 0 then c_cos_val = 0 end if c_cost_from == LOCATION_SOUL and Duel.GetFlagEffect(tp, AFFECT_CODE_SOUL_BLAST_FREE_WHEN_ALCHEMAGIC) > 0 then c_cos_val = 0 end
if c_cost_from == LOCATION_DAMAGE and Duel.GetFlagEffect(tp, 10402010) > 0 then if c_cost_from == LOCATION_DAMAGE and Duel.GetFlagEffect(tp, 10402010) > 0 then
local c_10402010 = Duel.GetFlagEffectLabel(tp, 10402010) local c_10402010 = Duel.GetFlagEffectLabel(tp, 10402010)
if c_cos_val > c_10402010 then c_cos_val = c_cos_val - c_10402010 if c_cos_val > c_10402010 then c_cos_val = c_cos_val - c_10402010
...@@ -1087,7 +1087,7 @@ function VgD.AlchemagicCostFilter(c, e, tp, eg, ep, ev, re, r, rp, mc) ...@@ -1087,7 +1087,7 @@ function VgD.AlchemagicCostFilter(c, e, tp, eg, ep, ev, re, r, rp, mc)
local mc_cos_val = mcval[mcv] local mc_cos_val = mcval[mcv]
if VgF.GetValueType(mc_cos_val) ~= "number" then mc_cos_val = 0 end if VgF.GetValueType(mc_cos_val) ~= "number" then mc_cos_val = 0 end
--判断其他减少费用的效果 --判断其他减少费用的效果
if mc_cost_from == LOCATION_SOUL and Duel.GetFlagEffect(tp, AFFECT_CODE_OVERLAY_COST_FREE_WHEN_ALCHEMAGIC) > 0 then mc_cos_val = 0 end if mc_cost_from == LOCATION_SOUL and Duel.GetFlagEffect(tp, AFFECT_CODE_SOUL_BLAST_FREE_WHEN_ALCHEMAGIC) > 0 then mc_cos_val = 0 end
local mcg = VgF.GetMatchingGroup(mcfilter[mcv], tp, mc_cost_from, 0, c, e, tp) local mcg = VgF.GetMatchingGroup(mcfilter[mcv], tp, mc_cost_from, 0, c, e, tp)
if mc_cost_from == LOCATION_DAMAGE and Duel.GetFlagEffect(tp, 10402010) > 0 then if mc_cost_from == LOCATION_DAMAGE and Duel.GetFlagEffect(tp, 10402010) > 0 then
local c_10402010 = Duel.GetFlagEffectLabel(tp, 10402010) local c_10402010 = Duel.GetFlagEffectLabel(tp, 10402010)
...@@ -1105,7 +1105,7 @@ function VgD.AlchemagicCostFilter(c, e, tp, eg, ep, ev, re, r, rp, mc) ...@@ -1105,7 +1105,7 @@ function VgD.AlchemagicCostFilter(c, e, tp, eg, ep, ev, re, r, rp, mc)
local c_cos_val = mcval[cv] local c_cos_val = mcval[cv]
if VgF.GetValueType(c_cos_val) ~= "number" then c_cos_val = 0 end if VgF.GetValueType(c_cos_val) ~= "number" then c_cos_val = 0 end
--判断其他减少费用的效果 --判断其他减少费用的效果
if c_cost_from == LOCATION_SOUL and Duel.GetFlagEffect(tp, AFFECT_CODE_OVERLAY_COST_FREE_WHEN_ALCHEMAGIC) > 0 then c_cos_val = 0 end if c_cost_from == LOCATION_SOUL and Duel.GetFlagEffect(tp, AFFECT_CODE_SOUL_BLAST_FREE_WHEN_ALCHEMAGIC) > 0 then c_cos_val = 0 end
local cg = VgF.GetMatchingGroup(cfilter[cv], tp, c_cost_from, 0, c, e, tp) local cg = VgF.GetMatchingGroup(cfilter[cv], tp, c_cost_from, 0, c, e, tp)
if c_cost_from == LOCATION_DAMAGE and Duel.GetFlagEffect(tp, 10402010) > 0 then if c_cost_from == LOCATION_DAMAGE and Duel.GetFlagEffect(tp, 10402010) > 0 then
local c_10402010 = Duel.GetFlagEffectLabel(tp, 10402010) local c_10402010 = Duel.GetFlagEffectLabel(tp, 10402010)
...@@ -1219,12 +1219,12 @@ function VgD.AlchemagicCostOperation(c, bc, tp) ...@@ -1219,12 +1219,12 @@ function VgD.AlchemagicCostOperation(c, bc, tp)
if tg_val_bc_max < tg_val_bc then tg_val_bc_max = tg_val_bc end if tg_val_bc_max < tg_val_bc then tg_val_bc_max = tg_val_bc end
--判断其他减少费用的效果 --判断其他减少费用的效果
--继承的少女 亨德莉娜 --继承的少女 亨德莉娜
if tg_from == LOCATION_SOUL and Duel.GetFlagEffect(tp, AFFECT_CODE_OVERLAY_COST_FREE_WHEN_ALCHEMAGIC) > 0 then if tg_from == LOCATION_SOUL and Duel.GetFlagEffect(tp, AFFECT_CODE_SOUL_BLAST_FREE_WHEN_ALCHEMAGIC) > 0 then
if tg:GetCount() < tg_val_c + tg_val_bc or tg:FilterCount(tg_filter_c, nil) < tg_val_c or tg:FilterCount(tg_filter_bc, nil) < tg_val_bc then if tg:GetCount() < tg_val_c + tg_val_bc or tg:FilterCount(tg_filter_c, nil) < tg_val_c or tg:FilterCount(tg_filter_bc, nil) < tg_val_bc then
Duel.ResetFlagEffect(tp, AFFECT_CODE_OVERLAY_COST_FREE_WHEN_ALCHEMAGIC) Duel.ResetFlagEffect(tp, AFFECT_CODE_SOUL_BLAST_FREE_WHEN_ALCHEMAGIC)
goto continue goto continue
elseif Duel.SelectYesNo(tp, VgF.Stringid(10401023, 1)) then elseif Duel.SelectYesNo(tp, VgF.Stringid(10401023, 1)) then
Duel.ResetFlagEffect(tp, AFFECT_CODE_OVERLAY_COST_FREE_WHEN_ALCHEMAGIC) Duel.ResetFlagEffect(tp, AFFECT_CODE_SOUL_BLAST_FREE_WHEN_ALCHEMAGIC)
goto continue goto continue
end end
end end
...@@ -1461,7 +1461,7 @@ function VgD.BeRidedByCard(c, m, filter, op, cost, con, tg, id) ...@@ -1461,7 +1461,7 @@ function VgD.BeRidedByCard(c, m, filter, op, cost, con, tg, id)
local desc = VgF.Stringid(m, id or 2) local desc = VgF.Stringid(m, id or 2)
-- set effect -- set effect
local e = Effect.CreateEffect(c) local e = Effect.CreateEffect(c)
e:SetType(EFFECT_TYPE_SINGLE + EFFECT_TYPE_CONTINUOUS) e:SetType(EFFECT_TYPE_SINGLE + EFFECT_TYPE_SET)
e:SetCode(EVENT_BE_MATERIAL) e:SetCode(EVENT_BE_MATERIAL)
e:SetProperty(EFFECT_FLAG_EVENT_PLAYER) e:SetProperty(EFFECT_FLAG_EVENT_PLAYER)
e:SetCondition(VgD.BeRidedByCardCondition(con, filter)) e:SetCondition(VgD.BeRidedByCardCondition(con, filter))
...@@ -1618,7 +1618,7 @@ function VgD.TriggerCountUp(c, m, num, con, reset, hc) ...@@ -1618,7 +1618,7 @@ function VgD.TriggerCountUp(c, m, num, con, reset, hc)
hc = hc and VgF.ReturnCard(hc) or c hc = hc and VgF.ReturnCard(hc) or c
-- set effect -- set effect
local e = Effect.CreateEffect(c) local e = Effect.CreateEffect(c)
e:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_CONTINUOUS) e:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_SET)
e:SetRange(LOCATION_CIRCLE) e:SetRange(LOCATION_CIRCLE)
e:SetCode(EVENT_CUSTOM + EVENT_TRIGGERCOUNTUP) e:SetCode(EVENT_CUSTOM + EVENT_TRIGGERCOUNTUP)
e:SetProperty(EFFECT_FLAG_DELAY) e:SetProperty(EFFECT_FLAG_DELAY)
...@@ -1787,7 +1787,7 @@ function VgD.NightEffect(c, m) ...@@ -1787,7 +1787,7 @@ function VgD.NightEffect(c, m)
return e1, e2 return e1, e2
end end
function VgD.NightFilter(c) function VgD.NightFilter(c)
return not c:IsSetCard(0x5040) and c:IsType(TYPE_CONTINUOUS) return not c:IsSetCard(0x5040) and c:IsType(TYPE_SET)
end end
---【永】【指令区】:对手在可以将后防者通常CALL出场的时段,对手可以将以下的效果执行。 ---【永】【指令区】:对手在可以将后防者通常CALL出场的时段,对手可以将以下的效果执行。
...@@ -1823,26 +1823,26 @@ function VgD.CallInPrisonCondition(val) ...@@ -1823,26 +1823,26 @@ 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.OverlayCost(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.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.DamageCost(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.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.OverlayCost(1)(e, tp, eg, ep, ev, re, r, rp, 1) VgF.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_MONSTER) then if g:GetFirst():IsType(TYPE_UNIT) then
VgF.Sendto(LOCATION_CIRCLE, g, 0, tp) VgF.Sendto(LOCATION_CIRCLE, g, 0, tp)
else else
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.DamageCost(1)(e, tp, eg, ep, ev, re, r, rp, 1) VgF.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_MONSTER) local g = tg:Filter(Card.IsType, nil, TYPE_UNIT)
if g:GetCount() > 0 then if g:GetCount() > 0 then
VgF.Sendto(LOCATION_CIRCLE, g, 0, tp) VgF.Sendto(LOCATION_CIRCLE, g, 0, tp)
tg:Sub(g) tg:Sub(g)
...@@ -1856,7 +1856,7 @@ function VgD.CallInPrisonOperation(val) ...@@ -1856,7 +1856,7 @@ function VgD.CallInPrisonOperation(val)
end end
end end
function VgD.CallInPrisonFilter(c, e, tp) function VgD.CallInPrisonFilter(c, e, tp)
return c:GetFlagEffect(FLAG_IMPRISON) > 0 and (vgf.IsCanBeCalled(c, e, tp) or not c:IsType(TYPE_MONSTER)) return c:GetFlagEffect(FLAG_IMPRISON) > 0 and (vgf.IsCanBeCalled(c, e, tp) or not c:IsType(TYPE_UNIT))
end end
--其他---------------------------------------------------------------------------------------- --其他----------------------------------------------------------------------------------------
...@@ -1890,7 +1890,7 @@ function VgD.GlobalCheckEffect(c, m, code, con, op) ...@@ -1890,7 +1890,7 @@ function VgD.GlobalCheckEffect(c, m, code, con, op)
end end
-- set effect -- set effect
local ge = Effect.CreateEffect(c) local ge = Effect.CreateEffect(c)
ge:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_CONTINUOUS) ge:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_SET)
ge:SetCode(code) ge:SetCode(code)
if con then ge:SetCondition(con) end if con then ge:SetCondition(con) end
ge:SetOperation(op) ge:SetOperation(op)
......
...@@ -52,17 +52,18 @@ POS_ATTACK = 0x3 --攻击表示 ...@@ -52,17 +52,18 @@ POS_ATTACK = 0x3 --攻击表示
POS_DEFENSE = 0xc --守备表示 POS_DEFENSE = 0xc --守备表示
NO_FLIP_EFFECT = 0x10000--不发动反转效果 NO_FLIP_EFFECT = 0x10000--不发动反转效果
--Types 卡片类型 --Types 卡片类型
TYPE_MONSTER = 0x1 --单位卡 TYPE_UNIT = 0x1 --单位卡
TYPE_SPELL = 0x2 --指令卡 TYPE_ORDER = 0x2 --指令卡
TYPE_TRAP = 0x4 --标记 TYPE_TRAP = 0x4 --标记
TYPE_NORMAL = 0x20 --普通 TYPE_NORMAL = 0x20 --普通
TYPE_TRIIGER = 0x80 --触发 TYPE_TRIGGER = 0x80 --触发
TYPE_G = 0x200 --G TYPE_G = 0x200 --G
TYPE_TOKEN = 0x4000 --衍生 TYPE_TOKEN = 0x4000 --衍生
TYPE_QUICKPLAY = 0x10000 --闪现 TYPE_BLITZ = 0x10000 --闪现
TYPE_CONTINUOUS = 0x20000 --设置 TYPE_SET = 0x20000 --设置
TYPE_EMBLEM = 0x100000 --纹章 TYPE_CREST = 0x100000 --纹章
TYPE_RIDE_EMBLEM = 0x100044 --RIDE卡组纹章 TYPE_RIDE_CREST = 0x100044 --RIDE卡组纹章
--技能 --属性 --技能 --属性
SKILL_ALL = 0x7f --All SKILL_ALL = 0x7f --All
...@@ -279,7 +280,7 @@ EFFECT_TYPE_TRIGGER_O = 0x0080 --诱发选发效果 ...@@ -279,7 +280,7 @@ EFFECT_TYPE_TRIGGER_O = 0x0080 --诱发选发效果
EFFECT_TYPE_QUICK_O = 0x0100 --诱发即时效果 EFFECT_TYPE_QUICK_O = 0x0100 --诱发即时效果
EFFECT_TYPE_TRIGGER_F = 0x0200 --诱发必发效果 EFFECT_TYPE_TRIGGER_F = 0x0200 --诱发必发效果
EFFECT_TYPE_QUICK_F = 0x0400 --诱发即时必发效果(熊猫龙等) EFFECT_TYPE_QUICK_F = 0x0400 --诱发即时必发效果(熊猫龙等)
EFFECT_TYPE_CONTINUOUS = 0x0800 --由事件觸發的輔助用效果/永續效果 EFFECT_TYPE_SET = 0x0800 --由事件觸發的輔助用效果/永續效果
EFFECT_TYPE_XMATERIAL = 0x1000 --作为超量素材时超量怪兽获得的效果(十二兽) EFFECT_TYPE_XMATERIAL = 0x1000 --作为超量素材时超量怪兽获得的效果(十二兽)
EFFECT_TYPE_GRANT = 0x2000 --使其他卡片获得效果(天气模样) EFFECT_TYPE_GRANT = 0x2000 --使其他卡片获得效果(天气模样)
EFFECT_TYPE_TARGET = 0x4000 --影响持续取的对象的效果(基本只用于魔陷) EFFECT_TYPE_TARGET = 0x4000 --影响持续取的对象的效果(基本只用于魔陷)
...@@ -300,7 +301,7 @@ EFFECT_FLAG_BOTH_SIDE = 0x1000 --双方都能使用(部分场地,弹压) ...@@ -300,7 +301,7 @@ EFFECT_FLAG_BOTH_SIDE = 0x1000 --双方都能使用(部分场地,弹压)
EFFECT_FLAG_COPY_INHERIT = 0x2000 --若由复制的效果產生則继承其Reset属性 EFFECT_FLAG_COPY_INHERIT = 0x2000 --若由复制的效果產生則继承其Reset属性
EFFECT_FLAG_DAMAGE_STEP = 0x4000 --可以在伤害步骤发动 EFFECT_FLAG_DAMAGE_STEP = 0x4000 --可以在伤害步骤发动
EFFECT_FLAG_DAMAGE_CAL = 0x8000 --可以在伤害计算时发动 EFFECT_FLAG_DAMAGE_CAL = 0x8000 --可以在伤害计算时发动
EFFECT_FLAG_DELAY = 0x10000 --場合型誘發效果、用於永續效果的EFFECT_TYPE_CONTINUOUS EFFECT_FLAG_DELAY = 0x10000 --場合型誘發效果、用於永續效果的EFFECT_TYPE_SET
EFFECT_FLAG_SINGLE_RANGE = 0x20000 --只对自己有效 EFFECT_FLAG_SINGLE_RANGE = 0x20000 --只对自己有效
EFFECT_FLAG_UNCOPYABLE = 0x40000 --不能复制的原始效果(效果外文本) EFFECT_FLAG_UNCOPYABLE = 0x40000 --不能复制的原始效果(效果外文本)
EFFECT_FLAG_OATH = 0x80000 --誓约效果 EFFECT_FLAG_OATH = 0x80000 --誓约效果
...@@ -638,7 +639,7 @@ EVENT_PREDRAW = 1113 --抽卡阶段通常抽卡前 ...@@ -638,7 +639,7 @@ EVENT_PREDRAW = 1113 --抽卡阶段通常抽卡前
EVENT_SUMMON_NEGATED = 1114 --召唤被无效时 EVENT_SUMMON_NEGATED = 1114 --召唤被无效时
EVENT_FLIP_SUMMON_NEGATED = 1115 --反转召唤被无效时 EVENT_FLIP_SUMMON_NEGATED = 1115 --反转召唤被无效时
EVENT_SPSUMMON_NEGATED = 1116 --特殊召唤被无效时 EVENT_SPSUMMON_NEGATED = 1116 --特殊召唤被无效时
EVENT_SPSUMMON_SUCCESS_G_P = 1117 --EFFECT_SPSUMMON_PROC_G特殊召唤成功前(只能使用EFFECT_TYPE_CONTINUOUS) EVENT_SPSUMMON_SUCCESS_G_P = 1117 --EFFECT_SPSUMMON_PROC_G特殊召唤成功前(只能使用EFFECT_TYPE_SET)
EVENT_CONTROL_CHANGED = 1120 --控制权变更 EVENT_CONTROL_CHANGED = 1120 --控制权变更
EVENT_EQUIP = 1121 --装备卡装备时 EVENT_EQUIP = 1121 --装备卡装备时
EVENT_ATTACK_ANNOUNCE = 1130 --攻击宣言时 EVENT_ATTACK_ANNOUNCE = 1130 --攻击宣言时
...@@ -647,7 +648,7 @@ EVENT_BATTLE_START = 1132 --伤害步骤开始时(反转前) ...@@ -647,7 +648,7 @@ EVENT_BATTLE_START = 1132 --伤害步骤开始时(反转前)
EVENT_BATTLE_CONFIRM = 1133 --伤害计算前(反转後) EVENT_BATTLE_CONFIRM = 1133 --伤害计算前(反转後)
EVENT_PRE_DAMAGE_CALCULATE = 1134 --伤害计算时(羽斬) EVENT_PRE_DAMAGE_CALCULATE = 1134 --伤害计算时(羽斬)
EVENT_DAMAGE_CALCULATING = 1135 --N/A EVENT_DAMAGE_CALCULATING = 1135 --N/A
EVENT_PRE_BATTLE_DAMAGE = 1136 --即将产生战斗伤害(只能使用EFFECT_TYPE_CONTINUOUS) EVENT_PRE_BATTLE_DAMAGE = 1136 --即将产生战斗伤害(只能使用EFFECT_TYPE_SET)
EVENT_BATTLE_END = 1137 --N/A EVENT_BATTLE_END = 1137 --N/A
EVENT_BATTLED = 1138 --伤害计算后(异女、同反转效果时点) EVENT_BATTLED = 1138 --伤害计算后(异女、同反转效果时点)
EVENT_BATTLE_DESTROYING = 1139 --以战斗破坏怪兽送去墓地时(BF- 苍炎之修罗) EVENT_BATTLE_DESTROYING = 1139 --以战斗破坏怪兽送去墓地时(BF- 苍炎之修罗)
...@@ -726,7 +727,7 @@ OPCODE_ISATTRIBUTE = 0x40000104 ...@@ -726,7 +727,7 @@ OPCODE_ISATTRIBUTE = 0x40000104
DOUBLE_DAMAGE = -2147483648 DOUBLE_DAMAGE = -2147483648
HALF_DAMAGE = -2147483647 HALF_DAMAGE = -2147483647
--Hint Message --提示消息,显示在窗口的上面 --Hint Message --提示消息,显示在窗口的上面
HINTMSG_LEAVEFIELD = 500 --请选择要退场的卡 HINTMSG_LEAVEFIELD = 500 --请选择要退场的卡
HINTMSG_DISCARD = 501 --请选择要丢弃的手牌 HINTMSG_DISCARD = 501 --请选择要丢弃的手牌
HINTMSG_IMPRISON = 502 --请选择要收容的卡 HINTMSG_IMPRISON = 502 --请选择要收容的卡
HINTMSG_REMOVE = 503 --请选择要除外的卡 HINTMSG_REMOVE = 503 --请选择要除外的卡
...@@ -875,7 +876,7 @@ AFFECT_CODE_ALCHEMAGIC_DIFFERENT_NAME = VgID + 1 --魔合成(卡名不同 ...@@ -875,7 +876,7 @@ AFFECT_CODE_ALCHEMAGIC_DIFFERENT_NAME = VgID + 1 --魔合成(卡名不同
AFFECT_CODE_BOTH_WING = VgID + 2 --你的卡片的白翼能力和黑翼能力两方均有效 AFFECT_CODE_BOTH_WING = VgID + 2 --你的卡片的白翼能力和黑翼能力两方均有效
AFFECT_CODE_NIGHT = VgID + 3 --黑夜 AFFECT_CODE_NIGHT = VgID + 3 --黑夜
AFFECT_CODE_DEEP_NIGHT = VgID + 4 --深渊黑夜 AFFECT_CODE_DEEP_NIGHT = VgID + 4 --深渊黑夜
AFFECT_CODE_OVERLAY_COST_FREE_WHEN_ALCHEMAGIC = VgID + 5 --魔合成可以不支付灵魂爆发 AFFECT_CODE_SOUL_BLAST_FREE_WHEN_ALCHEMAGIC = VgID + 5 --魔合成可以不支付灵魂爆发
AFFECT_CODE_DEFENDER_CANNOT_TO_G_CIRCLE = VgID + 6 --不能将守护者从手牌CALL到G上 AFFECT_CODE_DEFENDER_CANNOT_TO_G_CIRCLE = VgID + 6 --不能将守护者从手牌CALL到G上
......
...@@ -561,7 +561,7 @@ end ...@@ -561,7 +561,7 @@ end
function VgF.IsAbleToGCircle(c) function VgF.IsAbleToGCircle(c)
if c:IsLocation(LOCATION_HAND) then if c:IsLocation(LOCATION_HAND) then
if Duel.IsPlayerAffectedByEffect(c:GetControler(), AFFECT_CODE_DEFENDER_CANNOT_TO_G_CIRCLE) and c:GetBaseDefense() == 0 then return false end if Duel.IsPlayerAffectedByEffect(c:GetControler(), AFFECT_CODE_DEFENDER_CANNOT_TO_G_CIRCLE) and c:GetBaseDefense() == 0 then return false end
return c:IsType(TYPE_MONSTER) return c:IsType(TYPE_UNIT)
elseif c:IsLocation(LOCATION_CIRCLE) then elseif c:IsLocation(LOCATION_CIRCLE) then
return c:IsAttribute(SKILL_BLOCK) and VgF.IsSequence(c, 0, 4) and c:IsLocation(LOCATION_CIRCLE) and c:IsFaceup() return c:IsAttribute(SKILL_BLOCK) and VgF.IsSequence(c, 0, 4) and c:IsLocation(LOCATION_CIRCLE) and c:IsFaceup()
end end
...@@ -570,7 +570,7 @@ end ...@@ -570,7 +570,7 @@ end
---用于效果的Operation。它返回一个执行“[计数回充val]”的函数。 ---用于效果的Operation。它返回一个执行“[计数回充val]”的函数。
---@param val number 计数回充的数量 ---@param val number 计数回充的数量
---@return function 效果的Operation函数 ---@return function 效果的Operation函数
function VgF.DamageFill(val) function VgF.CounterCharge(val)
return function (e, tp, eg, ep, ev, re, r, rp) return function (e, tp, eg, ep, ev, re, r, rp)
local c = e:GetHandler() local c = e:GetHandler()
Duel.Hint(HINT_SELECTMSG, tp, HINTMSG_POSCHANGE) Duel.Hint(HINT_SELECTMSG, tp, HINTMSG_POSCHANGE)
...@@ -581,7 +581,7 @@ function VgF.DamageFill(val) ...@@ -581,7 +581,7 @@ function VgF.DamageFill(val)
end end
---用于效果的Cost。它返回一个执行“【费用】[将这个单位放置到灵魂里]”的函数。 ---用于效果的Cost。它返回一个执行“【费用】[将这个单位放置到灵魂里]”的函数。
function VgF.ToOverlayCost(e,tp,eg,ep,ev,re,r,rp,chk) function VgF.ToSoul(e,tp,eg,ep,ev,re,r,rp,chk)
return function () return function ()
local c = e:GetHandler() local c = e:GetHandler()
if chk == 0 then return c:IsRelateToEffect(e) end if chk == 0 then return c:IsRelateToEffect(e) end
...@@ -623,7 +623,7 @@ end ...@@ -623,7 +623,7 @@ end
---用于效果的Cost。它返回一个执行“【费用】[将手牌中的val张卡舍弃]”的函数。 ---用于效果的Cost。它返回一个执行“【费用】[将手牌中的val张卡舍弃]”的函数。
---@param val number 要舍弃的卡的数量 ---@param val number 要舍弃的卡的数量
---@return function 效果的Cost函数 ---@return function 效果的Cost函数
function VgF.DisCardCost(val) function VgF.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 +646,7 @@ end ...@@ -646,7 +646,7 @@ end
---用于效果的Cost。它返回一个执行“【费用】[能量爆发val]”的函数。 ---用于效果的Cost。它返回一个执行“【费用】[能量爆发val]”的函数。
---@param val number 能量爆发的数量 ---@param val number 能量爆发的数量
---@return function 效果的Cost函数 ---@return function 效果的Cost函数
function VgF.EnergyCost(val) function VgF.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 +669,7 @@ end ...@@ -669,7 +669,7 @@ end
---用于效果的Cost。它返回一个执行“【费用】[灵魂爆发val]”的函数。 ---用于效果的Cost。它返回一个执行“【费用】[灵魂爆发val]”的函数。
---@param val number 灵魂爆发的数量 ---@param val number 灵魂爆发的数量
---@return function 效果的Cost函数 ---@return function 效果的Cost函数
function VgF.OverlayCost(val) function VgF.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()
...@@ -692,7 +692,7 @@ end ...@@ -692,7 +692,7 @@ end
---用于效果的Cost或Operation。它返回一个执行“【费用】[灵魂填充val]”的函数。 ---用于效果的Cost或Operation。它返回一个执行“【费用】[灵魂填充val]”的函数。
---@param val number 灵魂填充的数量 ---@param val number 灵魂填充的数量
---@return function 效果的Cost或Operation函数 ---@return function 效果的Cost或Operation函数
function VgF.OverlayFill(val) function VgF.SoulCharge(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()
...@@ -717,7 +717,7 @@ end ...@@ -717,7 +717,7 @@ end
---用于效果的Cost。它返回一个执行“【费用】[计数爆发val]”的函数。 ---用于效果的Cost。它返回一个执行“【费用】[计数爆发val]”的函数。
---@param val number 计数爆发的数量 ---@param val number 计数爆发的数量
---@return function 效果的Cost函数 ---@return function 效果的Cost函数
function VgF.DamageCost(val) function VgF.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()
...@@ -808,7 +808,7 @@ function VgF.IsCanBeCalled(c, e, tp, sumtype, pos, zone) ...@@ -808,7 +808,7 @@ function VgF.IsCanBeCalled(c, e, tp, sumtype, pos, zone)
if VgF.GetValueType(pos) ~= "number" then pos = POS_FACEUP_ATTACK end if VgF.GetValueType(pos) ~= "number" then pos = POS_FACEUP_ATTACK end
if VgF.GetValueType(zone) == "string" and zone == "FromOverlayToV" then if VgF.GetValueType(zone) == "string" and zone == "FromOverlayToV" then
local _, code = c:GetOriginalCode() local _, code = c:GetOriginalCode()
return Duel.IsPlayerCanSpecialSummonMonster(tp, code, nil, TYPE_MONSTER + TYPE_NORMAL, c:GetBaseAttack(), c:GetBaseDefense(), c:GetOriginalLevel(), c:GetOriginalRace(), c:GetOriginalAttribute()) return Duel.IsPlayerCanSpecialSummonMonster(tp, code, nil, TYPE_UNIT + TYPE_NORMAL, c:GetBaseAttack(), c:GetBaseDefense(), c:GetOriginalLevel(), c:GetOriginalRace(), c:GetOriginalAttribute())
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
...@@ -1091,7 +1091,7 @@ end ...@@ -1091,7 +1091,7 @@ end
function VgF.EffectReset(c, e, code, con) function VgF.EffectReset(c, e, code, con)
if VgF.GetValueType(e) == "Effect" then if VgF.GetValueType(e) == "Effect" then
local e1 = Effect.CreateEffect(c) local e1 = Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_CONTINUOUS) e1:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_SET)
e1:SetCode(code) e1:SetCode(code)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetRange(LOCATION_ALL) e1:SetRange(LOCATION_ALL)
...@@ -1102,7 +1102,7 @@ function VgF.EffectReset(c, e, code, con) ...@@ -1102,7 +1102,7 @@ function VgF.EffectReset(c, e, code, con)
elseif VgF.GetValueType(e) == "table" then elseif VgF.GetValueType(e) == "table" then
for i, v in ipairs(e) do for i, v in ipairs(e) do
local e1 = Effect.CreateEffect(c) local e1 = Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_CONTINUOUS) e1:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_SET)
e1:SetCode(code) e1:SetCode(code)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetRange(LOCATION_ALL) e1:SetRange(LOCATION_ALL)
...@@ -1470,18 +1470,6 @@ function VgF.AddEffectWhenTrigger(c, m, op, cost, con, tg, chk) ...@@ -1470,18 +1470,6 @@ function VgF.AddEffectWhenTrigger(c, m, op, cost, con, tg, chk)
cm.effect_when_trigger = {op, cost, con, tg, chk} cm.effect_when_trigger = {op, cost, con, tg, chk}
end end
function VgF.ShiftLocationFromString(str)
local loc = 0
if str == "POSCHANGE" then return str end
for i = 1, 13 do
if str == LOCATION_LIST_STRING[i] then
loc = LOCATION_LIST[i]
break
end
end
return loc
end
function VgF.PlayerEffect(e, tp, eg, ep, ev, re, r, rp) function VgF.PlayerEffect(e, tp, eg, ep, ev, re, r, rp)
return true return true
end 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