Commit 6e162cd5 authored by xiaoye's avatar xiaoye

update VgF.SearchCard and VgF.Sendto

parent b053d276
......@@ -77,7 +77,7 @@ function VgD.RideUpOperation(e,tp,eg,ep,ev,re,r,rp)
if sc:IsLocation(LOCATION_EXTRA) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DISCARD)
local g=Duel.SelectMatchingCard(tp,VgD.DisCardRideUpFilter,tp,LOCATION_HAND,0,1,1,nil,e,lv,code,rc)
VgF.Sendto(LOCATION_GRAVE,g,REASON_COST+REASON_DISCARD)
VgF.Sendto(LOCATION_DROP,g,REASON_COST+REASON_DISCARD)
end
local mg=rc:GetOverlayGroup()
if mg:GetCount()~=0 then
......@@ -163,7 +163,7 @@ function VgD.CallOperation(e,tp,eg,ep,ev,re,r,rp)
local zone=Duel.SelectField(tp,1,LOCATION_MZONE,0,z)
if Duel.IsExistingMatchingCard(VgD.CallFilter,tp,LOCATION_MZONE,0,1,nil,tp,zone) then
local tc=Duel.GetMatchingGroup(VgD.CallFilter,tp,LOCATION_MZONE,0,nil,tp,zone):GetFirst()
VgF.Sendto(LOCATION_GRAVE,tc,REASON_COST)
VgF.Sendto(LOCATION_DROP,tc,REASON_COST)
end
e:SetValue(function () return SUMMON_VALUE_CALL,zone end)
end
......@@ -486,7 +486,7 @@ function VgD.SendToGOperation(e,tp,eg,ep,ev,re,r,rp)
end
function VgD.GToGraveOperation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
VgF.Sendto(LOCATION_GRAVE,c,REASON_RULE)
VgF.Sendto(LOCATION_DROP,c,REASON_RULE)
end
function VgD.MonsterAttackAnnounceCondition(e,c)
return e:GetHandler():IsPosition(POS_DEFENSE) or (VgF.IsSequence(e:GetHandler(),1,2,3) and e:GetHandler():GetFlagEffect(AttackAtRearFlag)==0)
......@@ -583,7 +583,7 @@ function VgD.CardTriggerOperation(chkop,f)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODROP)
local tc=Duel.SelectMatchingCard(tp,nil,tp,LOCATION_DAMAGE,0,1,1,nil):GetFirst()
if tc then
VgF.Sendto(LOCATION_GRAVE,tc,REASON_TRIGGER)
VgF.Sendto(LOCATION_DROP,tc,REASON_TRIGGER)
Duel.Recover(tp,1,REASON_RULE)
end
end
......@@ -777,7 +777,7 @@ function VgF.MixFilter(mg, cf, cval, bf, bmin, bmax, bval)
end
end
function VgD.MixCostFilter(c,e,tp,eg,ep,ev,re,r,rp,mc)
if Duel.IsPlayerAffectedByEffect(tp,AFFECT_CODE_MIX_DIFFERENT_NAME) and c:IsCode(mc:GetCode()) then return false end
if Duel.IsPlayerAffectedByEffect(tp,AFFECT_CODE_MIX_DIFFERENT_NAME) and c:IsCode(mc:GetCode()) then return false end
local ce = c:GetActivateEffect()
if not ce or (ce:GetCost() and not ce:GetCost()(e,tp,eg,ep,ev,re,r,rp,0)) then return false end
local cg, cval = mc.cos_g, mc.cos_val
......@@ -797,8 +797,8 @@ function VgD.MixCost(cost)
return function(e,tp,eg,ep,ev,re,r,rp,chk,bool)
local c=e:GetHandler()
if chk==0 then return VgF.GetValueType(cost)~="function" or cost(e,tp,eg,ep,ev,re,r,rp,0) end
if not bool and (Duel.IsPlayerAffectedByEffect(tp,AFFECT_CODE_MIX) and Duel.IsExistingMatchingCard(VgD.MixCostFilter,tp,LOCATION_GRAVE,0,1,nil,e,tp,eg,ep,ev,re,r,rp,c) and Duel.SelectYesNo(tp,VgF.Stringid(VgID,6))) then
local bc=Duel.SelectMatchingCard(tp,VgD.MixCostFilter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp,eg,ep,ev,re,r,rp,c):GetFirst()
if not bool and (Duel.IsPlayerAffectedByEffect(tp,AFFECT_CODE_MIX) and Duel.IsExistingMatchingCard(VgD.MixCostFilter,tp,LOCATION_DROP,0,1,nil,e,tp,eg,ep,ev,re,r,rp,c) and Duel.SelectYesNo(tp,VgF.Stringid(VgID,6))) then
local bc=Duel.SelectMatchingCard(tp,VgD.MixCostFilter,tp,LOCATION_DROP,0,1,1,nil,e,tp,eg,ep,ev,re,r,rp,c):GetFirst()
if cost then cost(e,tp,eg,ep,ev,re,r,rp) end
if bc then
VgF.Sendto(LOCATION_REMOVED,bc,POS_FACEUP,REASON_COST)
......
This diff is collapsed.
......@@ -10,6 +10,6 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
if g:GetCount()>=2 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DISCARD)
g=g:Select(tp,1,1,nil)
vgf.Sendto(LOCATION_GRAVE,g,REASON_EFFECT+REASON_DISCARD)
vgf.Sendto(LOCATION_DROP,g,REASON_EFFECT+REASON_DISCARD)
end
end
\ No newline at end of file
......@@ -2,7 +2,7 @@
local cm,m,o=GetID()
function cm.initial_effect(c)
vgf.VgCard(c)
vgd.EffectTypeIgnition(c,m,LOCATION_MZONE,vgf.SearchCardSpecialSummon(LOCATION_DROP,cm.filter),vgf.DisCardCost(1),nil,nil,1)
vgd.EffectTypeIgnition(c,m,LOCATION_MZONE,vgf.SearchCard(LOCATION_HAND,LOCATION_MZONE,LOCATION_DROP,cm.filter),vgf.DisCardCost(1),nil,nil,1)
vgd.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.operation,vgf.DamageCost(1))
end
function cm.filter(c)
......
......@@ -2,7 +2,7 @@
local cm,m,o=GetID()
function cm.initial_effect(c)
vgf.VgCard(c)
vgd.BeRidedByCard(c,m,10101001,vgf.SearchCard(LOCATION_DECK,cm.filter),vgf.OverlayCost(1))
vgd.BeRidedByCard(c,m,10101001,vgf.SearchCard(LOCATION_HAND,LOCATION_DECK,cm.filter),vgf.OverlayCost(1))
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
......
......@@ -2,15 +2,8 @@
local cm,m,o=GetID()
function cm.initial_effect(c)
vgf.VgCard(c)
vgd.BeRidedByCard(c,m,10101002,vgf.SearchCardSpecialSummon(LOCATION_DECK,cm.filter))
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetRange(LOCATION_MZONE)
e1:SetCondition(cm.con)
e1:SetValue(2000)
c:RegisterEffect(e1)
vgd.BeRidedByCard(c,m,10101002,vgf.SearchCard(LOCATION_HAND,LOCATION_MZONE,LOCATION_DECK,cm.filter))
vgd.EffectTypeContinuousChangeAttack(c,EFFECT_TYPE_SINGLE,2000,cm.con)
end
function cm.filter(c)
return c:IsCode(10101009)
......
......@@ -11,11 +11,11 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
vgf.EffectReset(c,e1,EVENT_BATTLED)
if Duel.GetMatchingGroup(vgf.VMonsterFilter,tp,LOCATION_MZONE,0,nil,nil):GetFirst():GetOverlayCount()>=2 and Duel.SelectEffectYesNo(tp,vgf.stringid(VgID,10)) then
local cg=Duel.GetMatchingGroup(vgf.VMonsterFilter,tp,LOCATION_MZONE,0,nil):GetFirst():GetOverlayGroup():Select(tp,2,2,nil)
if vgf.Sendto(LOCATION_GRAVE,cg,REASON_COST)==2 then
if vgf.Sendto(LOCATION_DROP,cg,REASON_COST)==2 then
local g=vgf.SelectMatchingCard(HINTMSG_LEAVEONFIELD,e,tp,vgf.RMonsterFilter,tp,0,LOCATION_MZONE,1,1,nil)
if g then
Duel.HintSelection(g)
vgf.Sendto(LOCATION_GRAVE,g,REASON_EFFECT)
vgf.Sendto(LOCATION_DROP,g,REASON_EFFECT)
end
end
end
......
......@@ -9,7 +9,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local g=vgf.SelectMatchingCard(HINTMSG_ATKUP,e,tp,nil,tp,LOCATION_MZONE,0,1,1,nil)
Duel.HintSelection(g)
vgf.AtkUp(c,g,5000,nil)
vgf.SearchCardOP(LOCATION_DROP,cm.filter,e,tp,eg,ep,ev,re,r,rp)
vgf.SearchCard(LOCATION_HAND,LOCATION_DROP,cm.filter)(e,tp,eg,ep,ev,re,r,rp)
end
function cm.filter(c)
return c:IsCode(10101006)
......
......@@ -23,5 +23,5 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CALL)
local g=Duel.GetMatchingGroup(vgf.VMonsterFilter,tp,LOCATION_MZONE,0,nil):GetFirst():GetOverlayGroup():Select(tp,1,1,nil)
vgf.Sendto(LOCATION_MZONE,g,0,tp,0x4)
vgf.OverlayFillOP(1,e,tp,eg,ep,ev,re,r,rp)
vgf.OverlayFill(1)(e,tp,eg,ep,ev,re,r,rp)
end
......@@ -7,7 +7,7 @@ end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local num=1
if Duel.GetFlagEffectLabel(tp,ConditionFlag)==10102001 then num=num+1 end
vgf.OverlayFillOP(num,e,tp,eg,ep,ev,re,r,rp)
vgf.OverlayFill(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)
......
......@@ -18,7 +18,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
if tc:IsType(TYPE_MONSTER) then
vgf.Sendto(LOCATION_MZONE,g,0,tp)
else
vgf.Sendto(LOCATION_GRAVE,g,REASON_EFFECT)
vgf.Sendto(LOCATION_DROP,g,REASON_EFFECT)
end
end
function cm.operation2(e,tp,eg,ep,ev,re,r,rp)
......
......@@ -22,5 +22,5 @@ function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.ChangePosition(g1,POS_FACEDOWN)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVEXYZ)
local g2=Duel.GetMatchingGroup(vgf.VMonsterFilter,tp,LOCATION_MZONE,0,nil):GetFirst():GetOverlayGroup():Select(tp,1,1,nil)
vgf.Sendto(LOCATION_GRAVE,g2,REASON_COST)
vgf.Sendto(LOCATION_DROP,g2,REASON_COST)
end
\ No newline at end of file
local cm,m,o=GetID()
function cm.initial_effect(c)
vgf.VgCard(c)
vgd.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,vgf.SearchCard(LOCATION_DECK,cm.filter),nil,cm.condition)
vgd.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,vgf.SearchCard(LOCATION_HAND,LOCATION_DECK,cm.filter),nil,cm.condition)
vgd.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation1,cm.cost,cm.condition1)
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
......@@ -27,5 +27,5 @@ function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.ChangePosition(g1,POS_FACEDOWN)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVEXYZ)
local g2=Duel.GetMatchingGroup(vgf.VMonsterFilter,tp,LOCATION_MZONE,0,nil):GetFirst():GetOverlayGroup():Select(tp,1,1,nil)
vgf.Sendto(LOCATION_GRAVE,g2,REASON_COST)
vgf.Sendto(LOCATION_DROP,g2,REASON_COST)
end
\ No newline at end of file
......@@ -2,7 +2,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c)
vgf.VgCard(c)
vgd.EffectTypeContinuousChangeAttack(c,EFFECT_TYPE_SINGLE,2000,con)
vgd.EffectTypeContinuousChangeAttack(c,EFFECT_TYPE_SINGLE,5000,con,tg,c,EFFECT_UPDATE_DEFENSE,reset,LOCATION_GRAVE)
vgd.EffectTypeContinuousChangeAttack(c,EFFECT_TYPE_SINGLE,5000,con,tg,c,EFFECT_UPDATE_DEFENSE,reset,LOCATION_DROP)
end
function cm.con(e,c)
local tp=e:GetHandler()
......
......@@ -26,7 +26,7 @@ function cm.cost1(e,tp,eg,ep,ev,re,r,rp,chk)
if sel==0 and a then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVEXYZ)
local g=Duel.GetMatchingGroup(vgf.VMonsterFilter,tp,LOCATION_MZONE,0,nil):GetFirst():GetOverlayGroup():Select(tp,1,1,nil)
vgf.Sendto(LOCATION_GRAVE,g,REASON_COST)
vgf.Sendto(LOCATION_DROP,g,REASON_COST)
e:SetLabel(1)
else
local g=vgf.SelectMatchingCard(HINTMSG_DAMAGE,e,tp,Card.IsFaceup,tp,LOCATION_DAMAGE,0,num,num,nil)
......@@ -50,7 +50,7 @@ function cm.op1(e,tp,eg,ep,ev,re,r,rp)
if tc:IsType(TYPE_MONSTER) then
vgf.Sendto(LOCATION_MZONE,tc,0,tp)
else
vgf.Sendto(LOCATION_GRAVE,tc,REASON_EFFECT)
vgf.Sendto(LOCATION_DROP,tc,REASON_EFFECT)
end
end
end
......
......@@ -46,7 +46,7 @@ function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVEXYZ)
local sg=g:SelectSubGroup(tp,cm.check,true,4,4)
vgf.Sendto(LOCATION_GRAVE,sg,REASON_EFFECT)
vgf.Sendto(LOCATION_DROP,sg,REASON_EFFECT)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -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.OverlayFillOP(1,e,tp,eg,ep,ev,re,r,rp)
vgf.OverlayFill(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
......
......@@ -10,7 +10,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()
local g=vgf.SelectMatchingCard(HINTMSG_XMATERIAL,e,tp,nil,tp,LOCATION_GRAVE,0,1,1,nil)
local g=vgf.SelectMatchingCard(HINTMSG_XMATERIAL,e,tp,nil,tp,LOCATION_DROP,0,1,1,nil)
if g:GetCount()>0 then
vgf.Sendto(LOCATION_OVERLAY,g,vgf.GetVMonster(tp))
end
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgf.VgCard(c)
vgd.BeRidedByCard(c,m,cm.filter,vgf.SearchCard(LOCATION_DROP,cm.filter1),vgf.DamageCost(1))
vgd.BeRidedByCard(c,m,cm.filter,vgf.SearchCard(LOCATION_HAND,LOCATION_DROP,cm.filter1),vgf.DamageCost(1))
vgd.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_FIELD,EVENT_CUSTOM+EVENT_SUPPORT,cm.operation1,vgf.OverlayCost(1),cm.condition1)
end
function cm.filter(c)
......
......@@ -12,7 +12,7 @@ function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVEXYZ)
local g=Duel.GetMatchingGroup(vgf.VMonsterFilter,tp,LOCATION_MZONE,0,nil):GetFirst():GetOverlayGroup():Select(tp,1,1,nil)
g:AddCard(e:GetHandler())
vgf.Sendto(LOCATION_GRAVE,g,REASON_COST)
vgf.Sendto(LOCATION_DROP,g,REASON_COST)
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)
vgf.VgCard(c)
vgd.SpellActivate(c,m,vgf.SearchCard(LOCATION_DECK,cm.filter),vgf.DamageCost(1),cm.condition)
vgd.SpellActivate(c,m,vgf.SearchCard(LOCATION_HAND,LOCATION_DECK,cm.filter),vgf.DamageCost(1),cm.condition)
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return vgf.GetVMonster(tp):IsSetCard(0x202)
......
......@@ -43,7 +43,7 @@ function cm.operation1(e,tp,eg,ep,ev,re,r,rp)
local szone=Duel.SelectField(tp,1,LOCATION_MZONE,0,zone)
if Duel.IsExistingMatchingCard(vgd.CallFilter,tp,LOCATION_MZONE,0,1,nil,tp,szone) then
local tc=Duel.GetMatchingGroup(vgd.CallFilter,tp,LOCATION_MZONE,0,nil,tp,szone):GetFirst()
vgf.Sendto(LOCATION_GRAVE,tc,REASON_COST)
vgf.Sendto(LOCATION_DROP,tc,REASON_COST)
end
Duel.SpecialSummonStep(tc1,0,tp,tp,false,false,POS_FACEUP_ATTACK,szone)
if szone&0x11>0 then
......@@ -56,7 +56,7 @@ function cm.operation1(e,tp,eg,ep,ev,re,r,rp)
szone=Duel.SelectField(tp,1,LOCATION_MZONE,0,zone)
if Duel.IsExistingMatchingCard(vgd.CallFilter,tp,LOCATION_MZONE,0,1,nil,tp,szone) then
local tc=Duel.GetMatchingGroup(vgd.CallFilter,tp,LOCATION_MZONE,0,nil,tp,szone):GetFirst()
vgf.Sendto(LOCATION_GRAVE,tc,REASON_COST)
vgf.Sendto(LOCATION_DROP,tc,REASON_COST)
end
Duel.SpecialSummonStep(tc2,0,tp,tp,false,false,POS_FACEUP_ATTACK,szone)
Duel.SpecialSummonComplete()
......
......@@ -15,7 +15,7 @@ end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if vgf.GetAvailableLocation(tp)<=0 then return end
local g=vgf.SelectMatchingCard(HINTMSG_Call,e,tp,cm.filter,tp,LOCATION_GRAVE,0,1,1,nil)
local g=vgf.SelectMatchingCard(HINTMSG_Call,e,tp,cm.filter,tp,LOCATION_DROP,0,1,1,nil)
Duel.HintSelection(g)
vgf.Sendto(LOCATION_MZONE,g,0,tp,nil,POS_FACEUP_DEFENSE)
end
......
......@@ -24,6 +24,6 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
vgf.Sendto(LOCATION_HAND,g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
local tg=vgf.SelectMatchingCard(HINTMSG_DISCARD,e,tp,nil,tp,LOCATION_HAND,0,1,1,nil)
vgf.Sendto(LOCATION_GRAVE,tg,REASON_COST)
vgf.Sendto(LOCATION_DROP,tg,REASON_COST)
end
end
\ No newline at end of file
......@@ -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.DamageCostOP(1,e,tp,eg,ep,ev,re,r,rp,chk) and vgf.DisCardCostOP(1,e,tp,eg,ep,ev,re,r,rp,chk)
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.DamageCostOP(1,e,tp,eg,ep,ev,re,r,rp,chk)
vgf.DisCardCostOP(1,e,tp,eg,ep,ev,re,r,rp,chk)
vgf.DamageCost(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.DisCardCost(1)(e,tp,eg,ep,ev,re,r,rp,chk)
end
\ No newline at end of file
......@@ -16,7 +16,7 @@ end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=vgf.SelectMatchingCard(HINTMSG_LEAVEONFIELD,e,tp,vgf.VMonsterFilter,tp,0,LOCATION_MZONE,1,1,nil)
if g:GetCount()>0 then vgf.Sendto(LOCATION_GRAVE,g,REASON_EFFECT) end
if g:GetCount()>0 then vgf.Sendto(LOCATION_DROP,g,REASON_EFFECT) end
vgf.AtkUp(c,c,10000)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
......
......@@ -23,6 +23,6 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
local g=vgf.SelectMatchingCard(HINTMSG_LEAVEONFIELD,e,tp,vgf.RMonsterFilter,tp,0,LOCATION_MZONE,1,1,nil)
if g then
Duel.HintSelection(g)
vgf.Sendto(LOCATION_GRAVE,g,REASON_EFFECT)
vgf.Sendto(LOCATION_DROP,g,REASON_EFFECT)
end
end
\ No newline at end of file
......@@ -13,8 +13,8 @@ end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then
return vgf.OverlayCostOP(1,e,tp,eg,ep,ev,re,r,rp,chk)
return vgf.OverlayCost(1)(e,tp,eg,ep,ev,re,r,rp,chk)
end
vgf.OverlayCostOP(1,e,tp,eg,ep,ev,re,r,rp,chk)
vgf.Sendto(LOCATION_GRAVE,c,REASON_COST)
vgf.OverlayCost(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.Sendto(LOCATION_DROP,c,REASON_COST)
end
\ No newline at end of file
......@@ -12,7 +12,7 @@ end
--效果二处理
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
vgf.SearchCardSpecialSummonOP(LOCATION_DROP,cm.fliter2,e,tp,eg,ep,ev,re,r,rp)
vgf.SearchCard(LOCATION_MZONE,LOCATION_DROP,cm.fliter2)(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetOperatedGroup()
vgf.AtkUp(c,g,5000)
end
......@@ -22,7 +22,7 @@ function cm.fliter2(c)
end
--计数爆发1,灵魂爆发1
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return vgf.DamageCostOP(1,e,tp,eg,ep,ev,re,r,rp,0) and vgf.OverlayCostOP(1,e,tp,eg,ep,ev,re,r,rp,0) end
vgf.DamageCostOP(1,e,tp,eg,ep,ev,re,r,rp,1)
vgf.OverlayCostOP(1,e,tp,eg,ep,ev,re,r,rp,1)
if chk==0 then return vgf.DamageCost(1)(e,tp,eg,ep,ev,re,r,rp,0) and vgf.OverlayCost(1)(e,tp,eg,ep,ev,re,r,rp,0) end
vgf.DamageCost(1)(e,tp,eg,ep,ev,re,r,rp,1)
vgf.OverlayCost(1)(e,tp,eg,ep,ev,re,r,rp,1)
end
......@@ -17,7 +17,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetMatchingGroupCount(nil,tp,LOCATION_DAMAGE,0,nil)>=Duel.GetMatchingGroupCount(nil,tp,0,LOCATION_DAMAGE,nil) then
local tc=vgf.SelectMatchingCard(HINTMSG_TODROP,e,tp,nil,tp,LOCATION_DAMAGE,0,1,1,nil):GetFirst()
if tc then
vgf.Sendto(LOCATION_GRAVE,tc,REASON_TRIGGER)
vgf.Sendto(LOCATION_DROP,tc,REASON_TRIGGER)
end
end
end
\ No newline at end of file
......@@ -10,14 +10,14 @@ function cm.initial_effect(c)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
Duel.Draw(tp,1,REASON_EFFECT)
local g=vgf.SelectMatchingCard(HINTMSG_XMATERIAL,e,tp,nil,tp,LOCATION_GRAVE,0,0,1,nil)
local g=vgf.SelectMatchingCard(HINTMSG_XMATERIAL,e,tp,nil,tp,LOCATION_DROP,0,0,1,nil)
if g:GetCount()>0 then
vgf.Sendto(LOCATION_OVERLAY,g,vgf.GetVMonster(tp))
end
end
function cm.operation1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
vgf.OverlayFillOP(1,e,tp,eg,ep,ev,re,r,rp,1)
vgf.OverlayFill(1)(e,tp,eg,ep,ev,re,r,rp,1)
local e1=vgf.AtkUp(c,c,5000)
vgf.EffectReset(c,e1,EVENT_BATTLED)
end
......
......@@ -12,9 +12,9 @@ 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.OverlayFillOP(1,e,tp,eg,ep,ev,re,r,rp)
vgf.OverlayFill(1)(e,tp,eg,ep,ev,re,r,rp)
local g=vgf.SelectMatchingCard(HINTMSG_LEAVEONFIELD,e,tp,vgf.RMonsterFilter,tp,0,LOCATION_MZONE,1,1,nil)
if g:GetCount()>0 then
vgf.Sendto(LOCATION_GRAVE,g,REASON_EFFECT)
vgf.Sendto(LOCATION_DROP,g,REASON_EFFECT)
end
end
......@@ -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.DamageCostOP(1,e,tp,eg,ep,ev,re,r,rp,0) and vgf.OverlayCostOP(1,e,tp,eg,ep,ev,re,r,rp,0) end
vgf.DamageCostOP(1,e,tp,eg,ep,ev,re,r,rp,1)
vgf.OverlayCostOP(1,e,tp,eg,ep,ev,re,r,rp,1)
if chk==0 then return vgf.DamageCost(1)(e,tp,eg,ep,ev,re,r,rp,0) and vgf.OverlayCost(1)(e,tp,eg,ep,ev,re,r,rp,0) end
vgf.DamageCost(1)(e,tp,eg,ep,ev,re,r,rp,1)
vgf.OverlayCost(1)(e,tp,eg,ep,ev,re,r,rp,1)
end
--选择对手的1张等级2以上的后防者
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
......@@ -20,7 +20,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=vgf.SelectMatchingCard(HINTMSG_LEAVEONFIELD,e,tp,cm.fliter,tp,0,LOCATION_MZONE,1,1,nil)
if g:GetCount()>0 then
vgf.Sendto(LOCATION_GRAVE,g,REASON_EFFECT)
vgf.Sendto(LOCATION_DROP,g,REASON_EFFECT)
end
end
function cm.fliter(c)
......
......@@ -26,6 +26,6 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
local sg=Duel.GetFieldGroup(tp,LOCATION_HAND,0)
if sg:GetCount()>=2 then
sg=sg:Select(tp,1,1,nil)
vgf.Sendto(LOCATION_GRAVE,sg,REASON_DISCARD+REASON_EFFECT)
vgf.Sendto(LOCATION_DROP,sg,REASON_DISCARD+REASON_EFFECT)
end
end
\ No newline at end of file
......@@ -11,7 +11,7 @@ end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.Draw(tp,1,REASON_EFFECT)
vgf.OverlayFillOP(1,e,tp,eg,ep,ev,re,r,rp,1)
vgf.OverlayFill(1)(e,tp,eg,ep,ev,re,r,rp,1)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetMatchingGroupCount(nil,tp,0,LOCATION_HAND,nil)>=1 end
......@@ -25,5 +25,5 @@ function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return not(c:IsSummonType(SUMMON_TYPE_RIDE) or c:IsSummonType(SUMMON_TYPE_SELFRIDE))
end
function cm.operation1(e,tp,eg,ep,ev,re,r,rp)
vgf.OverlayFillOP(2,e,tp,eg,ep,ev,re,r,rp,1)
vgf.OverlayFill(2)(e,tp,eg,ep,ev,re,r,rp,1)
end
\ No newline at end of file
......@@ -25,6 +25,6 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
local sg=Duel.GetFieldGroup(tp,LOCATION_HAND,0)
if sg:GetCount()>=2 then
sg=sg:Select(tp,1,1,nil)
vgf.Sendto(LOCATION_GRAVE,sg,REASON_DISCARD+REASON_EFFECT)
vgf.Sendto(LOCATION_DROP,sg,REASON_DISCARD+REASON_EFFECT)
end
end
\ No newline at end of file
......@@ -7,7 +7,7 @@ function cm.initial_effect(c)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
vgf.OverlayFillOP(1,e,tp,eg,ep,ev,re,r,rp,1)
vgf.OverlayFill(1)(e,tp,eg,ep,ev,re,r,rp,1)
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATKUP)
local e1=Duel.GetMatchingGroupCount(nil,tp,LOCATION_OVERLAY,0,nil)/5
......
......@@ -2,7 +2,7 @@
local cm,m,o=GetID()
function cm.initial_effect(c)--这个函数下面用于注册效果
vgf.VgCard(c)
vgd.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,vgf.SearchCard(LOCATION_DECK,cm.filter),vgf.DamageCost(1),cm.con2)
vgd.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,vgf.SearchCard(LOCATION_HAND,LOCATION_DECK,cm.filter),vgf.DamageCost(1),cm.con2)
-- 【自】【V】:这个单位的攻击击中时,抽1张卡,选择你的1张含有「诚意真心」的后防者,这个回合中,力量+5000。
vgd.EffectTypeTriggerWhenHitting(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,cm.operation1,nil,vgf.VMonsterCondition)
end
......
......@@ -13,7 +13,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
local e1=vgf.AtkUp(c,c,5000,nil)
vgf.EffectReset(c,e1,EVENT_BATTLED)
if vgf.IsSequence(c,2) then
vgf.DamageFillOP(1,e,tp,eg,ep,ev,re,r,rp)
vgf.DamageFill(1)(e,tp,eg,ep,ev,re,r,rp)
end
end
function cm.checkfilter(c,tp,re)
......
......@@ -10,7 +10,7 @@ end
--效果一处理
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
vgf.SearchCardOP(LOCATION_DECK,cm.fliter,e,tp,eg,ep,ev,re,r,rp)
vgf.SearchCard(LOCATION_HAND,LOCATION_DECK,cm.fliter)(e,tp,eg,ep,ev,re,r,rp)
vgf.AtkUp(c,c,10000,nil)
end
--返回效果一寻找卡密
......@@ -28,7 +28,7 @@ function cm.operation2(e,tp,eg,ep,ev,re,r,rp)
local g=vgf.SelectMatchingCard(HINTMSG_LEAVEONFIELD,e,tp,vgf.RMonsterFilter,tp,0,LOCATION_MZONE,1,1,nil)
if g then
Duel.HintSelection(g)
vgf.Sendto(LOCATION_GRAVE,g,REASON_EFFECT)
vgf.Sendto(LOCATION_DROP,g,REASON_EFFECT)
end
vgf.AtkUp(c,c,5000)
vgf.StarUp(c,c,1)
......
......@@ -10,7 +10,7 @@ end
--效果一处理
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
vgf.SearchCardOP(LOCATION_DECK,cm.fliter,e,tp,eg,ep,ev,re,r,rp)
vgf.SearchCard(LOCATION_HAND,LOCATION_DECK,cm.fliter)(e,tp,eg,ep,ev,re,r,rp)
vgf.AtkUp(c,c,10000,nil)
end
--返回效果一寻找目标
......@@ -25,7 +25,7 @@ end
--效果二处理
function cm.operation2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
vgf.SearchCardSpecialSummonOP(LOCATION_DROP,cm.fliter2,e,tp,eg,ep,ev,re,r,rp)
vgf.SearchCard(LOCATION_MZONE,LOCATION_DROP,cm.fliter2)(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetOperatedGroup()
vgf.AtkUp(c,g,10000)
end
......
......@@ -10,7 +10,7 @@ end
--效果一处理
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
vgf.SearchCardOP(LOCATION_DECK,cm.fliter,e,tp,eg,ep,ev,re,r,rp)
vgf.SearchCard(LOCATION_HAND,LOCATION_DECK,cm.fliter)(e,tp,eg,ep,ev,re,r,rp)
vgf.AtkUp(c,c,10000,nil)
end
--返回找的卡密
......@@ -25,7 +25,7 @@ end
--效果二处理
function cm.operation2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
vgf.SearchCardSpecialSummonOP(LOCATION_HAND,cm.fliter2,e,tp,eg,ep,ev,re,r,rp)
vgf.SearchCard(LOCATION_MZONE,LOCATION_HAND,cm.fliter2)(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetOperatedGroup()
vgf.AtkUp(c,g,10000)
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