Commit ebc93bab authored by xiaoye's avatar xiaoye

更改变量名

parent e8c5e12f
......@@ -73,7 +73,7 @@ function cm.initial_effect(c)
vgf.VgCard(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:SetProperty(EFFECT_FLAG_EVENT_PLAYER)
e1:SetCondition(cm.condition)--效果的条件
......@@ -153,7 +153,7 @@ vgd.Order(c, m, op, con, cost)
local cm,m,o=GetID()
function cm.initial_effect(c)
vgf.VgCard(c)
vgd.Order(c,m,cm.operation,vgf.DamageCost(1))
vgd.Order(c,m,cm.operation,vgf.CounterBlast(1))
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......@@ -261,7 +261,7 @@ VgD.AbilityAct(c, m[, loc, op, cost, con, tg, count, property])
local cm,m,o=GetID()
function cm.initial_effect(c)
vgf.VgCard(c)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,vgf.CardsFromTo(REASON_EFFECT,LOCATION_HAND,LOCATION_CIRCLE,LOCATION_DROP,cm.filter),vgf.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
function cm.filter(c)
return c:IsLevel(0)
......
......@@ -2,8 +2,8 @@
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,vgf.CardsFromTo(REASON_EFFECT,LOCATION_CIRCLE,LOCATION_DROP,cm.filter),vgf.DisCardCost(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.AbilityAct(c,m,LOCATION_CIRCLE,vgf.CardsFromTo(REASON_EFFECT,LOCATION_CIRCLE,LOCATION_DROP,cm.filter),vgf.Discard(1),vgf.VMonsterCondition,nil,1)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.operation,vgf.CounterBlast(1),vgf.VMonsterCondition)
end
function cm.filter(c)
return c:IsLevel(0)
......
......@@ -2,7 +2,7 @@
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.BeRidedByCard(c,m,10101001,vgf.CardsFromTo(REASON_EFFECT,LOCATION_HAND,LOCATION_DECK,cm.filter),vgf.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)
end
function cm.filter(c)
......
......@@ -11,8 +11,8 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local e1=vgf.AtkUp(c,c,5000,nil)
vgf.EffectReset(c,e1,EVENT_BATTLED)
end
if vgf.OverlayCost(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)
if vgf.SoulBlast(2)(e,tp,eg,ep,ev,re,r,rp,0) and Duel.SelectEffectYesNo(tp,vgf.stringid(VgID,10)) then
vgf.SoulBlast(2)(e,tp,eg,ep,ev,re,r,rp,1)
local g=vgf.SelectMatchingCard(HINTMSG_LEAVEFIELD,e,tp,vgf.RMonsterFilter,tp,0,LOCATION_CIRCLE,1,1,nil)
vgf.Sendto(LOCATION_DROP,g,REASON_EFFECT)
end
......
......@@ -2,5 +2,5 @@
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAuto(c, m,nil,nil,EVENT_TO_G_CIRCLE,nil,vgf.DisCardCost(1))
vgd.AbilityAuto(c, m,nil,nil,EVENT_TO_G_CIRCLE,nil,vgf.Discard(1))
end
\ No newline at end of file
......@@ -2,7 +2,7 @@
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.Order(c,m,cm.operation,vgf.DamageCost(1))
vgd.Order(c,m,cm.operation,vgf.CounterBlast(1))
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -2,7 +2,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.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
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -13,5 +13,5 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CALL)
local g=vgf.GetMatchingGroup(vgf.VMonsterFilter,tp,LOCATION_CIRCLE,0,nil):GetFirst():GetOverlayGroup():FilterSelect(tp,vgf.IsCanBeCalled,1,1,nil,e,tp,nil,nil,0x4)
vgf.Sendto(LOCATION_CIRCLE,g,0,tp,0x4)
vgf.OverlayFill(1)(e,tp,eg,ep,ev,re,r,rp)
vgf.SoulCharge(1)(e,tp,eg,ep,ev,re,r,rp)
end
......@@ -5,7 +5,7 @@ function cm.initial_effect(c)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
vgf.OverlayFill(1)
vgf.SoulCharge(1)
Duel.BreakEffect()
local ct=Duel.GetFlagEffectLabel(tp,FLAG_CONDITION)
if vgf.GetValueType(ct)=="number" and ct==10102001 and vgf.IsExistingMatchingCard(Card.IsFaceup,tp,LOCATION_DAMAGE,0,1,nil) and Duel.SelectEffectYesNo(tp,vgf.stringid(VgID,10)) then
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAuto(c, m,nil,nil,EVENT_TO_G_CIRCLE,cm.op,vgf.DamageCost(1))
vgd.AbilityAuto(c, m,nil,nil,EVENT_TO_G_CIRCLE,cm.op,vgf.CounterBlast(1))
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -8,7 +8,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
local num=1
local ct=Duel.GetFlagEffectLabel(tp,FLAG_CONDITION)
if vgf.GetValueType(ct)=="number" and ct==10102001 then num=num+1 end
vgf.OverlayFill(num)(e,tp,eg,ep,ev,re,r,rp)
vgf.SoulCharge(num)(e,tp,eg,ep,ev,re,r,rp)
end
function cm.con1(e,tp,eg,ep,ev,re,r,rp)
return vgf.RMonsterCondition(e) and vgf.GetVMonster(tp):IsCode(10102001)
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAuto(c, m,nil,nil,EVENT_TO_G_CIRCLE,nil,vgf.DisCardCost(1))
vgd.AbilityAuto(c, m,nil,nil,EVENT_TO_G_CIRCLE,nil,vgf.Discard(1))
end
......@@ -2,5 +2,5 @@
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.Order(c,m,vgf.OverlayFill(2))
vgd.Order(c,m,vgf.SoulCharge(2))
end
\ No newline at end of file
......@@ -3,7 +3,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
--【自】【V】【1回合1次】:你的攻击判定将等级3的卡判出的战斗结束时,通过【费用】[将手牌中的1张卡舍弃],选择你的1张后防者,重置,这个回合中,那个单位的力量+10000。
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_BATTLED,cm.operation,vgf.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)
--【永】【V】:你的回合中,你所有的等级3的单位的力量+2000。
vgd.AbilityCont(c, m, LOCATION_CIRCLE, EFFECT_TYPE_FIELD, EFFECT_UPDATE_ATTACK, 2000, cm.con, cm.target, LOCATION_CIRCLE+LOCATION_G_CIRCLE, 0)
......
......@@ -3,7 +3,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.BeRidedByCard(c,m,10103002,cm.operation,cm.cost)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.operation2,vgf.DamageCost(1),vgf.RMonsterCondition,nil,1)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.operation2,vgf.CounterBlast(1),vgf.RMonsterCondition,nil,1)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return vgf.IsExistingMatchingCard(Card.IsLevel,tp,LOCATION_HAND,0,2,nil,3) end
......
......@@ -3,7 +3,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
--【自】【R】:这个单位攻击时,通过【费用】[计数爆发1],这次战斗中,这个单位的力量+5000。
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.operation,vgf.DamageCost(1),vgf.RMonsterCondition)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.operation,vgf.CounterBlast(1),vgf.RMonsterCondition)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -3,7 +3,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
--【起】【R】:通过【费用】[灵魂爆发2],这个回合中,这个单位的力量+5000。
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.operation,vgf.OverlayCost(2),vgf.RMonsterCondition)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.operation,vgf.SoulBlast(2),vgf.RMonsterCondition)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
......
......@@ -2,5 +2,5 @@
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAuto(c, m,nil,nil,EVENT_TO_G_CIRCLE,nil,vgf.DisCardCost(1))
vgd.AbilityAuto(c, m,nil,nil,EVENT_TO_G_CIRCLE,nil,vgf.Discard(1))
end
\ No newline at end of file
......@@ -3,7 +3,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
--【自】【V】:这个单位攻击的战斗结束时,通过【费用】[计数爆发1],选择你的1张后防者,这个回合中,那个单位可以从后列攻击,力量+5000。这个回合中你进行了人格RIDE的话,不选择1张,而是选择3张。
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_BATTLED,cm.operation,vgf.DamageCost(1),cm.condition)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_BATTLED,cm.operation,vgf.CounterBlast(1),cm.condition)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -3,9 +3,9 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
--【自】:这个单位被「树角兽王 马格诺利亚」RIDE时,通过【费用】[灵魂爆发1],将你的牌堆顶的1张卡公开,那张卡是单位卡的话,CALL到R上,不是的话,加入手牌。
vgd.BeRidedByCard(c,m,10104001,cm.operation,vgf.OverlayCost(1))
vgd.BeRidedByCard(c,m,10104001,cm.operation,vgf.SoulBlast(1))
--【自】【后列的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
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -19,8 +19,8 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
end
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return vgf.IsExistingMatchingCard(Card.IsFaceup,tp,LOCATION_DAMAGE,0,1,nil) and vgf.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)
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
\ No newline at end of file
......@@ -3,7 +3,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
--【起】【R】【1回合1次】:通过【费用】[灵魂爆发2],公开你的牌堆顶的1张卡,那张卡是单位卡的话,CALL到R上,不是的话,加入手牌
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.operation,vgf.OverlayCost(2),vgf.RMonsterCondition,nil,1)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.operation,vgf.SoulBlast(2),vgf.RMonsterCondition,nil,1)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -2,5 +2,5 @@
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAuto(c, m,nil,nil,EVENT_TO_G_CIRCLE,nil,vgf.DisCardCost(1))
vgd.AbilityAuto(c, m,nil,nil,EVENT_TO_G_CIRCLE,nil,vgf.Discard(1))
end
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.op1,vgf.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.TriggerCountUp(c,m,1,cm.con2)
end
......
......@@ -18,7 +18,7 @@ function cm.operation1(e,tp,eg,ep,ev,re,r,rp)
Duel.Draw(tp,1,REASON_EFFECT)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return vgf.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
vgf.DamageCost(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.OverlayCost(1)(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) and vgf.SoulBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) end
vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.SoulBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
end
\ No newline at end of file
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation,vgf.OverlayCost(1),cm.condition)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation,vgf.SoulBlast(1),cm.condition)
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -2,7 +2,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.SetOrder(c)
vgd.AbilityAuto(c,m,loc,EFFECT_TYPE_SINGLE,EVENT_MOVE,vgf.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)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
......
......@@ -10,9 +10,9 @@ function cm.con(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetFlagEffect(FLAG_SUPPORTED)>0 and Duel.GetAttacker()==e:GetHandler() and vgf.RMonsterCondition(e)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return vgf.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
vgf.OverlayCost(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.DisCardCost(1)(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return vgf.SoulBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) and vgf.Discard(1)(e,tp,eg,ep,ev,re,r,rp,chk) end
vgf.SoulBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.Discard(1)(e,tp,eg,ep,ev,re,r,rp,chk)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -12,7 +12,7 @@ function cm.initial_effect(c)
if not cm.global_check then
cm.global_check=true
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:SetCondition(cm.checkcon)
ge1:SetOperation(cm.checkop)
......
......@@ -3,7 +3,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
--【自】【V/R】:这个单位的攻击击中先导者时,灵魂填充1。
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_HITTING,vgf.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张卡。
vgd.BeRidedByCard(c,m,cm.filter,cm.operation)
end
......@@ -12,7 +12,7 @@ function cm.condition(e,tp,eg,ep,ev,re,r,rp)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
vgf.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
Duel.Draw(tp,1,REASON_EFFECT)
end
......
......@@ -21,7 +21,7 @@ function cm.operation2(e,tp,eg,ep,ev,re,r,rp)
local e2=vgf.AtkUp(c,c,5000)
vgf.EffectReset(c,e2,EVENT_BATTLED)
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:SetRange(LOCATION_CIRCLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
......
......@@ -3,7 +3,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
--【自】【R】:这个单位攻击时,你有含有「道拉珠艾尔德」的先导者的话,通过【费用】[计数爆发1],这次战斗中,这个单位的力量+10000。这次战斗结束时,将这个单位放置到灵魂里。
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.operation,vgf.DamageCost(1),cm.condition)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.operation,vgf.CounterBlast(1),cm.condition)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......@@ -11,7 +11,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local e2=vgf.AtkUp(c,c,10000)
vgf.EffectReset(c,e2,EVENT_BATTLED)
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:SetRange(LOCATION_CIRCLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
......
......@@ -4,7 +4,7 @@ function cm.initial_effect(c)
vgd.VgCard(c)
--【自】【R】:这个单位支援等级2以上的单位时,你可以灵魂填充1。
--时点需要改成支援时
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_CUSTOM+EVENT_SUPPORT,vgf.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
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetAttacker():IsLevelAbove(2) and eg:GetFirst()==e:GetHandler()
......
......@@ -3,7 +3,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
--【起】【R】【1回合1次】:你有等级3以上的先导者的话,通过【费用】[计数爆发2],抽1张卡。
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.operation,vgf.DamageCost(2),cm.condition,nil,1)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.operation,vgf.CounterBlast(2),cm.condition,nil,1)
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return vgf.RMonsterFilter(e:GetHandler()) and vgf.GetVMonster(tp):IsLevelAbove(3)
......
......@@ -3,7 +3,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
--【自】:这个单位登场到R时,你有含有「道拉珠艾尔德」的先导者的话,通过【费用】[灵魂爆发1],选择你的弃牌区中的1张卡,放置到灵魂里,这个回合中,这个单位的力量+2000。
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation,vgf.OverlayCost(1),cm.condition)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation,vgf.SoulBlast(1),cm.condition)
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return vgf.GetVMonster(tp):IsSetCard(0xe8) and vgf.RMonsterFilter(e:GetHandler())
......
......@@ -3,7 +3,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
--【自】:这个单位从手牌登场到R时,通过【费用】[计数爆发1],查看你的牌堆顶的3张卡,选择1张卡,放置到灵魂里,然后牌堆洗切,你的灵魂里有4张以上的相互不同等级的卡的话,抽1张卡。
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation,vgf.DamageCost(1),vgf.RSummonCondition)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation,vgf.CounterBlast(1),vgf.RSummonCondition)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetDecktopGroup(tp,3)
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.BeRidedByCard(c,m,cm.filter,vgf.CardsFromTo(REASON_EFFECT,LOCATION_HAND,LOCATION_DROP,cm.filter1),vgf.DamageCost(1))
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_CUSTOM+EVENT_SUPPORT,cm.operation1,vgf.OverlayCost(1),cm.condition1)
vgd.BeRidedByCard(c,m,cm.filter,vgf.CardsFromTo(REASON_EFFECT,LOCATION_HAND,LOCATION_DROP,cm.filter1),vgf.CounterBlast(1))
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_CUSTOM+EVENT_SUPPORT,cm.operation1,vgf.SoulBlast(1),cm.condition1)
end
function cm.filter(c)
return c:IsSetCard(0x202)
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.BeRidedByCard(c,m,10203002,cm.operation,vgf.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)
end
function cm.con(e)
......
......@@ -6,7 +6,7 @@ function cm.initial_effect(c)
if not cm.global_check then
cm.global_check=true
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:SetCondition(cm.checkcon)
ge1:SetOperation(cm.checkop)
......
local cm,m,o=GetID()
function cm.initial_effect(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
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_SPSUMMON_SUCCESS,cm.operation,vgf.DamageCost(1),cm.condition)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_SPSUMMON_SUCCESS,cm.operation,vgf.CounterBlast(1),cm.condition)
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_BATTLED,cm.operation,vgf.CostAnd(vgf.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
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.Order(c,m,vgf.CardsFromTo(REASON_EFFECT,LOCATION_HAND,LOCATION_DECK,cm.filter),vgf.DamageCost(1),cm.condition)
vgd.Order(c,m,vgf.CardsFromTo(REASON_EFFECT,LOCATION_HAND,LOCATION_DECK,cm.filter),vgf.CounterBlast(1),cm.condition)
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return vgf.GetVMonster(tp):IsSetCard(0x202)
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.operation,vgf.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.GlobalCheckEffect(c,m,EVENT_SPSUMMON_SUCCESS,cm.checkcon)
end
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation,vgf.DamageCost(1),vgf.RSummonCondition)
vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation,vgf.CounterBlast(1),vgf.RSummonCondition)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -2,5 +2,5 @@
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAuto(c, m,nil,nil,EVENT_TO_G_CIRCLE,nil,vgf.DisCardCost(1))
vgd.AbilityAuto(c, m,nil,nil,EVENT_TO_G_CIRCLE,nil,vgf.Discard(1))
end
\ No newline at end of file
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation,vgf.OverlayCost(1),vgf.RMonsterCondition)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation,vgf.SoulBlast(1),vgf.RMonsterCondition)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -2,7 +2,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.SetOrder(c)
vgd.AbilityAct(c,m,LOCATION_ORDER,cm.operation,vgf.DamageCost(2),nil,nil,1)
vgd.AbilityAct(c,m,LOCATION_ORDER,cm.operation,vgf.CounterBlast(2),nil,nil,1)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -3,14 +3,14 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.Rule(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:SetCode(EVENT_MOVE)
e1:SetCondition(cm.con1)
e1:SetOperation(cm.op)
c:RegisterEffect(e1)
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:SetRange(LOCATION_CREST)
e2:SetCountLimit(1)
......@@ -23,7 +23,7 @@ function cm.initial_effect(c)
e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetRange(LOCATION_CREST)
e3:SetCountLimit(1)
e3:SetCost(vgf.EnergyCost(7))
e3:SetCost(vgf.EnergyBlast(7))
e3:SetOperation(cm.op3)
c:RegisterEffect(e3)
end
......
......@@ -22,8 +22,8 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
return vgf.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
vgf.DamageCost(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.DisCardCost(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.Discard(1)(e,tp,eg,ep,ev,re,r,rp,chk)
end
\ No newline at end of file
......@@ -2,7 +2,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.op,cm.cost,vgf.VMonsterCondition)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.op1,vgf.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)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.op,vgf.DamageCost(1),vgf.VMonsterCondition)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.op,vgf.CounterBlast(1),vgf.VMonsterCondition)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -4,7 +4,7 @@ function cm.initial_effect(c)
vgd.GlobalCheckEffect(c,m,EVENT_CHANGE_POS,cm.checkcon)
vgd.AbilityCont(c, m, LOCATION_CIRCLE, EFFECT_TYPE_SINGLE, EFFECT_UPDATE_ATTACK, 5000, cm.con)
vgd.AbilityCont(c, m, LOCATION_CIRCLE, EFFECT_TYPE_SINGLE, 1, EFFECT_UPDATE_CRITICAL, cm.con1)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_HITTING,cm.op,vgf.DamageCost(1))
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_HITTING,cm.op,vgf.CounterBlast(1))
end
function cm.checkcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsContains(e:GetHandler())
......
......@@ -2,7 +2,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityCont(c, m, LOCATION_CIRCLE, EFFECT_TYPE_SINGLE, EFFECT_UPDATE_ATTACK, 5000, cm.con)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.op,vgf.DamageCost(2),cm.con1)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.op,vgf.CounterBlast(2),cm.con1)
end
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)
......
......@@ -3,7 +3,7 @@ function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityCont(c, m, LOCATION_CIRCLE, EFFECT_TYPE_SINGLE, EFFECT_UPDATE_ATTACK, 5000, function(e)
vgd.AbilityCont(c, m, LOCATION_G_CIRCLE, EFFECT_TYPE_SINGLE, 5000, EFFECT_UPDATE_DEFENSE, cm.con)
vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.op,vgf.OverlayCost(1),vgf.RSummonCondition)
vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.op,vgf.SoulBlast(1),vgf.RSummonCondition)
end
function cm.con(e)
local tp=e:GetHandlerPlayer()
......
......@@ -6,10 +6,10 @@ function cm.initial_effect(c)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
return vgf.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
vgf.DamageCost(2)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.OverlayCost(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.CounterBlast(2)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.SoulBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local g=vgf.SelectMatchingCard(HINTMSG_CALL,e,tp,vgf.IsCanBeCalled,tp,LOCATION_HAND,0,1,1,nil,e,tp)
......
......@@ -24,10 +24,10 @@ function cm.con1(e,tp,eg,ep,ev,re,r,rp)
end
function cm.cost1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
return vgf.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
vgf.DamageCost(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.OverlayCost(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.SoulBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
end
function cm.op1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -13,5 +13,5 @@ function cm.initial_effect(c)
local e2=e1:Clone()
e2:SetCode(AFFECT_CODE_ALCHEMAGIC_DIFFERENT_NAME)
c:RegisterEffect(e2)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,vgf.CardsFromTo(REASON_EFFECT,LOCATION_CIRCLE,LOCATION_DROP),vgf.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
\ No newline at end of file
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.op,vgf.DamageCost(1),cm.con)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.op,vgf.CounterBlast(1),cm.con)
end
function cm.con(e)
local c=e:GetHandler()
......
......@@ -2,7 +2,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.OverDress(c,10101009)
vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.op,vgf.DamageCost(1),cm.con)
vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.op,vgf.CounterBlast(1),cm.con)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_HITTING,cm.op,vgf.CostAnd(vgf.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
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local code=vgf.GetVMonster(tp):GetCode()
......
......@@ -6,7 +6,7 @@ end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.Draw(tp,1,REASON_EFFECT)
vgf.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
vgf.AtkUp(c,c,10000)
end
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,vgf.OverlayFill(1),nil,vgf.RSummonCondition)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,cm.op,vgf.OverlayCost(3),vgf.RMonsterCondition,nil,1)
vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,vgf.SoulCharge(1),nil,vgf.RSummonCondition)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,cm.op,vgf.SoulBlast(3),vgf.RMonsterCondition,nil,1)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
Duel.Draw(tp,1,REASON_EFFECT)
......
......@@ -5,10 +5,10 @@ function cm.initial_effect(c)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
return vgf.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
vgf.DamageCost(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.OverlayCost(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.SoulBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
if not vgf.CheckPrison(tp) then return end
......
local cm,m,o=GetID()
function cm.initial_effect(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
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
......@@ -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)
end
function cm.filter(c)
return c:IsFaceup() and c:IsType(TYPE_CONTINUOUS)
return c:IsFaceup() and c:IsType(TYPE_SET)
end
\ No newline at end of file
......@@ -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)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
vgf.DamageFill(1)(e,tp,eg,ep,ev,re,r,rp)
vgf.OverlayFill(1)(e,tp,eg,ep,ev,re,r,rp)
vgf.CounterCharge(1)(e,tp,eg,ep,ev,re,r,rp)
vgf.SoulCharge(1)(e,tp,eg,ep,ev,re,r,rp)
end
\ No newline at end of file
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_BATTLED,cm.op,vgf.CostAnd(vgf.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
function cm.op(e,tp,eg,ep,ev,re,r,rp)
Duel.Draw(tp,1,REASON_EFFECT)
......
......@@ -6,7 +6,7 @@ end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
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:SetCode(EVENT_ADJUST)
e1:SetOperation(cm.op)
......
......@@ -9,5 +9,5 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
vgf.Sendto(LOCATION_DROP,g,REASON_EFFECT)
end
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
\ No newline at end of file
......@@ -22,7 +22,7 @@ function cm.filter2(c)
end
--计数爆发1,灵魂爆发1
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return vgf.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
vgf.DamageCost(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.OverlayCost(1)(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) and vgf.SoulBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) end
vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.SoulBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
end
......@@ -5,7 +5,7 @@ function cm.initial_effect(c)
--【自】:这个单位被「沙尘之重炮 尤金」RIDE时,抽1张卡,选择你的弃牌区中的至多1张卡,放置到灵魂里。
vgd.BeRidedByCard(c,m,10401002,cm.operation)
--【自】【V/R】:这个单位攻击时,对手的后防者在2张以下的话,通过【费用】[计数爆发1],灵魂填充1,这次战斗中,这个单位的力量+5000。
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.operation1,vgf.DamageCost(1),cm.condition)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.operation1,vgf.CounterBlast(1),cm.condition)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
......@@ -17,7 +17,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
end
function cm.operation1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
vgf.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
local e1=vgf.AtkUp(c,c,5000)
vgf.EffectReset(c,e1,EVENT_BATTLED)
......
......@@ -3,11 +3,11 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
--【自】:这个单位登场到R时,通过【费用】[计数爆发2],灵魂填充1,选择对手的1张后防者,退场。
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation,vgf.DamageCost(2),vgf.RSummonCondition)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation,vgf.CounterBlast(2),vgf.RSummonCondition)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
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)
if g:GetCount()>0 then
vgf.Sendto(LOCATION_DROP,g,REASON_EFFECT)
......
......@@ -3,7 +3,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
--【自】【R】:这个单位的攻击击中时,通过【费用】[将手牌中的1张卡舍弃],抽1张卡。
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_HITTING,cm.operation, vgf.DisCardCost(1))
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_HITTING,cm.operation, vgf.Discard(1))
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
Duel.Draw(tp,1,REASON_EFFECT)
......
......@@ -7,9 +7,9 @@ function cm.initial_effect(c)
end
--计数爆发1,灵魂爆发1
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return vgf.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
vgf.DamageCost(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.OverlayCost(1)(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) and vgf.SoulBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) end
vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.SoulBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
end
--选择对手的1张等级2以上的后防者
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
......
......@@ -3,9 +3,9 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
--【自】:这个单位登场到R时,你有「重力的支配者 磁力重压」的先导者的话,灵魂填充2。
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,vgf.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。
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
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -5,13 +5,13 @@ function cm.initial_effect(c)
--【自】:这个单位被「重力的支配者 磁力重压」RIDE时,通过【费用】[将手牌中的1张卡放置到灵魂里],抽1张卡,灵魂填充1。
vgd.BeRidedByCard(c,m,10401003,cm.operation,cm.cost)
--【自】:这个单位登场到R时,通过【费用】[计数爆发1],灵魂填充2。
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation1,vgf.DamageCost(1),vgf.RSummonCondition)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation1,vgf.CounterBlast(1),vgf.RSummonCondition)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.Draw(tp,1,REASON_EFFECT)
vgf.OverlayFill(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.SoulCharge(1)(e,tp,eg,ep,ev,re,r,rp,chk)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return vgf.GetMatchingGroupCount(nil,tp,0,LOCATION_HAND,nil)>=1 end
......@@ -20,5 +20,5 @@ function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.Sendto(LOCATION_SOUL,g,rc)
end
function cm.operation1(e,tp,eg,ep,ev,re,r,rp)
vgf.OverlayFill(2)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.SoulCharge(2)(e,tp,eg,ep,ev,re,r,rp,chk)
end
\ No newline at end of file
......@@ -13,8 +13,8 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return vgf.IsExistingMatchingCard(nil,vgf.RMonsterFilter,tp,LOCATION_CIRCLE,0,1,c) and vgf.DamageCost(1)(e,tp,eg,ep,ev,re,r,rp,chk) end
vgf.DamageCost(1)(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return vgf.IsExistingMatchingCard(nil,vgf.RMonsterFilter,tp,LOCATION_CIRCLE,0,1,c) and vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) end
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)
vgf.Sendto(LOCATION_SOUL,g)
end
......
......@@ -3,11 +3,11 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
--通过【费用】[计数爆发1]施放!灵魂填充1。这之后,选择你的1个单位,你的灵魂里的卡每有5张,这个回合中,力量+10000。你的灵魂在10张以上的话,抽1张卡。
vgd.Order(c,m,cm.operation,vgf.DamageCost(1))
vgd.Order(c,m,cm.operation,vgf.CounterBlast(1))
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
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.Hint(HINT_SELECTMSG,tp,HINTMSG_ATKUP)
local e1=vgf.GetMatchingGroupCount(nil,tp,LOCATION_SOUL,0,nil)/5
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.op,vgf.OverlayCost(1),vgf.RMonsterCondition,nil,1)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.op,vgf.SoulBlast(1),vgf.RMonsterCondition,nil,1)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -8,9 +8,9 @@ function cm.con(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsPlayerAffectedByEffect(tp,AFFECT_CODE_DEEP_NIGHT) and vgf.RSummonCondition(e)
end
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
vgf.DamageCost(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.OverlayCost(1)(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) and vgf.SoulBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) end
vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.SoulBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
Duel.Draw(tp,1,REASON_EFFECT)
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_DISCARD,cm.op,vgf.DamageCost(1),cm.con)
vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_DISCARD,cm.op,vgf.CounterBlast(1),cm.con)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......@@ -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)
end
function cm.filter(c)
return c:IsType(TYPE_CONTINUOUS) and c:IsFaceup()
return c:IsType(TYPE_SET) and c:IsFaceup()
end
\ No newline at end of file
local cm,m,o=GetID()
function cm.initial_effect(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.NightEffect(c,m)--黑夜
end
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.op,vgf.OverlayCost(2),cm.con)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.op,vgf.SoulBlast(2),cm.con)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -7,9 +7,9 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
Duel.Draw(tp,1,REASON_EFFECT)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return vgf.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
vgf.DamageCost(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.OverlayCost(1)(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) and vgf.SoulBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) end
vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.SoulBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()==tp
......
......@@ -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)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return vgf.Rest(e:GetHandler())(e,tp,eg,ep,ev,re,r,rp,chk) and vgf.OverlayCost(1)(e,tp,eg,ep,ev,re,r,rp,chk) end
vgf.OverlayCost(1)(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return vgf.Rest(e:GetHandler())(e,tp,eg,ep,ev,re,r,rp,chk) and vgf.SoulBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) end
vgf.SoulBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.Rest(e:GetHandler())(e,tp,eg,ep,ev,re,r,rp,chk)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.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
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()
......
......@@ -6,7 +6,7 @@ function cm.initial_effect(c)
vgd.GlobalCheckEffect(c,m,EVENT_CHAINING,cm.checkcon)
end
function cm.filter(c)
return c:GetType()==TYPE_SPELL
return c:GetType()==TYPE_ORDER
end
function cm.checkcon(e,tp,eg,ep,ev,re,r,rp)
return re:IsHasType(EFFECT_TYPE_ACTIVATE) and rp==tp
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.Order(c,m,cm.op,vgf.OverlayCost(2))
vgd.Order(c,m,cm.op,vgf.SoulBlast(2))
end
function cm.op(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.Order(c,m,cm.op,vgf.DamageCost(1),cm.con)
vgd.Order(c,m,cm.op,vgf.CounterBlast(1),cm.con)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.Order(c,m,cm.op,vgf.OverlayCost(1))
vgd.Order(c,m,cm.op,vgf.SoulBlast(1))
end
function cm.op(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.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
function cm.con(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_MOVE,cm.op,vgf.OverlayCost(1),cm.con)
vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_MOVE,cm.op,vgf.SoulBlast(1),cm.con)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.BeRidedByCard(c,m,10401027,vgf.OverlayFill(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.BeRidedByCard(c,m,10401027,vgf.SoulCharge(1))
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_TO_GRAVE,cm.op,vgf.CostAnd(vgf.CounterBlast(1),vgf.LeaveFieldCost()),cm.con)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local g=vgf.SelectMatchingCard(HINTMSG_LEAVEFIELD,e,tp,vgf.RMonsterFilter,tp,0,LOCATION_CIRCLE,1,1,nil)
......
......@@ -3,9 +3,9 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
-- 【自】【R】:这个单位的攻击击中时,灵魂填充1。
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_HITTING,vgf.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
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
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.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
function cm.con(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......@@ -25,7 +25,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
end
function cm.costtg(e,re,tp)
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
function cm.costchk(e,re,tp)
return vgf.IsExistingMatchingCard(vgf.IsAbleToGCircle,tp,LOCATION_HAND,0,1,re:GetHandler(),LOCATION_HAND)
......
......@@ -3,7 +3,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
--【自】:这个单位登场到V时,灵魂填充1
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,vgf.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。
vgd.AbilityCont(c, m, LOCATION_CIRCLE, EFFECT_TYPE_SINGLE, EFFECT_UPDATE_ATTACK, 10000, cm.con2)
end
......
......@@ -4,7 +4,7 @@ function cm.initial_effect(c)
vgd.BlitzOrder(c,cm.op,nil,cm.con)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
return vgf.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
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAuto(c, m,nil,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
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.Order(c,m,cm.operation,vgf.OverlayCost(1))
vgd.Order(c,m,cm.operation,vgf.SoulBlast(1))
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -4,7 +4,7 @@
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.Order(c,m,cm.operation,vgf.DamageCost(2))
vgd.Order(c,m,cm.operation,vgf.CounterBlast(2))
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -2,7 +2,7 @@
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.SetOrder(c,vgf.OverlayCost(1))
vgd.SetOrder(c,vgf.SoulBlast(1))
vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_MOVE,cm.operation,nil,cm.condition)
vgd.NightEffect(c,m)
end
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_MOVE,cm.op,vgf.DamageCost(2),cm.con)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_MOVE,cm.op,vgf.CounterBlast(2),cm.con)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
return vgf.RMonsterCondition(e) and eg:IsExists(cm.filter,1,nil,tp) and Duel.GetTurnPlayer()==tp and Duel.GetAttackTarget()
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.op,vgf.DamageCost(2),cm.con)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.op,vgf.CounterBlast(2),cm.con)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
return vgf.IsExistingMatchingCard(Card.IsLevel,tp,LOCATION_CIRCLE+LOCATION_DROP,0,3,nil,3)
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_MOVE,cm.op,vgf.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
function cm.con(e,tp,eg,ep,ev,re,r,rp)
return vgf.RMonsterCondition(e) and eg:IsExists(cm.filter,1,nil,tp) and Duel.GetTurnPlayer()==tp and Duel.GetAttackTarget()
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.BeRidedByCard(c,m,10401046,cm.operation,vgf.DamageCost(1))
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_MOVE,cm.op,vgf.DamageCost(1),cm.con,nil,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.CounterBlast(1),cm.con,nil,1)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
Duel.Draw(tp,1,REASON_EFFECT)
......
......@@ -3,7 +3,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
--【自】【R】:这个单位攻击时,通过【费用】[计数爆发1],这次战斗中,这个单位的力量+5000。
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.operation,vgf.DamageCost(1),vgf.RMonsterCondition)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.operation,vgf.CounterBlast(1),vgf.RMonsterCondition)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -4,11 +4,11 @@ function cm.initial_effect(c)
vgd.VgCard(c)
--【自】【R】:这个单位攻击先导者时,你的封锁区中有指令卡的话,
--这次战斗中,这个单位的力量+5000。
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.operation,vgf.DamageCost(1),cm.condition)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.operation,vgf.CounterBlast(1),cm.condition)
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
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
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -4,7 +4,7 @@ function cm.initial_effect(c)
vgd.VgCard(c)
--【起】【V】【1回合1次】:通过【费用】[灵魂爆发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。
vgd.AbilityCont(c, m, LOCATION_CIRCLE, EFFECT_TYPE_SINGLE, EFFECT_UPDATE_ATTACK, 2000, cm.con)
vgd.GlobalCheckEffect(c,m,EVENT_CHAINING,cm.checkcon)
......@@ -17,7 +17,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
end
end
function cm.filter(c)
return c:IsType(TYPE_SPELL)
return c:IsType(TYPE_ORDER)
end
function cm.checkcon(e,tp,eg,ep,ev,re,r,rp)
return re:IsHasType(EFFECT_TYPE_ACTIVATE) and rp==tp
......
......@@ -16,5 +16,5 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.Draw(tp,1,REASON_TRIGGER)
vgf.Sendto(LOCATION_SOUL,c)
vgf.DamageFill(1)
vgf.CounterCharge(1)
end
\ No newline at end of file
......@@ -4,7 +4,7 @@ function cm.initial_effect(c)
--通过【费用】[计数爆发2]施放!
--选择对手的1张先导者,这次战斗中,那个单位的☆-1。
vgd.VgCard(c)
vgd.Order(c,m,cm.operation,vgf.DamageCost(2))
vgd.Order(c,m,cm.operation,vgf.CounterBlast(2))
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -14,7 +14,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
end
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return vgf.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
vgf.DamageCost(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.DisCardCost(1)(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) and vgf.Discard(1)(e,tp,eg,ep,ev,re,r,rp,chk) end
vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.Discard(1)(e,tp,eg,ep,ev,re,r,rp,chk)
end
\ No newline at end of file
......@@ -2,7 +2,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.OverDress(c,10101009)
vgd.AbilityAuto(c,m,LOCATION_HAND,EFFECT_TYPE_FIELD,EVENT_BATTLED,cm.op,vgf.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_G_CIRCLE, EFFECT_TYPE_SINGLE, 10000, EFFECT_UPDATE_DEFENSE, cm.con2)
end
......@@ -17,7 +17,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
vgf.Sendto(LOCATION_CIRCLE,c,SUMMON_VALUE_OVERDRESS,tp,vgf.SequenceToGlobal(tp,g:GetFirst():GetLocation(),g:GetFirst():GetSequence()))
end
end
vgf.OverlayFill(1)(e,tp,eg,ep,ev,re,r,rp)
vgf.SoulCharge(1)(e,tp,eg,ep,ev,re,r,rp)
end
function cm.filter(c)
return c:IsCode(10101009) and vgf.RMonsterFilter(c)
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,vgf.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)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
return vgf.VMonsterFilter(Duel.GetAttackTarget())
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return vgf.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
vgf.DamageCost(1)(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) and vgf.LeaveFieldCost(e:GetHandler())(e,tp,eg,ep,ev,re,r,rp,chk) end
vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.LeaveFieldCost(e:GetHandler())(e,tp,eg,ep,ev,re,r,rp,chk)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
......
......@@ -2,7 +2,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.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
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.op,vgf.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)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
......
......@@ -15,7 +15,7 @@ function cm.filter(c)
return vgf.FrontFilter(c) and vgf.RMonsterFilter(c)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return vgf.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
vgf.DamageCost(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.OverlayCost(1)(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) and vgf.SoulBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) end
vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.SoulBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
end
\ No newline at end of file
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.op,vgf.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)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.op,vgf.DisCardCost(1),cm.con)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.op,vgf.Discard(1),cm.con)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
return vgf.GetVMonster(tp):IsCode(10401003)
......@@ -14,6 +14,6 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
end
if vgf.GetVMonster(tp):GetOverlayCount()>=10 then
Duel.BreakEffect()
vgf.OverlayFill(1)
vgf.SoulCharge(1)
end
end
\ No newline at end of file
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.op,vgf.DamageCost(1),cm.con)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.op,vgf.CounterBlast(1),cm.con)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
return vgf.GetVMonster(tp):IsLevel(3)
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_CUSTOM+EVENT_SUPPORT,cm.op,vgf.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
function cm.con(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAuto(c, m,nil,nil,EVENT_TO_G_CIRCLE,cm.op,vgf.OverlayCost(1),cm.con)
vgd.AbilityAuto(c, m,nil,nil,EVENT_TO_G_CIRCLE,cm.op,vgf.SoulBlast(1),cm.con)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
return vgf.IsExistingMatchingCard(cm.filter,tp,LOCATION_ORDER,0,1,nil)
......
......@@ -13,7 +13,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
vgf.AtkUp(c,c,15000)
end
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:SetCountLimit(1)
e1:SetOperation(cm.op2)
......
local cm,m,o=GetID()
function cm.initial_effect(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
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
......@@ -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)
end
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
\ No newline at end of file
......@@ -23,8 +23,8 @@ function cm.con(e,tp,eg,ep,ev,re,r,rp)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
return vgf.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
vgf.DamageCost(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.OverlayCost(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.SoulBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
end
\ No newline at end of file
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation,vgf.CostAnd(vgf.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
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.Order(c,m,cm.op,vgf.CostAnd(vgf.DamageCost(1),vgf.OverlayCost(1)))
vgd.Order(c,m,cm.op,vgf.CostAnd(vgf.CounterBlast(1),vgf.SoulBlast(1)))
end
function cm.op(e,tp,eg,ep,ev,re,r,rp,chk)
local g=vgf.SelectMatchingCard(HINTMSG_LEAVEFIELD,e,tp,vgf.RMonsterFilter,tp,LOCATION_CIRCLE,LOCATION_CIRCLE,1,1,nil)
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.Order(c,m,cm.op,vgf.DamageCost(1))
vgd.Order(c,m,cm.op,vgf.CounterBlast(1))
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetDecktopGroup(tp,2)
......
......@@ -6,8 +6,8 @@ function cm.initial_effect(c)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return vgf.Rest(c)(e,tp,eg,ep,ev,re,r,rp,chk) and vgf.OverlayCost(1)(e,tp,eg,ep,ev,re,r,rp,chk) end
vgf.OverlayCost(1)(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return vgf.Rest(c)(e,tp,eg,ep,ev,re,r,rp,chk) and vgf.SoulBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) end
vgf.SoulBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.Rest(c)(e,tp,eg,ep,ev,re,r,rp,chk)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
......
......@@ -2,7 +2,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.BeRidedByCard(c,m,cm.filter,cm.op)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.op1,vgf.OverlayCost(1),cm.con1,nil,1)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.op1,vgf.SoulBlast(1),cm.con1,nil,1)
end
function cm.filter(c)
return c:IsSetCard(0x79)
......
......@@ -13,8 +13,8 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
vgf.EffectReset(c,e1,EVENT_BATTLED)
end
Duel.BreakEffect()
if vgf.DamageCost(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)
if vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,0) and Duel.SelectEffectYesNo(tp,vgf.stringid(VgID,10)) then
vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,1)
local g=vgf.SelectMatchingCard(HINTMSG_LEAVEFIELD,e,tp,cm.filter,tp,0,LOCATION_CIRCLE,1,1,nil)
vgf.Sendto(LOCATION_DROP,g,REASON_EFFECT)
end
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,vgf.CardsFromTo(REASON_EFFECT,LOCATION_CIRCLE,LOCATION_DROP,cm.filter),vgf.DamageCost(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,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,vgf.CardsFromTo(REASON_EFFECT,LOCATION_CIRCLE,LOCATION_DROP,cm.filter),vgf.CounterBlast(1),vgf.RSummonCondition)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.op,vgf.CounterBlast(1),vgf.RMonsterCondition)
end
function cm.filter(c)
return c:IsLevel(0)
......
local cm,m,o=GetID()
function cm.initial_effect(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
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -8,10 +8,10 @@ function cm.con(e,tp,eg,ep,ev,re,r,rp)
return c:GetFlagEffect(FLAG_SUPPORT)>0 and vgf.GetVMonster(tp):IsCode(10401003)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
vgf.OverlayFill(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
vgf.SoulCharge(1)(e,tp,eg,ep,ev,re,r,rp)
if vgf.GetVMonster(tp):GetOverlayCount()>=10 and vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,0) and Duel.SelectYesNo(tp,vgf.Stringid(VgID,10)) then
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)
end
end
\ No newline at end of file
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.Order(c,m,cm.op,vgf.CostAnd(vgf.DamageCost(1),vgf.DisCardCost(1)))
vgd.Order(c,m,cm.op,vgf.CostAnd(vgf.CounterBlast(1),vgf.Discard(1)))
end
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
vgf.CardsFromTo(REASON_EFFECT,LOCATION_HAND,LOCATION_SOUL,nil,1)(e,tp,eg,ep,ev,re,r,rp)
end
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.Order(c,m,cm.op,vgf.DamageCost(1))
vgd.Order(c,m,cm.op,vgf.CounterBlast(1))
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.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_FIELD,EVENT_CUSTOM+EVENT_SUPPORT,vgf.DamageFill(1),vgf.LeaveFieldCost(10000001),cm.con2)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,vgf.CounterCharge(1),vgf.LeaveFieldCost(10000001),cm.con1)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_CUSTOM+EVENT_SUPPORT,vgf.CounterCharge(1),vgf.LeaveFieldCost(10000001),cm.con2)
end
function cm.con1(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsPlayerAffectedByEffect(tp,AFFECT_CODE_DEEP_NIGHT)
......
......@@ -11,6 +11,6 @@ function cm.filter(c)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
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)
end
\ No newline at end of file
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.Order(c,m,cm.op,vgf.OverlayCost(1),cm.con)
vgd.Order(c,m,cm.op,vgf.SoulBlast(1),cm.con)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.op,vgf.OverlayCost(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_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.op,vgf.SoulBlast(1),cm.con)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_MOVE,vgf.CounterCharge(1),vgf.CounterBlast(1),cm.con,nil,1)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.op,vgf.OverlayCost(1),cm.con)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.op,vgf.SoulBlast(1),cm.con)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
return vgf.RSummonCondition(e) and vgf.GetVMonster(tp):IsSetCard(0x78)
......@@ -11,9 +11,9 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
if c:IsRelateToEffect(e) and c:IsFaceup() then
vgf.AtkUp(c,c,10000,nil)
end
if vgf.CostAnd(vgf.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()
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)
Duel.ConfirmCards(tp,g)
Duel.DisableShuffleCheck()
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.op,vgf.CostAnd(vgf.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.AbilityCont(c, m, LOCATION_R_CIRCLE, EFFECT_TYPE_SINGLE, EFFECT_UPDATE_ATTACK, 5000, cm.con)
end
......
......@@ -2,7 +2,7 @@
local cm,m,o=GetID()
function cm.initial_effect(c)--这个函数下面用于注册效果
vgd.VgCard(c)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,vgf.CardsFromTo(REASON_EFFECT,LOCATION_HAND,LOCATION_DECK,cm.filter),vgf.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。
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_HITTING,cm.operation1,nil,vgf.VMonsterCondition)
end
......
......@@ -2,7 +2,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
-- 【起】【V】【1回合1次】:通过【费用】[计数爆发1],选择你的指令区中的1张正面表示的歌曲卡,将其歌唱。(发动歌曲卡的能力,那个能力结算完毕后将那张卡转为背面表示。)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.op,vgf.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上。
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)
end
function cm.actlimit(e,te,tp)
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
\ No newline at end of file
......@@ -15,7 +15,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
vgf.EffectReset(c,e1,EVENT_BATTLED)
end
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
function cm.checkfilter(c,tp,re)
......
......@@ -5,10 +5,10 @@ function cm.initial_effect(c)
-- 【自】:这个单位登场到V时,选择你的封锁区中的1张卡,放置到牌堆底,放置了的话,将你的牌堆顶的1张卡正面封锁。
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.op1,nil,cm.con1)
-- 白翼-【起】【V】【1回合1次】:通过【费用】[计数爆发1],这个回合中,这个单位的☆+1。
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.op2,vgf.DamageCost(1),cm.con2,nil,1)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.op2,vgf.CounterBlast(1),cm.con2,nil,1)
-- 黑翼-【永】【V】:这个单位攻击的战斗中,对手不能将触发单位卡从手牌CALL到G上。
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
......
......@@ -25,5 +25,5 @@ function cm.filter2(c)
end
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
\ No newline at end of file
......@@ -5,7 +5,7 @@ function cm.initial_effect(c)
-- 【永】【V】:你的回合中,你没有后防者的话,这个单位的力量+5000。
vgd.AbilityCont(c, m, LOCATION_CIRCLE, EFFECT_TYPE_SINGLE, EFFECT_UPDATE_ATTACK, 5000, cm.con1)
--【自】:通过在「认真的挑战者 克拉莉萨」上RIDE的方式将这个单位登场到V时,通过【费用】[灵魂爆发1],查看你的牌堆顶的7张卡,选择至多1张等级2以下的含有「诚意真心」的卡,公开后加入手牌,将其余的卡洗切后放置到牌堆底。
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation,vgf.OverlayCost(1),cm.con2)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation,vgf.SoulBlast(1),cm.con2)
end
function cm.con1(e)
local c=e:GetHandler()
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAct(c,m,LOCATION_R_CIRCLE,cm.op,vgf.CostAnd(vgf.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.CannotBeAttackTarget(c, m, LOCATION_V_CIRCLE, EFFECT_TYPE_SINGLE, cm.val, vgf.DarkWing)
end
......
......@@ -3,7 +3,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
-- 【自】:你的战斗阶段中这个单位登场到R时,通过【费用】[灵魂爆发1],这个回合中,这个单位的力量+10000。
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_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
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)
Duel.ConfirmCards(tp,g)
Duel.ConfirmCards(1-tp,g)
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)
end
end
......
......@@ -3,5 +3,5 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
-- 【自】:这个单位登场到R时,通过【费用】[灵魂爆发1,将手牌中的1张卡舍弃],选择你的弃牌区中的1张宝石卡,加入手牌。
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,vgf.CardsFromTo(REASON_EFFECT,LOCATION_HAND,LOCATION_DROP,Card.IsSetCard,1,1,0xc040),vgf.CostAnd(vgf.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
\ No newline at end of file
......@@ -12,8 +12,8 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
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
vgf.DamageCost(1)(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return vgf.IsExistingMatchingCard(cm.filter,tp,LOCATION_HAND,0,2,nil) and vgf.CounterBlast(1)(e,tp,eg,ep,ev,re,r,rp,chk) end
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)
Duel.ConfirmCards(1-tp,g)
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)
end
function cm.filter(c)
return c:IsType(TYPE_NORMAL+TYPE_MONSTER)
return c:IsType(TYPE_NORMAL+TYPE_UNIT)
end
......@@ -4,7 +4,7 @@ function cm.initial_effect(c)
vgd.VgCard(c)
-- 白翼(你的封锁区中的卡只有奇数的等级的场合才有效)
-- 【自】:这个单位登场到R时,通过【费用】[计数爆发1,灵魂爆发1],选择你的弃牌区中的1张力量8000的卡,加入手牌。
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,vgf.CardsFromTo(REASON_EFFECT,LOCATION_HAND,LOCATION_DROP,cm.filter),vgf.CostAnd(vgf.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
function cm.filter(c)
......
......@@ -3,7 +3,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
-- 【自】【后列的R】【1回合1次】:你的战斗阶段中你其他的单位登场到R时,通过【费用】[灵魂爆发2],抽1张卡。
VgD.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_SPSUMMON_SUCCESS,vgf.Draw,vgf.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
function cm.con(e,tp,eg,ep,ev,re,r,rp)
local c = e:GetHandler()
......
......@@ -4,7 +4,7 @@ function cm.initial_effect(c)
vgd.VgCard(c)
-- 通过【费用】[计数爆发1]施放!
-- 抽2张卡,选择你的手牌的1张卡,舍弃。将这张卡放置到灵魂里。
vgd.Order(c,m,cm.operation,vgf.DamageCost(1))
vgd.Order(c,m,cm.operation,vgf.CounterBlast(1))
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
......
......@@ -3,7 +3,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
-- 【自】【R】:这个单位攻击时,通过【费用】[计数爆发1],这个回合中,这个单位的力量+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
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c = e:GetHandler()
......
......@@ -4,7 +4,7 @@ function cm.initial_effect(c)
vgd.VgCard(c)
-- 【自】【R】:这个单位攻击时,这个回合中你施放了指令卡的话,通过【费用】[灵魂爆发1],这个回合中,这个单位的力量+5000。
vgd.GlobalCheckEffect(c,m,EVENT_CHAIN_SOLVING,cm.checkcon)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.op,vgf.OverlayCost(1),cm.con)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.op,vgf.SoulBlast(1),cm.con)
end
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
function cm.costtg(e,re,tp)
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
function cm.costchk(e,re,tp)
return vgf.IsExistingMatchingCard(vgf.IsAbleToGCircle,tp,LOCATION_HAND,0,1,re:GetHandler(),LOCATION_HAND)
......
......@@ -3,7 +3,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
-- 【自】:这个单位登场到R时,通过【费用】[计数爆发2],查看你的牌堆顶的5张卡,选择至多2张触发单位卡,CALL到不存在单位的R上,然后牌堆洗切。
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.op,vgf.DamageCost(2),cm.con)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.op,vgf.CounterBlast(2),cm.con)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.operation,vgf.OverlayCost(1),cm.con)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.operation,vgf.SoulBlast(1),cm.con)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
return vgf.RMonsterCondition(e) and vgf.DarkWing(e)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
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 tc=vgf.ReturnCard(g)
if tc then
......
......@@ -6,7 +6,7 @@ function cm.initial_effect(c)
vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.op,nil,cm.con)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
vgf.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()
if c:IsRelateToEffect(e) and c:IsFaceup() then
local e2=Effect.CreateEffect(c)
......
......@@ -3,7 +3,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
-- 【自】:这个单位被放置到G时,通过【费用】[灵魂爆发1],选择你的1个含有「诚意真心」的单位,这次战斗中,力量+10000。
vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_MOVE,cm.op,vgf.OverlayCost(1),cm.con)
vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_MOVE,cm.op,vgf.SoulBlast(1),cm.con)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
......
......@@ -3,7 +3,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
-- 【自】:这个单位从手牌登场到R时,你其他的后防者有3张以上的话,通过【费用】[计数爆发1],抽1张卡。
vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,vgf.Draw,vgf.DamageCost(1),cm.con)
vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,vgf.Draw,vgf.CounterBlast(1),cm.con)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
......
......@@ -3,7 +3,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
-- 【自】:这个单位被放置到G时,通过【费用】[灵魂爆发1],你的指令区中的你的卡每有1张,这次战斗中,这个单位的盾护+5000。
vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_MOVE,cm.op,vgf.OverlayCost(1),cm.con)
vgd.AbilityAuto(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_MOVE,cm.op,vgf.SoulBlast(1),cm.con)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
local c = e:GetHandler()
......
......@@ -3,7 +3,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
-- 【自】:这个单位被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。
vgd.AbilityCont(c, m, LOCATION_CIRCLE, EFFECT_TYPE_SINGLE, EFFECT_UPDATE_ATTACK, 2000, cm.con)
end
......
......@@ -5,7 +5,7 @@ function cm.initial_effect(c)
-- 【自】:这个单位被RIDE时,通过【费用】[将手牌中的1张卡放置到灵魂里],从你的牌堆里探寻至多1张宝石卡,公开后加入手牌,然后牌堆洗切。
vgd.BeRidedByCard(c,m,nil,vgf.CardsFromTo(REASON_EFFECT,LOCATION_HAND,LOCATION_DECK,cm.filter,1,0),cm.cost1)
-- 【自】【R】:你施放指令卡时,通过【费用】[灵魂爆发1],这个回合中,这个单位的力量+5000。
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_CHAINING,cm.op,vgf.OverlayCost(1),cm.con)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_CHAINING,cm.op,vgf.SoulBlast(1),cm.con)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -3,7 +3,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
-- 【起】【R】【1回合1次】:通过【费用】[计数爆发1],选择你的1张先导者,这个回合中,力量+5000。
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.op,vgf.DamageCost(1),vgf.RMonsterCondition,nil,1)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.op,vgf.CounterBlast(1),vgf.RMonsterCondition,nil,1)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -4,7 +4,7 @@ function cm.initial_effect(c)
vgd.VgCard(c)
-- 白翼(你的封锁区中的卡只有奇数的等级的场合才有效)
-- 【自】【R】:这个单位支援时,通过【费用】[灵魂爆发2],选择你其他的1个单位,等级是奇数的这个单位以外的单位每有1个,这个回合中,那个单位的力量+5000。
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_FIELD,EVENT_CUSTOM+EVENT_SUPPORT,cm.op,vgf.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
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -3,7 +3,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
-- 【自】:你的回合中这张卡被从手牌舍弃时,通过【费用】[灵魂爆发1],将这张卡CALL到不存在单位的R上。
vgd.AbilityAuto(c,m,LOCATION_DROP,EFFECT_TYPE_SINGLE,EVENT_DISCARD,cm.op,vgf.OverlayCost(1),cm.con)
vgd.AbilityAuto(c,m,LOCATION_DROP,EFFECT_TYPE_SINGLE,EVENT_DISCARD,cm.op,vgf.SoulBlast(1),cm.con)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.Order(c,m,cm.op,vgf.DamageCost(1))
vgd.Order(c,m,cm.op,vgf.CounterBlast(1))
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
Duel.Draw(tp,1,REASON_EFFECT)
......
......@@ -24,7 +24,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
vgf.EffectReset(c,e1,EVENT_BATTLED)
end
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:SetTarget(cm.reptg)
e4:SetValue(cm.repval)
......@@ -32,7 +32,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterEffect(e4,tp)
end
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
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
......
......@@ -3,14 +3,14 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.Rule(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:SetCode(EVENT_MOVE)
e1:SetCondition(cm.con1)
e1:SetOperation(cm.op1)
c:RegisterEffect(e1)
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:SetRange(LOCATION_CREST)
e2:SetCountLimit(1)
......@@ -21,7 +21,7 @@ function cm.initial_effect(c)
e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetRange(LOCATION_CREST)
e3:SetCountLimit(1)
e3:SetCost(vgf.EnergyCost(7))
e3:SetCost(vgf.EnergyBlast(7))
e3:SetOperation(cm.op3)
c:RegisterEffect(e3)
end
......
......@@ -3,9 +3,9 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
--【起】【V】【1回合1次】:通过【费用】[计数爆发1],从你的牌堆里探寻至多1张与这个单位同名的卡,公开后加入手牌,然后牌堆洗切,这个回合中,这个单位的力量+10000。
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.operation,vgf.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。
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
--效果一处理
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.op,vgf.DamageCost(1),vgf.VMonsterCondition)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.op1,vgf.EnergyCost(4),cm.con)
vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.op,vgf.CounterBlast(1),vgf.VMonsterCondition)
vgd.AbilityAuto(c,m,LOCATION_CIRCLE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.op1,vgf.EnergyBlast(4),cm.con)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -3,9 +3,9 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
--【起】【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。
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
--效果一处理
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
......
......@@ -3,9 +3,9 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgd.VgCard(c)
--【起】【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个能量来支付!)
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
--效果一处理
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
......
......@@ -9,7 +9,7 @@ function vgd.VgCard(c)
VgD.Rule(c)
VgD.Ride(c)
VgD.CardTrigger(c)
if c:IsType(TYPE_MONSTER) then
if c:IsType(TYPE_UNIT) then
VgD.CallToR(c)
VgD.MonsterBattle(c)
end
......@@ -19,7 +19,7 @@ end
---@param c Card 要注册规则的卡
function VgD.Rule(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:SetRange(LOCATION_ALL)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
......@@ -42,7 +42,7 @@ function VgD.Rule(c)
end)
c:RegisterEffect(e1)
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:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetRange(LOCATION_ALL)
......@@ -56,7 +56,7 @@ function VgD.Rule(c)
end)
c:RegisterEffect(e2)
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:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e3:SetRange(LOCATION_ALL)
......@@ -79,7 +79,7 @@ function VgD.Rule(c)
e10:SetCondition(VgF.RuleCardCondtion)
c:RegisterEffect(e10)
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:SetRange(LOCATION_ALL)
e11:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
......@@ -127,7 +127,7 @@ end
---@param c Card 要注册骑升功能的卡
function VgD.Ride(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:SetCountLimit(1, VgID)
e1:SetRange(LOCATION_ALL)
......@@ -136,7 +136,7 @@ function VgD.Ride(c)
e1:SetOperation(VgD.RideOperation_lv0)
c:RegisterEffect(e1)
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:SetRange(LOCATION_ALL)
e2:SetCountLimit(1, VgID + 1)
......@@ -189,7 +189,7 @@ function VgD.RideMaterialCheck(c, rc)
end
function VgD.RideFilter1(c, lv, code, rc)
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 (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
......@@ -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)
end
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
function VgD.RideCondition(e, tp, eg, ep, ev, re, r, rp)
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)
local sc = sg:GetFirst()
if sc:IsLocation(LOCATION_RIDE) then
if Duel.IsPlayerAffectedByEffect(tp, AFFECT_CODE_OVERLAY_INSTEAD_WHEN_RIDE) and Duel.SelectYesNo(tp, VgF.Stringid(VgID, 14)) then
VgF.OverlayCost(1)(e, tp, eg, ep, ev, re, r, rp, 1)
VgF.SoulBlast(1)(e, tp, eg, ep, ev, re, r, rp, 1)
else
Duel.Hint(HINT_SELECTMSG, tp, HINTMSG_DISCARD)
local g = Duel.SelectMatchingCard(tp, VgD.DisCardRideFilter, tp, LOCATION_HAND, 0, 1, 1, nil, e, lv, code, rc)
......@@ -255,8 +255,8 @@ function VgD.RideOperation(e, tp, eg, ep, ev, re, r, rp)
sc:SetMaterial(Group.FromCards(rc))
VgF.Sendto(LOCATION_SOUL, Group.FromCards(rc), sc)
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
local tc = Duel.GetMatchingGroup(Card.IsType, tp, LOCATION_RIDE, 0, nil, TYPE_RIDE_EMBLEM):GetFirst()
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_CREST):GetFirst()
VgF.Sendto(LOCATION_CREST, tc, tp, POS_FACEUP_DEFENSE, REASON_EFFECT)
end
elseif sel == 0 or (sel == 1 and a and b) then
......@@ -644,7 +644,7 @@ end
function VgD.MonsterBattle(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:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetOperation(function (e, tp, eg, ep, ev, re, r, rp)
......@@ -662,7 +662,7 @@ function VgD.MonsterBattle(c)
c:RegisterEffect(e1)
--回合开始转攻
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:SetRange(LOCATION_ALL)
e2:SetCountLimit(1, VgID + 4)
......@@ -799,7 +799,7 @@ function VgD.MonsterBattle(c)
end)
c:RegisterEffect(e7)
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:SetProperty(EFFECT_FLAG_DAMAGE_STEP + EFFECT_FLAG_CANNOT_DISABLE + EFFECT_FLAG_DELAY)
e8:SetRange(LOCATION_ALL)
......@@ -886,7 +886,7 @@ function VgD.OverDress(c, filter)
e1:SetOperation(VgD.OverDressOperation(filter))
c:RegisterEffect(e1)
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:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
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)
if VgF.GetValueType(c_cos_val) ~= "number" then c_cos_val = 0 end
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 cg = VgF.GetMatchingGroup(cfilter[cv], tp, c_cost_from, 0, mc, e, tp)
local a = mcg:GetCount() < mc_cos_val
......@@ -1069,7 +1069,7 @@ function VgD.AlchemagicCostFilter(c, e, tp, eg, ep, ev, re, r, rp, mc)
local c_cos_val = cval[cv]
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
local c_10402010 = Duel.GetFlagEffectLabel(tp, 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)
local mc_cos_val = mcval[mcv]
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)
if mc_cost_from == LOCATION_DAMAGE and Duel.GetFlagEffect(tp, 10402010) > 0 then
local c_10402010 = Duel.GetFlagEffectLabel(tp, 10402010)
......@@ -1105,7 +1105,7 @@ function VgD.AlchemagicCostFilter(c, e, tp, eg, ep, ev, re, r, rp, mc)
local c_cos_val = mcval[cv]
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)
if c_cost_from == LOCATION_DAMAGE and Duel.GetFlagEffect(tp, 10402010) > 0 then
local c_10402010 = Duel.GetFlagEffectLabel(tp, 10402010)
......@@ -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_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
Duel.ResetFlagEffect(tp, AFFECT_CODE_OVERLAY_COST_FREE_WHEN_ALCHEMAGIC)
Duel.ResetFlagEffect(tp, AFFECT_CODE_SOUL_BLAST_FREE_WHEN_ALCHEMAGIC)
goto continue
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
end
end
......@@ -1461,7 +1461,7 @@ function VgD.BeRidedByCard(c, m, filter, op, cost, con, tg, id)
local desc = VgF.Stringid(m, id or 2)
-- set effect
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:SetProperty(EFFECT_FLAG_EVENT_PLAYER)
e:SetCondition(VgD.BeRidedByCardCondition(con, filter))
......@@ -1618,7 +1618,7 @@ function VgD.TriggerCountUp(c, m, num, con, reset, hc)
hc = hc and VgF.ReturnCard(hc) or c
-- set effect
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:SetCode(EVENT_CUSTOM + EVENT_TRIGGERCOUNTUP)
e:SetProperty(EFFECT_FLAG_DELAY)
......@@ -1787,7 +1787,7 @@ function VgD.NightEffect(c, m)
return e1, e2
end
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
---【永】【指令区】:对手在可以将后防者通常CALL出场的时段,对手可以将以下的效果执行。
......@@ -1823,26 +1823,26 @@ function VgD.CallInPrisonCondition(val)
local eg, ep, ev, re, r, rp
if Duel.GetTurnPlayer() == e:GetHandlerPlayer() then return false end
if val == 1 then
return (VgF.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
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
function VgD.CallInPrisonOperation(val)
return function(e, tp, eg, ep, ev, re, r, rp, c, sg, og)
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)
if g:GetFirst():IsType(TYPE_MONSTER) then
if g:GetFirst():IsType(TYPE_UNIT) then
VgF.Sendto(LOCATION_CIRCLE, g, 0, tp)
else
VgF.Sendto(LOCATION_DROP, g, REASON_EFFECT)
end
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 g = tg:Filter(Card.IsType, nil, TYPE_MONSTER)
local g = tg:Filter(Card.IsType, nil, TYPE_UNIT)
if g:GetCount() > 0 then
VgF.Sendto(LOCATION_CIRCLE, g, 0, tp)
tg:Sub(g)
......@@ -1856,7 +1856,7 @@ function VgD.CallInPrisonOperation(val)
end
end
function VgD.CallInPrisonFilter(c, e, tp)
return c:GetFlagEffect(FLAG_IMPRISON) > 0 and (vgf.IsCanBeCalled(c, e, tp) or not c:IsType(TYPE_MONSTER))
return c:GetFlagEffect(FLAG_IMPRISON) > 0 and (vgf.IsCanBeCalled(c, e, tp) or not c:IsType(TYPE_UNIT))
end
--其他----------------------------------------------------------------------------------------
......@@ -1890,7 +1890,7 @@ function VgD.GlobalCheckEffect(c, m, code, con, op)
end
-- set effect
local ge = Effect.CreateEffect(c)
ge:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_CONTINUOUS)
ge:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_SET)
ge:SetCode(code)
if con then ge:SetCondition(con) end
ge:SetOperation(op)
......
......@@ -52,17 +52,18 @@ POS_ATTACK = 0x3 --攻击表示
POS_DEFENSE = 0xc --守备表示
NO_FLIP_EFFECT = 0x10000--不发动反转效果
--Types 卡片类型
TYPE_MONSTER = 0x1 --单位卡
TYPE_SPELL = 0x2 --指令卡
TYPE_UNIT = 0x1 --单位卡
TYPE_ORDER = 0x2 --指令卡
TYPE_TRAP = 0x4 --标记
TYPE_NORMAL = 0x20 --普通
TYPE_TRIIGER = 0x80 --触发
TYPE_TRIGGER = 0x80 --触发
TYPE_G = 0x200 --G
TYPE_TOKEN = 0x4000 --衍生
TYPE_QUICKPLAY = 0x10000 --闪现
TYPE_CONTINUOUS = 0x20000 --设置
TYPE_EMBLEM = 0x100000 --纹章
TYPE_RIDE_EMBLEM = 0x100044 --RIDE卡组纹章
TYPE_BLITZ = 0x10000 --闪现
TYPE_SET = 0x20000 --设置
TYPE_CREST = 0x100000 --纹章
TYPE_RIDE_CREST = 0x100044 --RIDE卡组纹章
--技能 --属性
SKILL_ALL = 0x7f --All
......@@ -279,7 +280,7 @@ EFFECT_TYPE_TRIGGER_O = 0x0080 --诱发选发效果
EFFECT_TYPE_QUICK_O = 0x0100 --诱发即时效果
EFFECT_TYPE_TRIGGER_F = 0x0200 --诱发必发效果
EFFECT_TYPE_QUICK_F = 0x0400 --诱发即时必发效果(熊猫龙等)
EFFECT_TYPE_CONTINUOUS = 0x0800 --由事件觸發的輔助用效果/永續效果
EFFECT_TYPE_SET = 0x0800 --由事件觸發的輔助用效果/永續效果
EFFECT_TYPE_XMATERIAL = 0x1000 --作为超量素材时超量怪兽获得的效果(十二兽)
EFFECT_TYPE_GRANT = 0x2000 --使其他卡片获得效果(天气模样)
EFFECT_TYPE_TARGET = 0x4000 --影响持续取的对象的效果(基本只用于魔陷)
......@@ -300,7 +301,7 @@ EFFECT_FLAG_BOTH_SIDE = 0x1000 --双方都能使用(部分场地,弹压)
EFFECT_FLAG_COPY_INHERIT = 0x2000 --若由复制的效果產生則继承其Reset属性
EFFECT_FLAG_DAMAGE_STEP = 0x4000 --可以在伤害步骤发动
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_UNCOPYABLE = 0x40000 --不能复制的原始效果(效果外文本)
EFFECT_FLAG_OATH = 0x80000 --誓约效果
......@@ -638,7 +639,7 @@ EVENT_PREDRAW = 1113 --抽卡阶段通常抽卡前
EVENT_SUMMON_NEGATED = 1114 --召唤被无效时
EVENT_FLIP_SUMMON_NEGATED = 1115 --反转召唤被无效时
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_EQUIP = 1121 --装备卡装备时
EVENT_ATTACK_ANNOUNCE = 1130 --攻击宣言时
......@@ -647,7 +648,7 @@ EVENT_BATTLE_START = 1132 --伤害步骤开始时(反转前)
EVENT_BATTLE_CONFIRM = 1133 --伤害计算前(反转後)
EVENT_PRE_DAMAGE_CALCULATE = 1134 --伤害计算时(羽斬)
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_BATTLED = 1138 --伤害计算后(异女、同反转效果时点)
EVENT_BATTLE_DESTROYING = 1139 --以战斗破坏怪兽送去墓地时(BF- 苍炎之修罗)
......@@ -726,7 +727,7 @@ OPCODE_ISATTRIBUTE = 0x40000104
DOUBLE_DAMAGE = -2147483648
HALF_DAMAGE = -2147483647
--Hint Message --提示消息,显示在窗口的上面
HINTMSG_LEAVEFIELD = 500 --请选择要退场的卡
HINTMSG_LEAVEFIELD = 500 --请选择要退场的卡
HINTMSG_DISCARD = 501 --请选择要丢弃的手牌
HINTMSG_IMPRISON = 502 --请选择要收容的卡
HINTMSG_REMOVE = 503 --请选择要除外的卡
......@@ -875,7 +876,7 @@ AFFECT_CODE_ALCHEMAGIC_DIFFERENT_NAME = VgID + 1 --魔合成(卡名不同
AFFECT_CODE_BOTH_WING = VgID + 2 --你的卡片的白翼能力和黑翼能力两方均有效
AFFECT_CODE_NIGHT = VgID + 3 --黑夜
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上
......
......@@ -561,7 +561,7 @@ end
function VgF.IsAbleToGCircle(c)
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
return c:IsType(TYPE_MONSTER)
return c:IsType(TYPE_UNIT)
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()
end
......@@ -570,7 +570,7 @@ end
---用于效果的Operation。它返回一个执行“[计数回充val]”的函数。
---@param val number 计数回充的数量
---@return function 效果的Operation函数
function VgF.DamageFill(val)
function VgF.CounterCharge(val)
return function (e, tp, eg, ep, ev, re, r, rp)
local c = e:GetHandler()
Duel.Hint(HINT_SELECTMSG, tp, HINTMSG_POSCHANGE)
......@@ -581,7 +581,7 @@ function VgF.DamageFill(val)
end
---用于效果的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 ()
local c = e:GetHandler()
if chk == 0 then return c:IsRelateToEffect(e) end
......@@ -623,7 +623,7 @@ end
---用于效果的Cost。它返回一个执行“【费用】[将手牌中的val张卡舍弃]”的函数。
---@param val number 要舍弃的卡的数量
---@return function 效果的Cost函数
function VgF.DisCardCost(val)
function VgF.Discard(val)
return function (e, tp, eg, ep, ev, re, r, rp, chk)
if VgF.GetValueType(val) ~= "number" then return 0 end
local c = e:GetHandler()
......@@ -646,7 +646,7 @@ end
---用于效果的Cost。它返回一个执行“【费用】[能量爆发val]”的函数。
---@param val number 能量爆发的数量
---@return function 效果的Cost函数
function VgF.EnergyCost(val)
function VgF.EnergyBlast(val)
return function (e, tp, eg, ep, ev, re, r, rp, chk)
if VgF.GetValueType(val) ~= "number" then return 0 end
local c = e:GetHandler()
......@@ -669,7 +669,7 @@ end
---用于效果的Cost。它返回一个执行“【费用】[灵魂爆发val]”的函数。
---@param val number 灵魂爆发的数量
---@return function 效果的Cost函数
function VgF.OverlayCost(val)
function VgF.SoulBlast(val)
return function (e, tp, eg, ep, ev, re, r, rp, chk)
if VgF.GetValueType(val) ~= "number" then return 0 end
local c = e:GetHandler()
......@@ -692,7 +692,7 @@ end
---用于效果的Cost或Operation。它返回一个执行“【费用】[灵魂填充val]”的函数。
---@param val number 灵魂填充的数量
---@return function 效果的Cost或Operation函数
function VgF.OverlayFill(val)
function VgF.SoulCharge(val)
return function (e, tp, eg, ep, ev, re, r, rp, chk)
if VgF.GetValueType(val) ~= "number" then return 0 end
local c = e:GetHandler()
......@@ -717,7 +717,7 @@ end
---用于效果的Cost。它返回一个执行“【费用】[计数爆发val]”的函数。
---@param val number 计数爆发的数量
---@return function 效果的Cost函数
function VgF.DamageCost(val)
function VgF.CounterBlast(val)
return function (e, tp, eg, ep, ev, re, r, rp, chk)
if VgF.GetValueType(val) ~= "number" then return 0 end
local c = e:GetHandler()
......@@ -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(zone) == "string" and zone == "FromOverlayToV" then
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
return z > 0 and c:IsCanBeSpecialSummoned(e, sumtype, tp, false, false, pos, tp, zone)
end
......@@ -1091,7 +1091,7 @@ end
function VgF.EffectReset(c, e, code, con)
if VgF.GetValueType(e) == "Effect" then
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:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetRange(LOCATION_ALL)
......@@ -1102,7 +1102,7 @@ function VgF.EffectReset(c, e, code, con)
elseif VgF.GetValueType(e) == "table" then
for i, v in ipairs(e) do
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:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetRange(LOCATION_ALL)
......@@ -1470,18 +1470,6 @@ function VgF.AddEffectWhenTrigger(c, m, op, cost, con, tg, chk)
cm.effect_when_trigger = {op, cost, con, tg, chk}
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)
return true
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