Commit 9985722e authored by xiaoye's avatar xiaoye

fixed

parent d4f08f91
local cm,m,o=GetID() local cm,m,o=GetID()
function cm.initial_effect(c) function cm.initial_effect(c)
vgf.VgCard(c) vgf.VgCard(c)
vgd.SpellActivate(c,m,cm.op,cm.cost)
end end
function cm.filter(c,p)
return c:IsControler(p) and vgf.RMonsterFilter(c)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local g=vgf.SelectMatchingCard(HINTMSG_OPPO,e,tp,vgf.RMonsterFilter,tp,0,LOCATION_MZONE,1,1,nil)
if g:GetCount()==0 then return end
local sg=vgf.GetColumnGroup(g:GetFirst()):Filter(cm.filter,nil,1-tp)
if sg:GetCount()>0 then g:Sub(sg) end
vgf.Sendto(LOCATION_DECK,g,nil,0,REASON_EFFECT)
local og=Duel.GetOperatedGroup()
if #og>1 then
Duel.SortDecktop(1-tp,1-tp,#og)
for i=1,#og do
local dg=Duel.GetDecktopGroup(tp,1)
Duel.MoveSequence(dg:GetFirst(),SEQ_DECKBOTTOM)
end
end
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
vgf.GetMatchingGroup(vgf.VMonsterFilter,tp,LOCATION_MZONE,0,nil,nil):GetFirst():GetOverlayGroup():Filter(Card.IsLevel,nil,3)
end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVEXYZ)
local g=vgf.GetMatchingGroup(vgf.VMonsterFilter,tp,LOCATION_MZONE,0,nil):GetFirst():GetOverlayGroup():FilterSelect(tp,Card.IsLevel,1,1,nil,3)
vgf.Sendto(LOCATION_DROP,g,REASON_COST)
end
\ No newline at end of file
...@@ -5,16 +5,13 @@ function cm.initial_effect(c) ...@@ -5,16 +5,13 @@ function cm.initial_effect(c)
-- 你的单位在3个以上的话,选择你的1个单位,这次战斗中,力量+15000。 -- 你的单位在3个以上的话,选择你的1个单位,这次战斗中,力量+15000。
vgd.QuickSpell(c,cm.op,nil,cm.con) vgd.QuickSpell(c,cm.op,nil,cm.con)
end end
function cm.con(e,tp,eg,ep,ev,re,r,rp) function cm.con(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
return vgf.IsExistingMatchingCard(nil,tp,LOCATION_MZONE,0,3,nil) return vgf.IsExistingMatchingCard(nil,tp,LOCATION_MZONE,0,3,nil)
end end
function cm.op(e,tp,eg,ep,ev,re,r,rp) function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local g=vgf.SelectMatchingCard(tp,nil,tp,LOCATION_MZONE,0,1,1,nil) local g=vgf.SelectMatchingCard(HINTMSG_ATKUP,tp,nil,tp,LOCATION_MZONE,0,1,1,nil)
if g:GetCount()==1 then local e1=vgf.AtkUp(c,g,15000,EVENT_BATTLED)
local e1=vgf.AtkUp(c,g,15000,EVENT_BATTLED) vgf.EffectReset(c,e1,EVENT_BATTLED)
end end
end \ No newline at end of file
...@@ -8,5 +8,6 @@ end ...@@ -8,5 +8,6 @@ end
function cm.operation(e,tp,eg,ep,ev,re,r,rp) function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local e1=vgf.AtkUp(c,c,5000,EVENT_BATTLED) local e1=vgf.AtkUp(c,c,5000,EVENT_BATTLED)
vgf.EffectReset(c,e1,EVENT_BATTLED)
end end
...@@ -8,12 +8,13 @@ function cm.initial_effect(c) ...@@ -8,12 +8,13 @@ function cm.initial_effect(c)
end end
function cm.condition(e,tp,eg,ep,ev,re,r,rp) function cm.condition(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local a=vgf.IsExistingMatchingCard(Card.IsType,tp,LOCATION_REMOVED,0,1,nil,TYPE_SPELL) return vgf.RMonsterCondition and vgf.VMonsterFilter(Duel.GetAttackTarget()) and vgf.IsExistingMatchingCard(cm.filter,tp,LOCATION_REMOVED,0,1,nil,TYPE_SPELL)
if a then
return vgf.RMonsterCondition and vgf.VMonsterFilter(Duel.GetAttackTarget())
end
end end
function cm.operation(e,tp,eg,ep,ev,re,r,rp) function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local e1=vgf.AtkUp(c,c,5000,EVENT_BATTLED) local e1=vgf.AtkUp(c,c,5000,EVENT_BATTLED)
vgf.EffectReset(c,e1,EVENT_BATTLED)
end
function cm.filter(c,typ)
return c:IsType(typ) and c:IsFaceup()
end end
\ No newline at end of file
...@@ -3,9 +3,12 @@ local cm,m,o=GetID() ...@@ -3,9 +3,12 @@ local cm,m,o=GetID()
function cm.initial_effect(c) function cm.initial_effect(c)
vgf.VgCard(c) vgf.VgCard(c)
--【自】【R】:这个单位支援时,这个回合中, 这个单位的力量+2000。 --【自】【R】:这个单位支援时,这个回合中, 这个单位的力量+2000。
vgd.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_FIELD,EVENT_CUSTOM+EVENT_SUPPORT,cm.operation,nil,vgf.RMonsterCondition) vgd.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_FIELD,EVENT_CUSTOM+EVENT_SUPPORT,cm.operation,nil,cm.con)
end end
function cm.operation(e,tp,eg,ep,ev,re,r,rp) function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local e1=vgf.AtkUp(c,c,2000,nil) vgf.AtkUp(c,c,2000,nil)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
return re:GetHandler()==e:GetHandler()
end end
\ No newline at end of file
...@@ -4,21 +4,20 @@ function cm.initial_effect(c) ...@@ -4,21 +4,20 @@ function cm.initial_effect(c)
vgf.VgCard(c) vgf.VgCard(c)
--【起】【V】【1回合1次】:通过【费用】[灵魂爆发1],抽2张卡, --【起】【V】【1回合1次】:通过【费用】[灵魂爆发1],抽2张卡,
--选择你的手牌中的至多1张指令卡,舍弃,没有舍弃的话,选择手牌中的的2张卡舍弃。 --选择你的手牌中的至多1张指令卡,舍弃,没有舍弃的话,选择手牌中的的2张卡舍弃。
vgd.EffectTypeIgnition(c,m,LOCATION_FZONE,cm.operation,vgf.OverlayCost(1),vgf.VMonsterCondition,nil,1) vgd.EffectTypeIgnition(c,m,LOCATION_MZONE,cm.operation,vgf.OverlayCost(1),vgf.VMonsterCondition,nil,1)
--【永】【R】:这个回合中你施放过指令卡的话,这个单位的力量+2000。 --【永】【R】:这个回合中你施放过指令卡的话,这个单位的力量+2000。
vgd.EffectTypeContinuousChangeAttack(c,EFFECT_TYPE_SINGLE,2000,cm.con) vgd.EffectTypeContinuousChangeAttack(c,EFFECT_TYPE_SINGLE,2000,cm.con)
vgd.GlobalCheckEffect(c,m,EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS,EVENT_CHAINING,cm.checkcon,cm.checkop) vgd.GlobalCheckEffect(c,m,EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS,EVENT_CHAINING,cm.checkcon,cm.checkop)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp) function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
Duel.Draw(tp,1,REASON_EFFECT) Duel.Draw(tp,2,REASON_EFFECT)
local e1=vgf.SearchCard(LOCATION_HAND,LOCATION_DROP,cm.operation1,1,0)(e,tp,eg,ep,ev,re,r,rp) if vgf.SearchCard(LOCATION_HAND,LOCATION_DROP,cm.filter,1,0)(e,tp,eg,ep,ev,re,r,rp)==0 then
if e1==0 then vgf.SearchCard(LOCATION_HAND,LOCATION_DROP,nil,2,2)(e,tp,eg,ep,ev,re,r,rp)
local e1=vgf.SearchCard(LOCATION_HAND,LOCATION_DROP,nil,2,2)(e,tp,eg,ep,ev,re,r,rp)
end end
end end
function cm.operation1(e,tp,eg,ep,ev,re,r,rp) function cm.filter(c)
local c=e:GetHandler() return c:IsType(TYPE_SPELL)
return Card.IsType(c,TYPE_SPELL)
end end
function cm.checkcon(e,tp,eg,ep,ev,re,r,rp) function cm.checkcon(e,tp,eg,ep,ev,re,r,rp)
return re:IsHasType(EFFECT_TYPE_ACTIVATE) and rp==tp return re:IsHasType(EFFECT_TYPE_ACTIVATE) and rp==tp
......
...@@ -4,16 +4,15 @@ local cm,m,o=GetID() ...@@ -4,16 +4,15 @@ local cm,m,o=GetID()
--抽1张卡,将这张卡放置到灵魂里,计数回充1。 --抽1张卡,将这张卡放置到灵魂里,计数回充1。
function cm.initial_effect(c) function cm.initial_effect(c)
vgf.VgCard(c) vgf.VgCard(c)
vgd.SpellActivate(c,m,cm.operation,nil,cm.com) vgd.SpellActivate(c,m,cm.operation,cm.cost)
end end
function cm.con(e,tp,eg,ep,ev,re,r,rp) function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() if chk==0 then return vgf.IsExistingMatchingCard(vgf.RMonsterFilter,tp,LOCATION_MZONE,0,2,nil) end
return vgf.IsExistingMatchingCard(vgf.RMonsterFilter,tp,LOCATION_MZONE,0,2,nil) local g=vgf.SelectMatchingCard(HINTMSG_LEAVEONFIELD,e,tp,vgf.RMonsterFilter,tp,LOCATION_MZONE,0,2,2,nil)
vgf.Sendto(LOCATION_DROP,g,REASON_COST)
end end
function cm.op(e,tp,eg,ep,ev,re,r,rp) function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local g=vgf.SelectMatchingCard(HINTMSG_LEAVEONFIELD,e,tp,cm.filter,tp,LOCATION_MZONE,0,2,2,nil)
vgf.Sendto(LOCATION_DROP,g,REASON_EFFECT)
Duel.Draw(tp,1,REASON_TRIGGER) Duel.Draw(tp,1,REASON_TRIGGER)
vgf.Sendto(LOCATION_OVERLAY,c) vgf.Sendto(LOCATION_OVERLAY,c)
VgF.DamageFill(1) VgF.DamageFill(1)
......
...@@ -3,19 +3,12 @@ local cm,m,o=GetID() ...@@ -3,19 +3,12 @@ local cm,m,o=GetID()
--选择你的1个单位,这次战斗中,力量+5000。选择你的1张没有正在被攻击的后防者,返回手牌 --选择你的1个单位,这次战斗中,力量+5000。选择你的1张没有正在被攻击的后防者,返回手牌
function cm.initial_effect(c) function cm.initial_effect(c)
vgf.VgCard(c) vgf.VgCard(c)
vgd.QuickSpell(c,cm.op,nil,cm.con) vgd.QuickSpell(c,cm.op)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return vgf.IsExistingMatchingCard(nil,tp,LOCATION_MZONE,0,1,nil)
end end
function cm.op(e,tp,eg,ep,ev,re,r,rp) function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local g=vgf.SelectMatchingCard(HINTMSG_ATKUP,e,tp,nil,tp,LOCATION_MZONE,0,1,1,nil) local g=vgf.SelectMatchingCard(HINTMSG_ATKUP,e,tp,nil,tp,LOCATION_MZONE,0,1,1,nil)
vgf.AtkUp(c,g,5000,EVENT_BATTLED) vgf.AtkUp(c,g,5000,EVENT_BATTLED)
local b=vgf.IsExistingMatchingCard(vgf.RMonsterFilter,tp,LOCATION_MZONE,0,1,Duel.GetAttackTarget()) local sg=vgf.SelectMatchingCard(HINTMSG_RTOHAND,vgf.RMonsterFilter,e,tp,vgf.RMonsterFilter,tp,LOCATION_MZONE,0,1,1,Duel.GetAttackTarget())
if b==true then vgf.Sendto(LOCATION_HAND,sg,REASON_EFFECT)
local sg=vgf.SelectMatchingCard(vgf.RMonsterFilter,e,tp,nil,tp,LOCATION_MZONE,0,1,1,,Duel.GetAttackTarget())
vgf.Sendto(LOCATION_HAND,sg,REASON_EFFECT)
end
end end
...@@ -8,8 +8,7 @@ function cm.initial_effect(c) ...@@ -8,8 +8,7 @@ function cm.initial_effect(c)
end end
function cm.operation(e,tp,eg,ep,ev,re,r,rp) function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local g=vgf.SelectMatchingCard(HINTMSG_CRITICAL_STRIKE,e,tp,vgf.VMonsterFilter,tp,0,LOCATION_MZONE,1,1,nil) local g=vgf.SelectMatchingCard(HINTMSG_OPPO,e,tp,vgf.VMonsterFilter,tp,0,LOCATION_MZONE,1,1,nil)
if g:GetCount()>0 then local e1=vgf.StarUp(c,g,-1,EVENT_BATTLED)
local e1=vgf.StarUp(c,g,-1,EVENT_BATTLED) vgf.EffectReset(c,e1,EVENT_BATTLED)
end
end end
\ No newline at end of file
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