Commit 7dea07e8 authored by jwyxym's avatar jwyxym Committed by GitHub

Add files via upload

parent e6a69748
...@@ -85,7 +85,7 @@ function VgD.RideUpOperation(e,tp,eg,ep,ev,re,r,rp) ...@@ -85,7 +85,7 @@ function VgD.RideUpOperation(e,tp,eg,ep,ev,re,r,rp)
end end
sc:SetMaterial(Group.FromCards(rc)) sc:SetMaterial(Group.FromCards(rc))
VgF.Sendto(LOCATION_OVERLAY,Group.FromCards(rc),sc) VgF.Sendto(LOCATION_OVERLAY,Group.FromCards(rc),sc)
VgF.Call(sc,SUMMON_TYPE_RIDE,tp,0x20) vgf.Sendto(LOCATION_MZONE,sc,SUMMON_TYPE_RIDE,tp,0x20)
if Duel.IsExistingMatchingCard(Card.IsType,tp,LOCATION_RIDE,0,1,nil,TYPE_EMBLEM) then if Duel.IsExistingMatchingCard(Card.IsType,tp,LOCATION_RIDE,0,1,nil,TYPE_EMBLEM) then
local tc=Duel.GetMatchingGroup(Card.IsType,tp,LOCATION_RIDE,0,nil,TYPE_EMBLEM):GetFirst() local tc=Duel.GetMatchingGroup(Card.IsType,tp,LOCATION_RIDE,0,nil,TYPE_EMBLEM):GetFirst()
VgF.Sendto(LOCATION_EMBLEM,tc,tp,POS_FACEUP_DEFENSE,REASON_EFFECT) VgF.Sendto(LOCATION_EMBLEM,tc,tp,POS_FACEUP_DEFENSE,REASON_EFFECT)
...@@ -100,7 +100,7 @@ function VgD.RideUpOperation(e,tp,eg,ep,ev,re,r,rp) ...@@ -100,7 +100,7 @@ function VgD.RideUpOperation(e,tp,eg,ep,ev,re,r,rp)
end end
sc:SetMaterial(Group.FromCards(rc)) sc:SetMaterial(Group.FromCards(rc))
VgF.Sendto(LOCATION_OVERLAY,Group.FromCards(rc),sc) VgF.Sendto(LOCATION_OVERLAY,Group.FromCards(rc),sc)
VgF.Call(sc,SUMMON_TYPE_SELFRIDE,tp,0x20) vgf.Sendto(LOCATION_MZONE,sc,SUMMON_TYPE_SELFRIDE,tp,0x20)
Duel.Draw(tp,1,REASON_EFFECT) Duel.Draw(tp,1,REASON_EFFECT)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD)
...@@ -127,7 +127,7 @@ function VgD.RideZeroOperation(e,tp,eg,ep,ev,re,r,rp) ...@@ -127,7 +127,7 @@ function VgD.RideZeroOperation(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CALL) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CALL)
g=g:Select(tp,1,1,nil) g=g:Select(tp,1,1,nil)
end end
VgF.Call(g,SUMMON_TYPE_RIDE,tp,0x20) vgf.Sendto(LOCATION_MZONE,g,SUMMON_TYPE_RIDE,tp,0x20)
end end
--Call到R位 --Call到R位
function VgD.CallToR(c) function VgD.CallToR(c)
......
...@@ -889,6 +889,19 @@ function VgF.Sendto(loc,sg,...) ...@@ -889,6 +889,19 @@ function VgF.Sendto(loc,sg,...)
for tc in VgF.Next(g) do for tc in VgF.Next(g) do
Duel.MoveToField(tc,move_tp,target_tp,loc,pos,enable) Duel.MoveToField(tc,move_tp,target_tp,loc,pos,enable)
end end
elseif loc==LOCATION_MZONE then
local list={...}
local sumtype=list[1]
local tp=list[2]
local zone=nil
if #list>2 then
zone=list[3]
end
local pos=nil
if #list>3 then
pos=list[4]
end
return VgF.Call(g,sumtype,tp,zone,pos)
elseif (loc|0xf800>0) then elseif (loc|0xf800>0) then
AddOverlayGroup(g) AddOverlayGroup(g)
local list={...} local list={...}
......
...@@ -22,6 +22,6 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp) ...@@ -22,6 +22,6 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
if vgf.GetAvailableLocation(tp)&0x4<=0 then return end if vgf.GetAvailableLocation(tp)&0x4<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CALL) 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) local g=Duel.GetMatchingGroup(vgf.VMonsterFilter,tp,LOCATION_MZONE,0,nil):GetFirst():GetOverlayGroup():Select(tp,1,1,nil)
vgf.Call(g,0,tp,0x4) vgf.Sendto(LOCATION_MZONE,g,0,tp,0x4)
vgf.OverlayFillOP(1,e,tp,eg,ep,ev,re,r,rp) vgf.OverlayFillOP(1,e,tp,eg,ep,ev,re,r,rp)
end end
...@@ -16,7 +16,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -16,7 +16,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local tc=vgf.ReturnCard(g) local tc=vgf.ReturnCard(g)
Duel.DisableShuffleCheck() Duel.DisableShuffleCheck()
if tc:IsType(TYPE_MONSTER) then if tc:IsType(TYPE_MONSTER) then
vgf.Call(g,0,tp) vgf.Sendto(LOCATION_MZONE,g,0,tp)
else else
vgf.Sendto(LOCATION_GRAVE,g,REASON_EFFECT) vgf.Sendto(LOCATION_GRAVE,g,REASON_EFFECT)
end end
......
...@@ -14,7 +14,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -14,7 +14,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local tc=vgf.ReturnCard(g) local tc=vgf.ReturnCard(g)
Duel.DisableShuffleCheck() Duel.DisableShuffleCheck()
if tc:IsType(TYPE_MONSTER) then if tc:IsType(TYPE_MONSTER) then
vgf.Call(g,0,tp) vgf.Sendto(LOCATION_MZONE,g,0,tp)
else else
vgf.Sendto(LOCATION_HAND,g,nil,REASON_EFFECT) vgf.Sendto(LOCATION_HAND,g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g) Duel.ConfirmCards(1-tp,g)
......
...@@ -21,7 +21,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -21,7 +21,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local tc=vgf.ReturnCard(g) local tc=vgf.ReturnCard(g)
Duel.DisableShuffleCheck() Duel.DisableShuffleCheck()
if tc:IsType(TYPE_MONSTER) and vgf.IsLevel(tc,0,1,2) then if tc:IsType(TYPE_MONSTER) and vgf.IsLevel(tc,0,1,2) then
vgf.Call(g,0,tp) vgf.Sendto(LOCATION_MZONE,g,0,tp)
else else
vgf.Sendto(LOCATION_OVERLAY,g,c) vgf.Sendto(LOCATION_OVERLAY,g,c)
end end
......
...@@ -12,7 +12,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -12,7 +12,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local tc=vgf.ReturnCard(g) local tc=vgf.ReturnCard(g)
Duel.DisableShuffleCheck() Duel.DisableShuffleCheck()
if tc:IsType(TYPE_MONSTER) then if tc:IsType(TYPE_MONSTER) then
vgf.Call(g,0,tp) vgf.Sendto(LOCATION_MZONE,g,0,tp)
else else
vgf.Sendto(LOCATION_HAND,g,nil,REASON_EFFECT) vgf.Sendto(LOCATION_HAND,g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g) Duel.ConfirmCards(1-tp,g)
......
...@@ -48,7 +48,7 @@ function cm.op1(e,tp,eg,ep,ev,re,r,rp) ...@@ -48,7 +48,7 @@ function cm.op1(e,tp,eg,ep,ev,re,r,rp)
Duel.HintSelection(g) Duel.HintSelection(g)
for tc in vgf.Next(g) do for tc in vgf.Next(g) do
if tc:IsType(TYPE_MONSTER) then if tc:IsType(TYPE_MONSTER) then
vgf.Call(tc,0,tp) vgf.Sendto(LOCATION_MZONE,tc,0,tp)
else else
vgf.Sendto(LOCATION_GRAVE,tc,REASON_EFFECT) vgf.Sendto(LOCATION_GRAVE,tc,REASON_EFFECT)
end end
......
...@@ -12,7 +12,7 @@ end ...@@ -12,7 +12,7 @@ end
function cm.operation(e,tp,eg,ep,ev,re,r,rp) function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetLabelObject() local c=e:GetLabelObject()
if c:IsRelateToEffect(e) then if c:IsRelateToEffect(e) then
vgf.Call(c,0,tp) vgf.Sendto(LOCATION_MZONE,c,0,tp)
end end
end end
function cm.operation2(e,tp,eg,ep,ev,re,r,rp) function cm.operation2(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -14,7 +14,7 @@ end ...@@ -14,7 +14,7 @@ end
function cm.operation(e,tp,eg,ep,ev,re,r,rp) function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local g=vgf.SelectMatchingCard(HINTMSG_CALL,e,tp,cm.filter,tp,LOCATION_HAND,0,1,1,nil) local g=vgf.SelectMatchingCard(HINTMSG_CALL,e,tp,cm.filter,tp,LOCATION_HAND,0,1,1,nil)
if vgf.Call(g,SUMMON_VALUE_REVOLT,tp,0x20)>0 then if vgf.Sendto(LOCATION_MZONE,g,SUMMON_VALUE_REVOLT,tp,0x20)>0 then
local mg=Duel.GetOperatedGroup() local mg=Duel.GetOperatedGroup()
vgd.TriggerCountUp(c,-2,RESET_PHASE+PHASE_END,mg) vgd.TriggerCountUp(c,-2,RESET_PHASE+PHASE_END,mg)
end end
......
...@@ -36,7 +36,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -36,7 +36,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
elseif (sel==1 and a and b) or (sel==0 and not a and b) then elseif (sel==1 and a and b) or (sel==0 and not a and b) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CALL) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CALL)
local sg=g:FilterSelect(tp,cm.filter1,1,1,nil,tp) local sg=g:FilterSelect(tp,cm.filter1,1,1,nil,tp)
vgf.Call(sg,0,tp) vgf.Sendto(LOCATION_MZONE,sg,0,tp)
g:RemoveCard(vgf.ReturnCard(sg)) g:RemoveCard(vgf.ReturnCard(sg))
end end
if #g>1 then if #g>1 then
......
...@@ -34,7 +34,7 @@ end ...@@ -34,7 +34,7 @@ end
function cm.op1(e,tp,eg,ep,ev,re,r,rp) function cm.op1(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_Call) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_Call)
local g=vgf.GetVMonster(tp):GetOverlayGroup():FilterSelect(tp,cm.filter,1,1,nil,e,tp) local g=vgf.GetVMonster(tp):GetOverlayGroup():FilterSelect(tp,cm.filter,1,1,nil,e,tp)
vgf.Call(g,0,tp,0x20,POS_FACEDOWN_DEFENCE) vgf.Sendto(LOCATION_MZONE,g,0,tp,0x20,POS_FACEDOWN_DEFENCE)
end end
function cm.filter(c,e,tp) function cm.filter(c,e,tp)
return c:IsSetCard(0x202) and c:IsType(TYPE_MONSTER) return c:IsSetCard(0x202) and c:IsType(TYPE_MONSTER)
......
...@@ -9,5 +9,5 @@ end ...@@ -9,5 +9,5 @@ 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()
if vgf.GetAvailableLocation(tp)<=0 then return end if vgf.GetAvailableLocation(tp)<=0 then return end
vgf.Call(c,0,tp) vgf.Sendto(LOCATION_MZONE,c,0,tp)
end end
\ No newline at end of file
...@@ -36,7 +36,7 @@ function cm.operation1(e,tp,eg,ep,ev,re,r,rp) ...@@ -36,7 +36,7 @@ function cm.operation1(e,tp,eg,ep,ev,re,r,rp)
if ct>2 then ct=2 end if ct>2 then ct=2 end
local g=vgf.SelectMatchingCard(HINTMSG_CALL,e,tp,Card.IsType,tp,LOCATION_HAND,0,0,ct,nil,TYPE_MONSTER) local g=vgf.SelectMatchingCard(HINTMSG_CALL,e,tp,Card.IsType,tp,LOCATION_HAND,0,0,ct,nil,TYPE_MONSTER)
if g:GetCount()==1 then if g:GetCount()==1 then
vgf.Call(g,0,tp) vgf.Sendto(LOCATION_MZONE,g,0,tp)
elseif g:GetCount()==2 then elseif g:GetCount()==2 then
local tc1=g:GetFirst() local tc1=g:GetFirst()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CallZONE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CallZONE)
......
...@@ -17,7 +17,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -17,7 +17,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
if vgf.GetAvailableLocation(tp)<=0 then return end 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_GRAVE,0,1,1,nil)
Duel.HintSelection(g) Duel.HintSelection(g)
vgf.Call(g,0,tp,nil,POS_FACEUP_DEFENSE) vgf.Sendto(LOCATION_MZONE,g,0,tp,nil,POS_FACEUP_DEFENSE)
end end
function cm.filter(c) function cm.filter(c)
return c:IsLevel(c,0,1) and c:IsType(TYPE_MONSTER) return c:IsLevel(c,0,1) and c:IsType(TYPE_MONSTER)
......
...@@ -31,7 +31,7 @@ function cm.op1(e,tp,eg,ep,ev,re,r,rp) ...@@ -31,7 +31,7 @@ function cm.op1(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CALL) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CALL)
local sg=g:FilterSelect(tp,Card.IsType,0,ct1,nil,TYPE_MONSTER) local sg=g:FilterSelect(tp,Card.IsType,0,ct1,nil,TYPE_MONSTER)
if sg:GetCount()>0 then if sg:GetCount()>0 then
vgf.Call(sg,0,tp) vgf.Sendto(LOCATION_MZONE,sg,0,tp)
g:Sub(sg) g:Sub(sg)
end end
if g:GetCount()>0 then if g:GetCount()>0 then
......
...@@ -20,7 +20,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp) ...@@ -20,7 +20,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
vgf.Sendto(LOCATION_OVERLAY,g2,tc2) vgf.Sendto(LOCATION_OVERLAY,g2,tc2)
if vgf.GetAvailableLocation(tp)>0 then if vgf.GetAvailableLocation(tp)>0 then
local g=tc1:GetOverlayGroup():FilterSelect(tp,Card.IsType,tp,0,2,nil,TYPE_MONSTER) local g=tc1:GetOverlayGroup():FilterSelect(tp,Card.IsType,tp,0,2,nil,TYPE_MONSTER)
vgf.Call(g,0,tp) vgf.Sendto(LOCATION_MZONE,g,0,tp)
end end
end 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