Commit f85898d5 authored by xiaoye's avatar xiaoye

fix

parent 829feb3c
...@@ -316,7 +316,7 @@ end ...@@ -316,7 +316,7 @@ end
## 6.特别用于“力量上升”的【永】能力注册范例 ## 6.特别用于“力量上升”的【永】能力注册范例
```lua ```lua
vgd.EffectTypeContinuousChangeAttack(c,m, typ, val[, con, tg, loc_self, loc_op, reset, mc]) vgd.EffectTypeContinuousChangeAttack(c,m,LOCATION_MZONE, typ, val[, con, tg, loc_self, loc_op, reset, mc])
``` ```
参数注释 参数注释
...@@ -337,7 +337,7 @@ vgd.EffectTypeContinuousChangeAttack(c,m, typ, val[, con, tg, loc_self, loc_op, ...@@ -337,7 +337,7 @@ vgd.EffectTypeContinuousChangeAttack(c,m, typ, val[, con, tg, loc_self, loc_op,
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.EffectTypeContinuousChangeAttack(c,m,EFFECT_TYPE_SINGLE,5000,function(e) return vgf.RMonsterCondition(e) and cm.con(e) end) vgd.EffectTypeContinuousChangeAttack(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,5000,function(e) return vgf.RMonsterCondition(e) and cm.con(e) end)
vgd.EffectTypeContinuousChangeDefense(c,m,EFFECT_TYPE_SINGLE,5000,cm.con) vgd.EffectTypeContinuousChangeDefense(c,m,EFFECT_TYPE_SINGLE,5000,cm.con)
end end
function cm.con(e) function cm.con(e)
......
...@@ -1268,11 +1268,14 @@ end ...@@ -1268,11 +1268,14 @@ end
---@param property integer|nil 指示效果的特殊属性。如确有必要填,请咨询群主。 ---@param property integer|nil 指示效果的特殊属性。如确有必要填,请咨询群主。
function VgD.EffectTypeTrigger(c,m,loc,typ,code,op,cost,con,tg,count,property,stringid) function VgD.EffectTypeTrigger(c,m,loc,typ,code,op,cost,con,tg,count,property,stringid)
local cm=_G["c"..m] local cm=_G["c"..m]
local f=VgF.True
if not cm.is_has_trigger then cm.is_has_trigger=true end if not cm.is_has_trigger then cm.is_has_trigger=true end
local type2=EFFECT_TYPE_TRIGGER_F local type2=EFFECT_TYPE_TRIGGER_F
if VgF.GetValueType(cost)=="function" then type2=EFFECT_TYPE_TRIGGER_O end if VgF.GetValueType(cost)=="function" then type2=EFFECT_TYPE_TRIGGER_O end
if not typ then typ=EFFECT_TYPE_SINGLE end if not typ then typ=EFFECT_TYPE_SINGLE end
if not loc then loc=LOCATION_MZONE end if not loc then loc=LOCATION_MZONE end
if loc==LOCATION_RZONE then loc=LOCATION_MZONE f=VgF.RMonsterCondition end
if loc==LOCATION_VZONE then loc=LOCATION_MZONE f=VgF.VMonsterCondition end
if not stringid then stringid=1 end if not stringid then stringid=1 end
if not property then property=0 end if not property then property=0 end
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
...@@ -1282,7 +1285,7 @@ function VgD.EffectTypeTrigger(c,m,loc,typ,code,op,cost,con,tg,count,property,st ...@@ -1282,7 +1285,7 @@ function VgD.EffectTypeTrigger(c,m,loc,typ,code,op,cost,con,tg,count,property,st
e1:SetCode(code) e1:SetCode(code)
e1:SetProperty(property+EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY) e1:SetProperty(property+EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
if count and count>0 then e1:SetCountLimit(count) end if count and count>0 then e1:SetCountLimit(count) end
if VgF.GetValueType(con)=="function" then e1:SetCondition(con) end e1:SetCondition(function (e,tp,eg,ep,ev,re,r,rp) return (VgF.GetValueType(con)~="function" or con(e,tp,eg,ep,ev,re,r,rp)) and f(e) end)
if VgF.GetValueType(cost)=="function" then e1:SetCost(cost) end if VgF.GetValueType(cost)=="function" then e1:SetCost(cost) end
if VgF.GetValueType(tg)=="function" then e1:SetTarget(tg) end if VgF.GetValueType(tg)=="function" then e1:SetTarget(tg) end
if VgF.GetValueType(op)=="function" then e1:SetOperation(op) end if VgF.GetValueType(op)=="function" then e1:SetOperation(op) end
...@@ -1300,8 +1303,11 @@ end ...@@ -1300,8 +1303,11 @@ end
---@param property integer|nil 指示效果的特殊属性。如确有必要填,请咨询群主。 ---@param property integer|nil 指示效果的特殊属性。如确有必要填,请咨询群主。
function VgD.EffectTypeIgnition(c,m,loc,op,cost,con,tg,count,property,stringid) function VgD.EffectTypeIgnition(c,m,loc,op,cost,con,tg,count,property,stringid)
local cm=_G["c"..m] local cm=_G["c"..m]
local f=VgF.True
if not cm.is_has_ignition then cm.is_has_ignition=true end if not cm.is_has_ignition then cm.is_has_ignition=true end
if not loc then loc=LOCATION_MZONE end if not loc then loc=LOCATION_MZONE end
if loc==LOCATION_RZONE then loc=LOCATION_MZONE f=VgF.RMonsterCondition end
if loc==LOCATION_VZONE then loc=LOCATION_MZONE f=VgF.VMonsterCondition end
if not stringid then stringid=1 end if not stringid then stringid=1 end
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(VgF.Stringid(VgID+2,stringid)) e1:SetDescription(VgF.Stringid(VgID+2,stringid))
...@@ -1309,7 +1315,7 @@ function VgD.EffectTypeIgnition(c,m,loc,op,cost,con,tg,count,property,stringid) ...@@ -1309,7 +1315,7 @@ function VgD.EffectTypeIgnition(c,m,loc,op,cost,con,tg,count,property,stringid)
e1:SetRange(loc) e1:SetRange(loc)
if property and property>0 then e1:SetProperty(property) end if property and property>0 then e1:SetProperty(property) end
if count and count>0 then e1:SetCountLimit(count) end if count and count>0 then e1:SetCountLimit(count) end
if VgF.GetValueType(con)=="function" then e1:SetCondition(con) end e1:SetCondition(function (e,tp,eg,ep,ev,re,r,rp) return (VgF.GetValueType(con)~="function" or con(e,tp,eg,ep,ev,re,r,rp)) and f(e) end)
if VgF.GetValueType(cost)=="function" then e1:SetCost(cost) end if VgF.GetValueType(cost)=="function" then e1:SetCost(cost) end
if VgF.GetValueType(tg)=="function" then e1:SetTarget(VgD.EffectTypeIgnitionTarget(tg)) end if VgF.GetValueType(tg)=="function" then e1:SetTarget(VgD.EffectTypeIgnitionTarget(tg)) end
if VgF.GetValueType(op)=="function" then e1:SetOperation(op) end if VgF.GetValueType(op)=="function" then e1:SetOperation(op) end
...@@ -1372,20 +1378,23 @@ function VgD.ContinuousSpellOperation(e,tp,eg,ep,ev,re,r,rp) ...@@ -1372,20 +1378,23 @@ function VgD.ContinuousSpellOperation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
VgF.Sendto(LOCATION_ORDER,c,tp,POS_FACEUP_ATTACK,REASON_RULE) VgF.Sendto(LOCATION_ORDER,c,tp,POS_FACEUP_ATTACK,REASON_RULE)
end end
function VgD.EffectTypeContinuousChangeAttack(c,m,typ,val,con,tg,loc_self,loc_op,reset,mc) function vgd.EffectTypeContinuousChangeAttack(c,m,LOCATION_MZONE,loc,typ,val,con,tg,loc_self,loc_op,reset,mc)
local cm=_G["c"..m] local cm=_G["c"..m]
local f=VgF.True
if not cm.is_has_continuous and not reset then cm.is_has_continuous=true end if not cm.is_has_continuous and not reset then cm.is_has_continuous=true end
if VgF.GetValueType(mc)~="Card" then mc=c end if VgF.GetValueType(mc)~="Card" then mc=c end
if not typ then typ=EFFECT_TYPE_SINGLE end if not typ then typ=EFFECT_TYPE_SINGLE end
if not loc_self then loc_self=0 end if not loc_self then loc_self=0 end
if not loc_op then loc_op=0 end if not loc_op then loc_op=0 end
if loc==LOCATION_RZONE then loc=LOCATION_MZONE f=VgF.RMonsterCondition end
if loc==LOCATION_VZONE then loc=LOCATION_MZONE f=VgF.VMonsterCondition end
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(typ) e1:SetType(typ)
e1:SetCode(EFFECT_UPDATE_ATTACK) e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
if VgF.GetValueType(reset)=="number" then e1:SetReset(RESET_EVENT+RESETS_STANDARD+reset) end if VgF.GetValueType(reset)=="number" then e1:SetReset(RESET_EVENT+RESETS_STANDARD+reset) end
if typ==EFFECT_TYPE_FIELD then e1:SetTargetRange(loc_self,loc_op) end if typ==EFFECT_TYPE_FIELD then e1:SetTargetRange(loc_self,loc_op) end
if VgF.GetValueType(con)=="function" then e1:SetCondition(con) end e1:SetCondition(function (e,tp,eg,ep,ev,re,r,rp) return (VgF.GetValueType(con)~="function" or con(e,tp,eg,ep,ev,re,r,rp)) and f(e) end)
if VgF.GetValueType(tg)=="function" then e1:SetTarget(tg) end if VgF.GetValueType(tg)=="function" then e1:SetTarget(tg) end
e1:SetValue(val) e1:SetValue(val)
mc:RegisterEffect(e1) mc:RegisterEffect(e1)
...@@ -1476,8 +1485,11 @@ end ...@@ -1476,8 +1485,11 @@ end
function VgD.CannotBeTarget(c,m,con,val,loc,tg,range) function VgD.CannotBeTarget(c,m,con,val,loc,tg,range)
local cm=_G["c"..m] local cm=_G["c"..m]
local f=VgF.True
if not cm.is_has_continuous then cm.is_has_continuous=true end if not cm.is_has_continuous then cm.is_has_continuous=true end
if not loc then loc=LOCATION_MZONE end if not loc then loc=LOCATION_MZONE end
if loc==LOCATION_RZONE then loc=LOCATION_MZONE f=VgF.RMonsterCondition end
if loc==LOCATION_VZONE then loc=LOCATION_MZONE f=VgF.VMonsterCondition end
if VgF.GetValueType(tg)=="function" or VgF.GetValueType(tg)=="number" then if VgF.GetValueType(tg)=="function" or VgF.GetValueType(tg)=="number" then
if VgF.GetValueType(range)~="tabel" then range={} end if VgF.GetValueType(range)~="tabel" then range={} end
if #range==0 then range={LOCATION_MZONE,0} if #range==0 then range={LOCATION_MZONE,0}
...@@ -1488,7 +1500,7 @@ function VgD.CannotBeTarget(c,m,con,val,loc,tg,range) ...@@ -1488,7 +1500,7 @@ function VgD.CannotBeTarget(c,m,con,val,loc,tg,range)
e1:SetRange(loc) e1:SetRange(loc)
e1:SetTargetRange(range[1],range[2]) e1:SetTargetRange(range[1],range[2])
e1:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET) e1:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
if VgF.GetValueType(con)=="function" then e1:SetCondition(con) end e1:SetCondition(function (e,tp,eg,ep,ev,re,r,rp) return (VgF.GetValueType(con)~="function" or con(e,tp,eg,ep,ev,re,r,rp)) and f(e) end)
if VgF.GetValueType(val)=="function" then e1:SetValue(val) else if VgF.GetValueType(val)=="function" then e1:SetValue(val) else
e1:SetValue(function (e,re,rp) e1:SetValue(function (e,re,rp)
return rp==1-e:GetHandlerPlayer() return rp==1-e:GetHandlerPlayer()
......
...@@ -25,6 +25,8 @@ LOCATION_RIDE =LOCATION_EXTRA ...@@ -25,6 +25,8 @@ LOCATION_RIDE =LOCATION_EXTRA
LOCATION_DROP =LOCATION_GRAVE LOCATION_DROP =LOCATION_GRAVE
LOCATION_LOCK =LOCATION_REMOVED LOCATION_LOCK =LOCATION_REMOVED
LOCATION_ALL =0xffff LOCATION_ALL =0xffff
LOCATION_RZONE =0x10000
LOCATION_VZONE =0x20000
LOCATION_LIST={0x1,0x2,0x4,0x10,0x20,0x40,0x80,0x400,0x800,0x1000,0x2000,0x4000,0x8000} LOCATION_LIST={0x1,0x2,0x4,0x10,0x20,0x40,0x80,0x400,0x800,0x1000,0x2000,0x4000,0x8000}
--LOCATION_LIST={LOCATION_HAND,LOCATION_MZONE,LOCATION_DROP,LOCATION_LOCK,LOCATION_RIDE,LOCATION_OVERLAY,LOCATION_EXILE,LOCATION_DAMAGE,LOCATION_ORDER,LOCATION_SPARE,LOCATION_GZONE,LOCATION_EMBLEM} --LOCATION_LIST={LOCATION_HAND,LOCATION_MZONE,LOCATION_DROP,LOCATION_LOCK,LOCATION_RIDE,LOCATION_OVERLAY,LOCATION_EXILE,LOCATION_DAMAGE,LOCATION_ORDER,LOCATION_SPARE,LOCATION_GZONE,LOCATION_EMBLEM}
LOCATION_LIST_STRING={"LOCATION_DECK","LOCATION_HAND","LOCATION_MZONE","LOCATION_DROP","LOCATION_LOCK","LOCATION_RIDE","LOCATION_OVERLAY","LOCATION_EXILE","LOCATION_DAMAGE","LOCATION_ORDER","LOCATION_SPARE","LOCATION_GZONE","LOCATION_EMBLEM"} LOCATION_LIST_STRING={"LOCATION_DECK","LOCATION_HAND","LOCATION_MZONE","LOCATION_DROP","LOCATION_LOCK","LOCATION_RIDE","LOCATION_OVERLAY","LOCATION_EXILE","LOCATION_DAMAGE","LOCATION_ORDER","LOCATION_SPARE","LOCATION_GZONE","LOCATION_EMBLEM"}
......
...@@ -573,17 +573,13 @@ function VgF.DamageFill(val) ...@@ -573,17 +573,13 @@ function VgF.DamageFill(val)
end end
end end
function VgF.CostAnd(f1,f2,c1,c2) function VgF.CostAnd(f1,f2)
return function (e,tp,eg,ep,ev,re,r,rp,chk) return function (e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then if chk==0 then
local a=false return f1(e,tp,eg,ep,ev,re,r,rp,chk) and f2(e,tp,eg,ep,ev,re,r,rp,chk)
local b=false
if VgF.GetValueType(c1)~="nil" then a=f1(c1)(e,tp,eg,ep,ev,re,r,rp,chk) else a=f1(e,tp,eg,ep,ev,re,r,rp,chk) end
if VgF.GetValueType(c2)~="nil" then b=f2(c2)(e,tp,eg,ep,ev,re,r,rp,chk) else b=f2(e,tp,eg,ep,ev,re,r,rp,chk) end
return a and b
end end
if VgF.GetValueType(c1)~="nil" then f1(c1)(e,tp,eg,ep,ev,re,r,rp,chk) else f1(e,tp,eg,ep,ev,re,r,rp,chk) end f1(e,tp,eg,ep,ev,re,r,rp,chk)
if VgF.GetValueType(c2)~="nil" then f2(c2)(e,tp,eg,ep,ev,re,r,rp,chk) else f2(e,tp,eg,ep,ev,re,r,rp,chk) end f2(e,tp,eg,ep,ev,re,r,rp,chk)
end end
end end
...@@ -721,7 +717,7 @@ function VgF.DamageCost(val) ...@@ -721,7 +717,7 @@ function VgF.DamageCost(val)
return Duel.GetOperatedGroup():GetCount() return Duel.GetOperatedGroup():GetCount()
end end
end end
function VgF.LeaveFieldCost(card_or_code_or_func,val_max,val_min,...) function VgF.LeaveFieldCost(card_or_code_or_func,val_max,val_min,except,...)
local ext_params={...} local ext_params={...}
if VgF.GetValueType(val_max)~="number" then val_max=1 end if VgF.GetValueType(val_max)~="number" then val_max=1 end
if VgF.GetValueType(val_min)~="number" or val_min>val_max then val_min=val_max end if VgF.GetValueType(val_min)~="number" or val_min>val_max then val_min=val_max end
...@@ -744,11 +740,11 @@ function VgF.LeaveFieldCost(card_or_code_or_func,val_max,val_min,...) ...@@ -744,11 +740,11 @@ function VgF.LeaveFieldCost(card_or_code_or_func,val_max,val_min,...)
if chk==0 then if chk==0 then
return VgF.IsExistingMatchingCard(function (tc) return VgF.IsExistingMatchingCard(function (tc)
return filter(tc,table.unpack(ext_params)) and tc:IsAbleToGraveAsCost() return filter(tc,table.unpack(ext_params)) and tc:IsAbleToGraveAsCost()
end,tp,LOCATION_MZONE,0,val_min,nil) end,tp,LOCATION_MZONE,0,val_min,except)
end end
local g=vgf.SelectMatchingCard(HINTMSG_LEAVEFIELD,e,tp,function (tc) local g=vgf.SelectMatchingCard(HINTMSG_LEAVEFIELD,e,tp,function (tc)
return filter(tc,table.unpack(ext_params)) and tc:IsAbleToGraveAsCost() return filter(tc,table.unpack(ext_params)) and tc:IsAbleToGraveAsCost()
end,tp,LOCATION_MZONE,0,val_min,val_max,nil) end,tp,LOCATION_MZONE,0,val_min,val_max,except)
VgF.Sendto(LOCATION_DROP,g,REASON_COST) VgF.Sendto(LOCATION_DROP,g,REASON_COST)
end end
end end
...@@ -768,7 +764,7 @@ end ...@@ -768,7 +764,7 @@ end
---用于效果的Operation。执行“从loc_from中选取最少int_min,最多int_max张满足f的卡,送去loc_to。”。 ---用于效果的Operation。执行“从loc_from中选取最少int_min,最多int_max张满足f的卡,送去loc_to。”。
---@param loc_to integer 要送去的区域。不填则返回0。 ---@param loc_to integer 要送去的区域。不填则返回0。
---@param loc_from integer 要选取的区域。不填则返回0。 ---@param loc_from integer 要选取的区域。不填则返回0。
---@param f function 卡片过滤的条件 ---@param f function|nil 卡片过滤的条件
function VgF.SearchCard(loc_to,loc_from,f,int_max,int_min,...) function VgF.SearchCard(loc_to,loc_from,f,int_max,int_min,...)
local ext_params={...} local ext_params={...}
return function (e,tp,eg,ep,ev,re,r,rp) return function (e,tp,eg,ep,ev,re,r,rp)
...@@ -1065,16 +1061,54 @@ function VgF.SelectMatchingCard(hintmsg,e,select_tp,f,tp,loc_self,loc_op,int_min ...@@ -1065,16 +1061,54 @@ function VgF.SelectMatchingCard(hintmsg,e,select_tp,f,tp,loc_self,loc_op,int_min
a=true a=true
end end
local g=Group.CreateGroup() local g=Group.CreateGroup()
local loc_self_f=VgF.True
local loc_op_f=VgF.True
if bit.band(loc_self,LOCATION_VZONE)>0 and bit.band(loc_self,LOCATION_RZONE)>0 then
loc_self=loc_self-LOCATION_VZONE-LOCATION_RZONE
if bit.band(loc_self,LOCATION_MZONE)==0 then
loc_self=loc_self+LOCATION_MZONE
end
elseif bit.band(loc_self,LOCATION_VZONE)>0 then
loc_self=loc_self-LOCATION_VZONE
loc_self_f=VgF.VMonsterFilter
if bit.band(loc_self,LOCATION_MZONE)==0 then
loc_self=loc_self+LOCATION_MZONE
end
elseif bit.band(loc_self,LOCATION_RZONE)>0 then
loc_self=loc_self-LOCATION_RZONE
loc_self_f=VgF.RMonsterFilter
if bit.band(loc_self,LOCATION_MZONE)==0 then
loc_self=loc_self+LOCATION_MZONE
end
end
if bit.band(loc_op,LOCATION_VZONE)>0 and bit.band(loc_op,LOCATION_RZONE)>0 then
loc_op=loc_op-LOCATION_VZONE-LOCATION_RZONE
if bit.band(loc_op,LOCATION_MZONE)==0 then
loc_op=loc_op+LOCATION_MZONE
end
elseif bit.band(loc_op,LOCATION_VZONE)>0 then
loc_op=loc_op-LOCATION_VZONE
loc_op_f=VgF.VMonsterFilter
if bit.band(loc_op,LOCATION_MZONE)==0 then
loc_op=loc_op+LOCATION_MZONE
end
elseif bit.band(loc_op,LOCATION_RZONE)>0 then
loc_op=loc_op-LOCATION_RZONE
loc_op_f=VgF.RMonsterFilter
if bit.band(loc_op,LOCATION_MZONE)==0 then
loc_op=loc_op+LOCATION_MZONE
end
end
if bit.band(loc_self,LOCATION_MZONE)>0 then if bit.band(loc_self,LOCATION_MZONE)>0 then
local g1=Duel.GetMatchingGroup(function (c) local g1=Duel.GetMatchingGroup(function (c)
return c:IsCanBeEffectTarget(e) and c:IsFaceup() return c:IsCanBeEffectTarget(e) and c:IsFaceup() and loc_self_f(c)
end,tp,LOCATION_MZONE,0,nil) end,tp,LOCATION_MZONE,0,nil)
loc_self=loc_self-LOCATION_MZONE loc_self=loc_self-LOCATION_MZONE
if g1:GetCount()>0 then g:Merge(g1) end if g1:GetCount()>0 then g:Merge(g1) end
end end
if bit.band(loc_op,LOCATION_MZONE)>0 then if bit.band(loc_op,LOCATION_MZONE)>0 then
local g1=Duel.GetMatchingGroup(function (c) local g1=Duel.GetMatchingGroup(function (c)
return c:IsCanBeEffectTarget(e) and c:IsFaceup() return c:IsCanBeEffectTarget(e) and c:IsFaceup() and loc_op_f(c)
end,tp,0,LOCATION_MZONE,nil) end,tp,0,LOCATION_MZONE,nil)
loc_op=loc_op-LOCATION_MZONE loc_op=loc_op-LOCATION_MZONE
if g1:GetCount()>0 then g:Merge(g1) end if g1:GetCount()>0 then g:Merge(g1) end
...@@ -1115,14 +1149,56 @@ function VgF.GetMatchingGroupCount(f,tp,loc_self,loc_op,except_g,...) ...@@ -1115,14 +1149,56 @@ function VgF.GetMatchingGroupCount(f,tp,loc_self,loc_op,except_g,...)
return VgF.GetMatchingGroup(f,tp,loc_self,loc_op,except_g,...):GetCount() return VgF.GetMatchingGroup(f,tp,loc_self,loc_op,except_g,...):GetCount()
end end
function VgF.GetMatchingGroup(f,tp,loc_self,loc_op,except_g,...) function VgF.GetMatchingGroup(f,tp,loc_self,loc_op,except_g,...)
local loc_self_f=VgF.True
local loc_op_f=VgF.True
if bit.band(loc_self,LOCATION_VZONE)>0 and bit.band(loc_self,LOCATION_RZONE)>0 then
loc_self=loc_self-LOCATION_VZONE-LOCATION_RZONE
if bit.band(loc_self,LOCATION_MZONE)==0 then
loc_self=loc_self+LOCATION_MZONE
end
elseif bit.band(loc_self,LOCATION_VZONE)>0 then
loc_self=loc_self-LOCATION_VZONE
loc_self_f=VgF.VMonsterFilter
if bit.band(loc_self,LOCATION_MZONE)==0 then
loc_self=loc_self+LOCATION_MZONE
end
elseif bit.band(loc_self,LOCATION_RZONE)>0 then
loc_self=loc_self-LOCATION_RZONE
loc_self_f=VgF.RMonsterFilter
if bit.band(loc_self,LOCATION_MZONE)==0 then
loc_self=loc_self+LOCATION_MZONE
end
end
if bit.band(loc_op,LOCATION_VZONE)>0 and bit.band(loc_op,LOCATION_RZONE)>0 then
loc_op=loc_op-LOCATION_VZONE-LOCATION_RZONE
if bit.band(loc_op,LOCATION_MZONE)==0 then
loc_op=loc_op+LOCATION_MZONE
end
elseif bit.band(loc_op,LOCATION_VZONE)>0 then
loc_op=loc_op-LOCATION_VZONE
loc_op_f=VgF.VMonsterFilter
if bit.band(loc_op,LOCATION_MZONE)==0 then
loc_op=loc_op+LOCATION_MZONE
end
elseif bit.band(loc_op,LOCATION_RZONE)>0 then
loc_op=loc_op-LOCATION_RZONE
loc_op_f=VgF.RMonsterFilter
if bit.band(loc_op,LOCATION_MZONE)==0 then
loc_op=loc_op+LOCATION_MZONE
end
end
local g=Group.CreateGroup() local g=Group.CreateGroup()
if bit.band(loc_self,LOCATION_MZONE)>0 then if bit.band(loc_self,LOCATION_MZONE)>0 then
local g1=Duel.GetMatchingGroup(Card.IsFaceup,tp,LOCATION_MZONE,0,nil) local g1=Duel.GetMatchingGroup(function (c)
return c:IsFaceup() and loc_self_f(c)
end,tp,LOCATION_MZONE,0,nil)
loc_self=loc_self-LOCATION_MZONE loc_self=loc_self-LOCATION_MZONE
if g1:GetCount()>0 then g:Merge(g1) end if g1:GetCount()>0 then g:Merge(g1) end
end end
if bit.band(loc_op,LOCATION_MZONE)>0 then if bit.band(loc_op,LOCATION_MZONE)>0 then
local g1=Duel.GetMatchingGroup(Card.IsFaceup,tp,0,LOCATION_MZONE,nil) local g1=Duel.GetMatchingGroup(function (c)
return c:IsFaceup() and loc_op_f(c)
end,tp,0,LOCATION_MZONE,nil)
loc_op=loc_op-LOCATION_MZONE loc_op=loc_op-LOCATION_MZONE
if g1:GetCount()>0 then g:Merge(g1) end if g1:GetCount()>0 then g:Merge(g1) end
end end
......
...@@ -3,7 +3,7 @@ local cm,m,o=GetID() ...@@ -3,7 +3,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c) function cm.initial_effect(c)
vgf.VgCard(c) vgf.VgCard(c)
vgd.BeRidedByCard(c,m,10101001,vgf.SearchCard(LOCATION_HAND,LOCATION_DECK,cm.filter),vgf.OverlayCost(1)) vgd.BeRidedByCard(c,m,10101001,vgf.SearchCard(LOCATION_HAND,LOCATION_DECK,cm.filter),vgf.OverlayCost(1))
vgd.EffectTypeContinuousChangeAttack(c,m,EFFECT_TYPE_SINGLE,2000,cm.con) vgd.EffectTypeContinuousChangeAttack(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,2000,cm.con)
end end
function cm.filter(c) function cm.filter(c)
return c:IsCode(10101006) return c:IsCode(10101006)
......
...@@ -3,7 +3,7 @@ local cm,m,o=GetID() ...@@ -3,7 +3,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c) function cm.initial_effect(c)
vgf.VgCard(c) vgf.VgCard(c)
vgd.BeRidedByCard(c,m,10101002,vgf.SearchCard(LOCATION_MZONE,LOCATION_DECK,cm.filter)) vgd.BeRidedByCard(c,m,10101002,vgf.SearchCard(LOCATION_MZONE,LOCATION_DECK,cm.filter))
vgd.EffectTypeContinuousChangeAttack(c,m,EFFECT_TYPE_SINGLE,2000,cm.con) vgd.EffectTypeContinuousChangeAttack(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,2000,cm.con)
end end
function cm.filter(c) function cm.filter(c)
return c:IsCode(10101009) return c:IsCode(10101009)
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
local cm,m,o=GetID() local cm,m,o=GetID()
function cm.initial_effect(c) function cm.initial_effect(c)
vgf.VgCard(c) vgf.VgCard(c)
vgd.EffectTypeContinuousChangeAttack(c,m,EFFECT_TYPE_SINGLE,2000,cm.con) vgd.EffectTypeContinuousChangeAttack(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,2000,cm.con)
end end
function cm.con(e) function cm.con(e)
return Duel.GetAttacker()==e:GetHandler() return Duel.GetAttacker()==e:GetHandler()
......
...@@ -2,7 +2,7 @@ local cm,m,o=GetID() ...@@ -2,7 +2,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c) function cm.initial_effect(c)
vgf.VgCard(c) vgf.VgCard(c)
vgd.EffectTypeTrigger(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.op,cm.cost,vgf.VSummonCondition) vgd.EffectTypeTrigger(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.op,cm.cost,vgf.VSummonCondition)
vgd.EffectTypeContinuousChangeAttack(c,m,EFFECT_TYPE_SINGLE,5000,cm.con) vgd.EffectTypeContinuousChangeAttack(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,5000,cm.con)
end end
function cm.op(e,tp,eg,ep,ev,re,r,rp) function cm.op(e,tp,eg,ep,ev,re,r,rp)
Duel.Draw(tp,1,REASON_EFFECT) Duel.Draw(tp,1,REASON_EFFECT)
......
...@@ -2,7 +2,7 @@ local cm,m,o=GetID() ...@@ -2,7 +2,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c) function cm.initial_effect(c)
vgf.VgCard(c) vgf.VgCard(c)
vgd.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.op,nil,vgf.VSummonCondition) vgd.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.op,nil,vgf.VSummonCondition)
vgd.EffectTypeContinuousChangeAttack(c,m,EFFECT_TYPE_SINGLE,5000,cm.con) vgd.EffectTypeContinuousChangeAttack(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,5000,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 ct=Duel.GetFlagEffectLabel(tp,FLAG_CONDITION) local ct=Duel.GetFlagEffectLabel(tp,FLAG_CONDITION)
......
...@@ -6,7 +6,7 @@ function cm.initial_effect(c) ...@@ -6,7 +6,7 @@ function cm.initial_effect(c)
vgd.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_FIELD,EVENT_BATTLED,cm.operation,vgf.DisCardCost(1),cm.condition,nil,1) vgd.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_FIELD,EVENT_BATTLED,cm.operation,vgf.DisCardCost(1),cm.condition,nil,1)
vgd.GlobalCheckEffect(c,m,EVENT_MOVE,cm.checkcon,cm.checkop) vgd.GlobalCheckEffect(c,m,EVENT_MOVE,cm.checkcon,cm.checkop)
--【永】【V】:你的回合中,你所有的等级3的单位的力量+2000。 --【永】【V】:你的回合中,你所有的等级3的单位的力量+2000。
vgd.EffectTypeContinuousChangeAttack(c,m,EFFECT_TYPE_FIELD,2000,cm.con,cm.target,LOCATION_MZONE+LOCATION_GZONE,0) vgd.EffectTypeContinuousChangeAttack(c,m,LOCATION_MZONE,EFFECT_TYPE_FIELD,2000,cm.con,cm.target,LOCATION_MZONE+LOCATION_GZONE,0)
end end
function cm.checkfilter(c,tp) function cm.checkfilter(c,tp)
return c:IsLocation(LOCATION_TRIGGER) and c:IsLevel(3) and c:IsControler(tp) return c:IsLocation(LOCATION_TRIGGER) and c:IsLevel(3) and c:IsControler(tp)
......
...@@ -4,7 +4,7 @@ function cm.initial_effect(c) ...@@ -4,7 +4,7 @@ function cm.initial_effect(c)
vgf.VgCard(c) vgf.VgCard(c)
cm.is_has_continuous=true cm.is_has_continuous=true
vgd.BeRidedByCard(c,m,10103001,cm.operation,cm.cost) vgd.BeRidedByCard(c,m,10103001,cm.operation,cm.cost)
vgd.EffectTypeContinuousChangeAttack(c,m,EFFECT_TYPE_SINGLE,5000,cm.condition) vgd.EffectTypeContinuousChangeAttack(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,5000,cm.condition)
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE) e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE) e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
......
...@@ -5,7 +5,7 @@ function cm.initial_effect(c) ...@@ -5,7 +5,7 @@ function cm.initial_effect(c)
--【自】:这个单位被「树角兽 拉提斯」RIDE时,将你的牌堆顶的1张卡公开,那张卡是等级2以下的单位卡的话,CALL到R上,不是的话,放置到你的灵魂里。 --【自】:这个单位被「树角兽 拉提斯」RIDE时,将你的牌堆顶的1张卡公开,那张卡是等级2以下的单位卡的话,CALL到R上,不是的话,放置到你的灵魂里。
vgd.BeRidedByCard(c,m,10104002,cm.operation) vgd.BeRidedByCard(c,m,10104002,cm.operation)
--【永】【后列的R】:这个单位攻击的战斗中,这个单位的力量+5000。 --【永】【后列的R】:这个单位攻击的战斗中,这个单位的力量+5000。
vgd.EffectTypeContinuousChangeAttack(c,m,EFFECT_TYPE_SINGLE,5000,cm.con) vgd.EffectTypeContinuousChangeAttack(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,5000,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 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.EffectTypeContinuousChangeAttack(c,m,EFFECT_TYPE_SINGLE,5000,cm.con) vgd.EffectTypeContinuousChangeAttack(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,5000,cm.con)
end end
function cm.con(e) function cm.con(e)
local c=e:GetHandler() local c=e:GetHandler()
......
...@@ -2,7 +2,7 @@ local cm,m,o=GetID() ...@@ -2,7 +2,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c) function cm.initial_effect(c)
vgf.VgCard(c) vgf.VgCard(c)
vgd.EffectTypeIgnition(c,m,LOCATION_MZONE,cm.op1,vgf.DamageCost(1),nil,nil,1) vgd.EffectTypeIgnition(c,m,LOCATION_MZONE,cm.op1,vgf.DamageCost(1),nil,nil,1)
vgd.EffectTypeContinuousChangeAttack(c,m,EFFECT_TYPE_SINGLE,10000,cm.con) vgd.EffectTypeContinuousChangeAttack(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,10000,cm.con)
vgd.TriggerCountUp(c,m,1) vgd.TriggerCountUp(c,m,1)
end end
function cm.con(e,c) function cm.con(e,c)
......
...@@ -2,7 +2,7 @@ local cm,m,o=GetID() ...@@ -2,7 +2,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c) function cm.initial_effect(c)
vgf.VgCard(c) vgf.VgCard(c)
vgd.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation,nil,vgf.VSummonCondition) vgd.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation,nil,vgf.VSummonCondition)
vgd.EffectTypeContinuousChangeAttack(c,m,EFFECT_TYPE_SINGLE,2000,cm.con) vgd.EffectTypeContinuousChangeAttack(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,2000,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 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.EffectTypeContinuousChangeAttack(c,m,EFFECT_TYPE_SINGLE,2000,con) vgd.EffectTypeContinuousChangeAttack(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,2000,con)
vgd.EffectTypeContinuousChangeDefense(c,m,EFFECT_TYPE_SINGLE,5000,con) vgd.EffectTypeContinuousChangeDefense(c,m,EFFECT_TYPE_SINGLE,5000,con)
end end
function cm.con(e,c) function cm.con(e,c)
......
...@@ -3,7 +3,7 @@ function cm.initial_effect(c) ...@@ -3,7 +3,7 @@ function cm.initial_effect(c)
vgf.VgCard(c) vgf.VgCard(c)
vgf.AddRideMaterialCode(c,m,10406013) vgf.AddRideMaterialCode(c,m,10406013)
vgf.AddRideMaterialSetCard(c,m,0xc014,0x74) vgf.AddRideMaterialSetCard(c,m,0xc014,0x74)
vgd.EffectTypeContinuousChangeAttack(c,m,EFFECT_TYPE_SINGLE,5000,cm.con) vgd.EffectTypeContinuousChangeAttack(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,5000,cm.con)
vgd.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.op,cm.cost,vgf.VMonsterCondition) vgd.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.op,cm.cost,vgf.VMonsterCondition)
end end
function cm.con(e,tp,eg,ep,ev,re,r,rp) function cm.con(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -8,7 +8,7 @@ function cm.initial_effect(c) ...@@ -8,7 +8,7 @@ function cm.initial_effect(c)
--【自】【V】:这个单位攻击先导者时,通过【费用】[使用等级均不同的卡进行灵魂爆发4],选择对手的1张先导者,这个回合中,力量增减至1,对手有等级3以上的先导者的话,这个单位的☆+1。(仅将那个时点的力量增减至1,这之后那个单位的力量仍然能通过其他方式增减。) --【自】【V】:这个单位攻击先导者时,通过【费用】[使用等级均不同的卡进行灵魂爆发4],选择对手的1张先导者,这个回合中,力量增减至1,对手有等级3以上的先导者的话,这个单位的☆+1。(仅将那个时点的力量增减至1,这之后那个单位的力量仍然能通过其他方式增减。)
vgd.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.operation,cm.cost,cm.condition) vgd.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.operation,cm.cost,cm.condition)
--【永】【R】:这个回合中由于你的卡片的能力的费用同时使用4张以上的卡进行了灵魂爆发的话,这个单位的力量+5000。 --【永】【R】:这个回合中由于你的卡片的能力的费用同时使用4张以上的卡进行了灵魂爆发的话,这个单位的力量+5000。
vgd.EffectTypeContinuousChangeAttack(c,m,EFFECT_TYPE_SINGLE,5000,cm.con) vgd.EffectTypeContinuousChangeAttack(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,5000,cm.con)
if not cm.global_check then if not cm.global_check then
cm.global_check=true cm.global_check=true
local ge1=Effect.CreateEffect(c) local ge1=Effect.CreateEffect(c)
......
...@@ -7,7 +7,7 @@ function cm.initial_effect(c) ...@@ -7,7 +7,7 @@ function cm.initial_effect(c)
--【反抗舞装】 --【反抗舞装】
vgd.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,EVENT_BATTLED,cm.operation,nil,cm.condition) vgd.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,EVENT_BATTLED,cm.operation,nil,cm.condition)
--【永】【R】:这个回合中曾有你的等级3以上的先导者登场过的话,这个单位的力量+5000。 --【永】【R】:这个回合中曾有你的等级3以上的先导者登场过的话,这个单位的力量+5000。
vgd.EffectTypeContinuousChangeAttack(c,m,EFFECT_TYPE_SINGLE,5000,cm.con) vgd.EffectTypeContinuousChangeAttack(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,5000,cm.con)
vgd.GlobalCheckEffect(c,m,EVENT_SPSUMMON_SUCCESS,cm.checkcon) vgd.GlobalCheckEffect(c,m,EVENT_SPSUMMON_SUCCESS,cm.checkcon)
end end
function cm.con(e,tp,eg,ep,ev,re,r,rp) function cm.con(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -2,7 +2,7 @@ local cm,m,o=GetID() ...@@ -2,7 +2,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c) function cm.initial_effect(c)
vgf.VgCard(c) vgf.VgCard(c)
vgd.BeRidedByCard(c,m,10203002,cm.operation,vgf.OverlayCost(1)) vgd.BeRidedByCard(c,m,10203002,cm.operation,vgf.OverlayCost(1))
vgd.EffectTypeContinuousChangeAttack(c,m,EFFECT_TYPE_SINGLE,2000,cm.con) vgd.EffectTypeContinuousChangeAttack(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,2000,cm.con)
end end
function cm.con(e) function cm.con(e)
return Duel.GetAttacker()==e:GetHandler() return Duel.GetAttacker()==e:GetHandler()
......
...@@ -2,7 +2,7 @@ local cm,m,o=GetID() ...@@ -2,7 +2,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c) function cm.initial_effect(c)
vgf.VgCard(c) vgf.VgCard(c)
vgd.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.operation,vgf.True,vgf.VMonsterCondition) vgd.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.operation,vgf.True,vgf.VMonsterCondition)
vgd.EffectTypeContinuousChangeAttack(c,m,EFFECT_TYPE_SINGLE,5000,cm.con) vgd.EffectTypeContinuousChangeAttack(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,5000,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()
......
...@@ -7,7 +7,7 @@ end ...@@ -7,7 +7,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_VMONSTER,e,tp,vgf.VMonsterFilter,tp,LOCATION_MZONE,0,1,1,nil) local g=vgf.SelectMatchingCard(HINTMSG_VMONSTER,e,tp,vgf.VMonsterFilter,tp,LOCATION_MZONE,0,1,1,nil)
vgd.EffectTypeContinuousChangeAttack(c,m,EFFECT_TYPE_FIELD,5000,nil,cm.tg,LOCATION_MZONE,0,RESET_PHASE+PHASE_END,g:GetFirst()) vgd.EffectTypeContinuousChangeAttack(c,m,LOCATION_MZONE,EFFECT_TYPE_FIELD,5000,nil,cm.tg,LOCATION_MZONE,0,RESET_PHASE+PHASE_END,g:GetFirst())
end end
function cm.tg(e,c) function cm.tg(e,c)
return vgf.RMonsterFilter(c) return vgf.RMonsterFilter(c)
......
...@@ -2,7 +2,7 @@ local cm,m,o=GetID() ...@@ -2,7 +2,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c) function cm.initial_effect(c)
vgf.VgCard(c) vgf.VgCard(c)
vgd.OverDress(c,cm.filter) vgd.OverDress(c,cm.filter)
vgd.EffectTypeContinuousChangeAttack(c,m,EFFECT_TYPE_SINGLE,cm.val,cm.con) vgd.EffectTypeContinuousChangeAttack(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,cm.val,cm.con)
vgd.EffectTypeTriggerWhenHitting(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,cm.op,cm.cost,cm.con) vgd.EffectTypeTriggerWhenHitting(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,cm.op,cm.cost,cm.con)
end end
function cm.filter(c) function cm.filter(c)
......
...@@ -2,7 +2,7 @@ local cm,m,o=GetID() ...@@ -2,7 +2,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c) function cm.initial_effect(c)
vgf.VgCard(c) vgf.VgCard(c)
vgd.GlobalCheckEffect(c,m,EVENT_CHANGE_POS,cm.checkcon) vgd.GlobalCheckEffect(c,m,EVENT_CHANGE_POS,cm.checkcon)
vgd.EffectTypeContinuousChangeAttack(c,m,EFFECT_TYPE_SINGLE,5000,cm.con) vgd.EffectTypeContinuousChangeAttack(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,5000,cm.con)
vgd.EffectTypeContinuousChangeStar(c,m,EFFECT_TYPE_SINGLE,1,cm.con1) vgd.EffectTypeContinuousChangeStar(c,m,EFFECT_TYPE_SINGLE,1,cm.con1)
vgd.EffectTypeTriggerWhenHitting(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,cm.op,vgf.DamageCost(1)) vgd.EffectTypeTriggerWhenHitting(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,cm.op,vgf.DamageCost(1))
end end
......
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.EffectTypeContinuousChangeAttack(c,m,EFFECT_TYPE_SINGLE,5000,cm.con) vgd.EffectTypeContinuousChangeAttack(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,5000,cm.con)
vgd.EffectTypeIgnition(c,m,LOCATION_MZONE,cm.op,vgf.DamageCost(2),cm.con1) vgd.EffectTypeIgnition(c,m,LOCATION_MZONE,cm.op,vgf.DamageCost(2),cm.con1)
end end
function cm.con(e,tp,eg,ep,ev,re,r,rp) function cm.con(e,tp,eg,ep,ev,re,r,rp)
......
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.EffectTypeContinuousChangeAttack(c,m,EFFECT_TYPE_SINGLE,5000,function(e) return vgf.RMonsterCondition(e) and cm.con(e) end) vgd.EffectTypeContinuousChangeAttack(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,5000,function(e) return vgf.RMonsterCondition(e) and cm.con(e) end)
vgd.EffectTypeContinuousChangeDefense(c,m,EFFECT_TYPE_SINGLE,5000,cm.con) vgd.EffectTypeContinuousChangeDefense(c,m,EFFECT_TYPE_SINGLE,5000,cm.con)
vgd.EffectTypeTrigger(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.op,vgf.OverlayCost(1),vgf.RSummonCondition) vgd.EffectTypeTrigger(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.op,vgf.OverlayCost(1),vgf.RSummonCondition)
end end
......
...@@ -17,6 +17,6 @@ function cm.condition1(e,tp,eg,ep,ev,re,r,rp) ...@@ -17,6 +17,6 @@ function cm.condition1(e,tp,eg,ep,ev,re,r,rp)
end end
function cm.operation(e,tp,eg,ep,ev,re,r,rp) function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local g2=vgf.GetMatchingGroup(vgf.IsSequence,tp,LOCATION_MZONE,0,nil,0,4,5) local g=vgf.GetMatchingGroup(vgf.FrontFilter,tp,LOCATION_MZONE,0,nil)
vgf.AtkUp(c,g2,10000,nil) vgf.AtkUp(c,g,5000,nil)
end end
\ No newline at end of file
...@@ -2,7 +2,7 @@ local cm,m,o=GetID() ...@@ -2,7 +2,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c) function cm.initial_effect(c)
vgf.VgCard(c) vgf.VgCard(c)
vgd.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_FIELD,EVENT_MOVE,cm.op,nil,cm.con) vgd.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_FIELD,EVENT_MOVE,cm.op,nil,cm.con)
vgd.EffectTypeContinuousChangeAttack(c,m,EFFECT_TYPE_SINGLE,5000,cm.con2) vgd.EffectTypeContinuousChangeAttack(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,5000,cm.con2)
end end
function cm.op(e,tp,eg,ep,ev,re,r,rp) function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
......
...@@ -2,7 +2,7 @@ local cm,m,o=GetID() ...@@ -2,7 +2,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c) function cm.initial_effect(c)
vgf.VgCard(c) vgf.VgCard(c)
vgd.EffectTypeTrigger(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,vgf.SearchCard(LOCATION_HAND,LOCATION_DROP,cm.filter,1,0),nil,vgf.VSummonCondition) vgd.EffectTypeTrigger(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,vgf.SearchCard(LOCATION_HAND,LOCATION_DROP,cm.filter,1,0),nil,vgf.VSummonCondition)
vgd.EffectTypeContinuousChangeAttack(c,m,EFFECT_TYPE_SINGLE,5000,cm.con2) vgd.EffectTypeContinuousChangeAttack(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,5000,cm.con2)
vgd.GlobalCheckEffect(c,m,EVENT_CHAINING,cm.checkcon) vgd.GlobalCheckEffect(c,m,EVENT_CHAINING,cm.checkcon)
end end
function cm.filter(c) function cm.filter(c)
......
...@@ -3,7 +3,7 @@ local cm,m,o=GetID() ...@@ -3,7 +3,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c) function cm.initial_effect(c)
vgf.VgCard(c) vgf.VgCard(c)
--【永】【R】:这个回合中你进行过灵魂填充的话,这个单位的力量+2000 --【永】【R】:这个回合中你进行过灵魂填充的话,这个单位的力量+2000
vgd.EffectTypeContinuousChangeAttack(c,m,EFFECT_TYPE_SINGLE,2000,cm.con) vgd.EffectTypeContinuousChangeAttack(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,2000,cm.con)
vgd.GlobalCheckEffect(c,m,EVENT_CUSTOM+EVENT_OVERLAY_FILL,cm.checkcon) vgd.GlobalCheckEffect(c,m,EVENT_CUSTOM+EVENT_OVERLAY_FILL,cm.checkcon)
end end
function cm.con(e) function cm.con(e)
......
...@@ -5,7 +5,7 @@ function cm.initial_effect(c) ...@@ -5,7 +5,7 @@ function cm.initial_effect(c)
--【自】:这个单位登场到V时,灵魂填充1 --【自】:这个单位登场到V时,灵魂填充1
vgd.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,vgf.OverlayFill(1),nil,vgf.VSummonCondition) vgd.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,vgf.OverlayFill(1),nil,vgf.VSummonCondition)
--【永】【R】:你的回合中,你的灵魂在10张以上的话,这个单位的力量+10000。 --【永】【R】:你的回合中,你的灵魂在10张以上的话,这个单位的力量+10000。
vgd.EffectTypeContinuousChangeAttack(c,m,EFFECT_TYPE_SINGLE,10000,cm.con2) vgd.EffectTypeContinuousChangeAttack(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,10000,cm.con2)
end end
function cm.con2(e,tp,eg,ep,ev,re,r,rp) function cm.con2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
......
local cm,m,o=GetID() local cm,m,o=GetID()
function cm.initial_effect(c) function cm.initial_effect(c)
vgf.VgCard(c) vgf.VgCard(c)
vgd.EffectTypeContinuousChangeAttack(c,m,EFFECT_TYPE_SINGLE,2000,cm.con) vgd.EffectTypeContinuousChangeAttack(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,2000,cm.con)
end end
function cm.con(e,c) function cm.con(e,c)
local tp=e:GetHandlerPlayer() local tp=e:GetHandlerPlayer()
......
...@@ -2,7 +2,7 @@ local cm,m,o=GetID() ...@@ -2,7 +2,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c) function cm.initial_effect(c)
vgf.VgCard(c) vgf.VgCard(c)
vgd.EffectTypeTrigger(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,vgf.SearchCard(LOCATION_HAND,LOCATION_DECK,Card.IsSetCard,1,0,0x5040),nil,vgf.VSummonCondition) vgd.EffectTypeTrigger(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,vgf.SearchCard(LOCATION_HAND,LOCATION_DECK,Card.IsSetCard,1,0,0x5040),nil,vgf.VSummonCondition)
vgd.EffectTypeContinuousChangeAttack(c,m,EFFECT_TYPE_SINGLE,2000,cm.con) vgd.EffectTypeContinuousChangeAttack(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,2000,cm.con)
end end
function cm.filter(c) function cm.filter(c)
return c:IsSetCard(0x5040) return c:IsSetCard(0x5040)
......
...@@ -6,7 +6,7 @@ function cm.initial_effect(c) ...@@ -6,7 +6,7 @@ function cm.initial_effect(c)
--选择你的手牌中的至多1张指令卡,舍弃,没有舍弃的话,选择手牌中的的2张卡舍弃。 --选择你的手牌中的至多1张指令卡,舍弃,没有舍弃的话,选择手牌中的的2张卡舍弃。
vgd.EffectTypeIgnition(c,m,LOCATION_MZONE,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,m,EFFECT_TYPE_SINGLE,2000,cm.con) vgd.EffectTypeContinuousChangeAttack(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,2000,cm.con)
vgd.GlobalCheckEffect(c,m,EVENT_CHAINING,cm.checkcon) vgd.GlobalCheckEffect(c,m,EVENT_CHAINING,cm.checkcon)
end end
function cm.operation(e,tp,eg,ep,ev,re,r,rp) function cm.operation(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -3,7 +3,7 @@ function cm.initial_effect(c) ...@@ -3,7 +3,7 @@ function cm.initial_effect(c)
vgf.VgCard(c) vgf.VgCard(c)
vgd.OverDress(c,10101009) vgd.OverDress(c,10101009)
vgd.EffectTypeTrigger(c,m,LOCATION_HAND,EFFECT_TYPE_FIELD,EVENT_BATTLED,cm.op,vgf.OverlayCost(2),cm.con) vgd.EffectTypeTrigger(c,m,LOCATION_HAND,EFFECT_TYPE_FIELD,EVENT_BATTLED,cm.op,vgf.OverlayCost(2),cm.con)
vgd.EffectTypeContinuousChangeAttack(c,m,EFFECT_TYPE_SINGLE,10000,cm.con2) vgd.EffectTypeContinuousChangeAttack(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,10000,cm.con2)
vgd.EffectTypeContinuousChangeDefense(c,m,EFFECT_TYPE_SINGLE,10000,cm.con2) vgd.EffectTypeContinuousChangeDefense(c,m,EFFECT_TYPE_SINGLE,10000,cm.con2)
end end
function cm.op(e,tp,eg,ep,ev,re,r,rp) function cm.op(e,tp,eg,ep,ev,re,r,rp)
......
local 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.EffectTypeContinuousChangeAttack(c,m,EFFECT_TYPE_SINGLE,cm.val,vgf.RMonsterCondition) vgd.EffectTypeContinuousChangeAttack(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,cm.val,vgf.RMonsterCondition)
vgd.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,EVENT_BATTLED,cm.op,vgf.LeaveFieldCost(10000001),cm.con) vgd.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,EVENT_BATTLED,cm.op,vgf.LeaveFieldCost(10000001),cm.con)
end end
function cm.val(e) function cm.val(e)
......
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.EffectTypeContinuousChangeAttack(c,m,EFFECT_TYPE_SINGLE,5000,cm.con) vgd.EffectTypeContinuousChangeAttack(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,5000,cm.con)
vgd.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_FIELD,EVENT_SPSUMMON_SUCCESS,cm.op,nil,cm.con2) vgd.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_FIELD,EVENT_SPSUMMON_SUCCESS,cm.op,nil,cm.con2)
end end
function cm.con(e,c) function cm.con(e,c)
......
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.EffectTypeContinuousChangeAttack(c,m,EFFECT_TYPE_SINGLE,5000,cm.con) vgd.EffectTypeContinuousChangeAttack(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,5000,cm.con)
vgd.GlobalCheckEffect(c,m,EVENT_CHAINING,cm.checkcon) vgd.GlobalCheckEffect(c,m,EVENT_CHAINING,cm.checkcon)
vgd.EffectTypeTrigger(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation,nil,vgf.RSummonCondition) vgd.EffectTypeTrigger(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation,nil,vgf.RSummonCondition)
end end
......
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.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation,vgf.CostAnd(vgf.DamageCost,vgf.DisCardCost,1,1),cm.condition) vgd.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation,vgf.CostAnd(vgf.DamageCost(1),vgf.DisCardCost(1)),cm.condition)
end end
function cm.condition(e,tp,eg,ep,ev,re,r,rp) function cm.condition(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
......
local cm,m,o=GetID() local cm,m,o=GetID()
function cm.initial_effect(c) function cm.initial_effect(c)
vgf.VgCard(c) vgf.VgCard(c)
vgd.SpellActivate(c,m,cm.op,vgf.CostAnd(vgf.DamageCost,vgf.OverlayCost,1,1)) vgd.SpellActivate(c,m,cm.op,vgf.CostAnd(vgf.DamageCost(1),vgf.OverlayCost(1)))
end end
function cm.op(e,tp,eg,ep,ev,re,r,rp,chk) function cm.op(e,tp,eg,ep,ev,re,r,rp,chk)
local g=vgf.SelectMatchingCard(HINTMSG_LEAVEFIELD,e,tp,vgf.RMonsterFilter,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil) local g=vgf.SelectMatchingCard(HINTMSG_LEAVEFIELD,e,tp,vgf.RMonsterFilter,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil)
......
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.EffectTypeIgnition(c,m,LOCATION_MZONE,cm.op,vgf.OverlayCost(1)) vgd.EffectTypeIgnition(c,m,LOCATION_MZONE,cm.op,vgf.OverlayCost(1),vgf.RMonsterCondition)
end end
function cm.op(e,tp,eg,ep,ev,re,r,rp) function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
......
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.EffectTypeTriggerWhenHitting(c,m,LOCATION_MZONE,EFFECT_TYPE_FIELD,cm.op,nil,cm.con)
end end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
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
Duel.BreakEffect()
vgf.DamageCost(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() local cm,m,o=GetID()
function cm.initial_effect(c) function cm.initial_effect(c)
vgf.VgCard(c) vgf.VgCard(c)
vgd.EffectTypeContinuousChangeDefense(c,m,EFFECT_TYPE_SINGLE,5000,cm.con)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
return vgf.GetVMonster(1-tp):IsLevelAbove(3)
end end
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,vgf.CostAnd(vgf.DamageCost(1),vgf.DisCardCost(1)))
end end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
vgf.OverlayFill(3)(e,tp,eg,ep,ev,re,r,rp)
if vgf.GetVMonster(tp):GetOverlayCount()>=10 then
vgf.SearchCard(LOCATION_HAND,LOCATION_OVERLAY,nil,1)(e,tp,eg,ep,ev,re,r,rp)
end
end
\ No newline at end of file
local cm,m,o=GetID() local cm,m,o=GetID()
function cm.initial_effect(c) function cm.initial_effect(c)
vgf.VgCard(c) vgf.VgCard(c)
vgd.SpellActivate(c,m,cm.op,vgf.DamageCost(1))
end end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.Draw(tp,1,REASON_EFFECT)
vgf.SearchCard(LOCATION_MZONE,LOCATION_HAND,vgf.IsCanBeCalled,1,1,e,tp)
local ct=Duel.GetFlagEffectLabel(tp,FLAG_CONDITION)
if VgF.GetValueType(ct)=="number" and ct==10102001 then
Duel.BreakEffect()
local g=vgf.GetMatchingGroup(vgf.FrontFilter,tp,LOCATION_MZONE,0,nil)
vgf.AtkUp(c,g,10000,nil)
end
end
\ No newline at end of file
local cm,m,o=GetID() local cm,m,o=GetID()
function cm.initial_effect(c) function cm.initial_effect(c)
vgf.VgCard(c) vgf.VgCard(c)
vgd.EffectTypeTriggerWhenHitting(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,cm.op,nil,cm.con)
end end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
Duel.Draw(tp,1,REASON_EFFECT)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
local g=vgf.GetMatchingGroup(cm.filter,tp,LOCATION_MZONE,0,nil)
return g:GetCount()>0 and vgf.RMonsterCondition(e)
end
function cm.filter(c)
return c:GetFlagEffect(FLAG_SUPPORT)>0 and c:IsCode(10000001)
end
\ No newline at end of file
local cm,m,o=GetID() local cm,m,o=GetID()
function cm.initial_effect(c) function cm.initial_effect(c)
vgf.VgCard(c) vgf.VgCard(c)
vgd.EffectTypeTrigger(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation,nil,vgf.RSummonCondition)
end end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetDecktopGroup(tp,3)
Duel.ConfirmCards(tp,g)
Duel.DisableShuffleCheck()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local sg=g:FilterSelect(tp,Card.IsSetCard,0,1,nil,0x5040)
if sg:GetCount()>0 then vgf.Sendto(LOCATION_HAND,sg,nil,REASON_EFFECT) g:Sub(sg) end
if #g>1 then
Duel.SortDecktop(tp,tp,#g)
for i=1,#g do
local dg=Duel.GetDecktopGroup(tp,1)
Duel.MoveSequence(dg:GetFirst(),SEQ_DECKBOTTOM)
end
end
end
\ No newline at end of file
local cm,m,o=GetID() local cm,m,o=GetID()
function cm.initial_effect(c) function cm.initial_effect(c)
vgf.VgCard(c) vgf.VgCard(c)
vgd.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,vgf.DamageFill(1),vgf.LeaveFieldCost(10000001),cm.con1)
vgd.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_FIELD,EVENT_CUSTOM+EVENT_SUPPORT,vgf.DamageFill(1),vgf.LeaveFieldCost(10000001),cm.con2)
end end
function cm.con1(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsPlayerAffectedByEffect(tp,AFFECT_CODE_DEEP_NIGHT)
end
function cm.con2(e,tp,eg,ep,ev,re,r,rp)
return cm.con1(e,tp,eg,ep,ev,re,r,rp) and eg:GetFirst()==e:GetHandler()
end
\ No newline at end of file
local cm,m,o=GetID() local cm,m,o=GetID()
function cm.initial_effect(c) function cm.initial_effect(c)
vgf.VgCard(c) vgf.VgCard(c)
vgd.EffectTypeIgnition(c,m,LOCATION_MZONE,cm.operation,vgf.ChangePosDefence(),cm.con)
end end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
return vgf.RMonsterCondition(e) and vgf.GetMatchingGroupCount(cm.filter,tp,LOCATION_ORDER,0,nil)<=1
end
function cm.filter(c)
return c:GetFlagEffect(FLAG_IMPRISON)>0
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_GRAVE,1,1,nil,TYPE_MONSTER)
vgf.SendtoPrison(g,tp)
end
\ No newline at end of file
local cm,m,o=GetID() local cm,m,o=GetID()
function cm.initial_effect(c) function cm.initial_effect(c)
vgf.VgCard(c) vgf.VgCard(c)
vgd.EffectTypeContinuousChangeDefense(c,m,EFFECT_TYPE_SINGLE,5000,cm.con)
end end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
return vgf.GetVMonster(1-tp):IsLevelAbove(3)
end
\ No newline at end of file
local cm,m,o=GetID() local cm,m,o=GetID()
function cm.initial_effect(c) function cm.initial_effect(c)
vgf.VgCard(c) vgf.VgCard(c)
vgd.SpellActivate(c,m,cm.op,vgf.OverlayCost(1),cm.con)
end end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not vgf.CheckPrison(tp) then return end
local g=vgf.SelectMatchingCard(HINTMSG_IMPRISON,e,1-tp,nil,tp,0,LOCATION_HAND,1,1,nil)
vgf.SendtoPrison(g,tp)
if vgf.IsExistingMatchingCard(cm.filter,tp,LOCATION_ORDER,0,3,nil) then
Duel.BreakEffect()
local sg=vgf.SelectMatchingCard(HINTMSG_ATKUP,e,tp,nil,tp,LOCATION_MZONE,0,1,1,nil)
vgf.AtkUp(c,sg,5000)
end
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
return vgf.GetMatchingGroupCount(nil,tp,LOCATION_HAND,0,nil)>=4
end
function cm.filter(c)
return c:GetFlagEffect(FLAG_IMPRISON)>0
end
\ No newline at end of file
local cm,m,o=GetID() local cm,m,o=GetID()
function cm.initial_effect(c) function cm.initial_effect(c)
vgf.VgCard(c) vgf.VgCard(c)
vgd.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.op,vgf.OverlayCost(1),cm.con)
vgd.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_FIELD,EVENT_MOVE,vgf.DamageFill(1),vgf.DamageCost(1),cm.con,nil,1)
end end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) and c:IsFaceup() then
vgf.AtkUp(c,c,10000,nil)
end
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
return vgf.RSummonCondition(e) and vgf.GetVMonster(tp):IsCode(10401008)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetDecktopGroup(tp,2)
Duel.ConfirmCards(tp,g)
Duel.DisableShuffleCheck()
Duel.Hint(HINT_SELECTMSG,tp,vgf.Stringid(m,0))
local sg=g:Select(tp,0,2,nil)
if #sg>0 then
for tc in vgf.Next(sg) do
Duel.MoveSequence(tc,SEQ_DECKTOP)
end
Duel.SortDecktop(tp,tp,#sg)
g:Sub(sg)
end
if #g>1 then
for tc in vgf.Next(g) do
Duel.MoveSequence(tc,SEQ_DECKTOP)
end
Duel.SortDecktop(tp,tp,#g)
for i=1,#g do
local dg=Duel.GetDecktopGroup(tp,1)
Duel.MoveSequence(dg:GetFirst(),SEQ_DECKBOTTOM)
end
end
end
\ No newline at end of file
local cm,m,o=GetID() local cm,m,o=GetID()
function cm.initial_effect(c) function cm.initial_effect(c)
vgf.VgCard(c) vgf.VgCard(c)
vgd.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.op,vgf.OverlayCost(1),cm.con)
end end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
return vgf.RSummonCondition(e) and vgf.GetVMonster(tp):IsSetCard(0x78)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
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
Duel.BreakEffect()
vgf.CostAnd(vgf.OverlayCost(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()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CALL)
local sg=g:FilterSelect(tp,cm.filter,0,1,nil,e,tp)
if sg:GetCount()>0 then
vgf.Sendto(LOCATION_MZONE,sg,0,tp)
end
Duel.ShuffleDeck(tp)
end
end
function cm.filter(c,e,tp)
return vgf.IsCanBeCalled(c,e,tp) and c:IsLevelBelow(1)
end
\ No newline at end of file
...@@ -3,7 +3,7 @@ local cm,m,o=GetID() ...@@ -3,7 +3,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c) function cm.initial_effect(c)
vgf.VgCard(c) vgf.VgCard(c)
-- 【永】【V】:你的回合中,你没有后防者的话,这个单位的力量+5000。 -- 【永】【V】:你的回合中,你没有后防者的话,这个单位的力量+5000。
vgd.EffectTypeContinuousChangeAttack(c,m,EFFECT_TYPE_SINGLE,5000,cm.con1) vgd.EffectTypeContinuousChangeAttack(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,5000,cm.con1)
--【自】:通过在「认真的挑战者 克拉莉萨」上RIDE的方式将这个单位登场到V时,通过【费用】[灵魂爆发1],查看你的牌堆顶的7张卡,选择至多1张等级2以下的含有「诚意真心」的卡,公开后加入手牌,将其余的卡洗切后放置到牌堆底。 --【自】:通过在「认真的挑战者 克拉莉萨」上RIDE的方式将这个单位登场到V时,通过【费用】[灵魂爆发1],查看你的牌堆顶的7张卡,选择至多1张等级2以下的含有「诚意真心」的卡,公开后加入手牌,将其余的卡洗切后放置到牌堆底。
vgd.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation,vgf.OverlayCost(1),cm.con2) vgd.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation,vgf.OverlayCost(1),cm.con2)
end end
......
...@@ -4,7 +4,7 @@ function cm.initial_effect(c) ...@@ -4,7 +4,7 @@ function cm.initial_effect(c)
vgf.VgCard(c) vgf.VgCard(c)
-- 【永】【V】:【永】【V】:你的回合中,你的指令区中有正面表示的歌曲卡的话,这个单位的力量+5000。 -- 【永】【V】:【永】【V】:你的回合中,你的指令区中有正面表示的歌曲卡的话,这个单位的力量+5000。
vgd.EffectTypeContinuousChangeAttack(c,m,EFFECT_TYPE_SINGLE,5000,cm.con1) vgd.EffectTypeContinuousChangeAttack(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,5000,cm.con1)
-- 【自】:这个单位被RIDE时,选择你的牌堆或手牌中的至多1张等级2的歌曲卡,公开后放置到指令区,从牌堆探寻了的话,牌堆洗切。从手牌放置了的话,抽卡1张。 -- 【自】:这个单位被RIDE时,选择你的牌堆或手牌中的至多1张等级2的歌曲卡,公开后放置到指令区,从牌堆探寻了的话,牌堆洗切。从手牌放置了的话,抽卡1张。
vgd.BeRidedByCard(c,m,nil,cm.operation) vgd.BeRidedByCard(c,m,nil,cm.operation)
end end
......
...@@ -5,7 +5,7 @@ function cm.initial_effect(c) ...@@ -5,7 +5,7 @@ function cm.initial_effect(c)
-- 【永】【R】:这个回合中你施放了「不移之绯红」和「无尽之苍蓝」的话,这个单位的力量+10000。 -- 【永】【R】:这个回合中你施放了「不移之绯红」和「无尽之苍蓝」的话,这个单位的力量+10000。
vgd.GlobalCheckEffect(c,m,EVENT_CHAIN_SOLVING,cm.checkcon1) vgd.GlobalCheckEffect(c,m,EVENT_CHAIN_SOLVING,cm.checkcon1)
vgd.GlobalCheckEffect(c,m,EVENT_CHAIN_SOLVING,cm.checkcon2,cm.checkop) vgd.GlobalCheckEffect(c,m,EVENT_CHAIN_SOLVING,cm.checkcon2,cm.checkop)
vgd.EffectTypeContinuousChangeAttack(c,m,EFFECT_TYPE_SINGLE,10000,cm.con) vgd.EffectTypeContinuousChangeAttack(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,10000,cm.con)
end end
function cm.con(e) function cm.con(e)
......
...@@ -3,7 +3,7 @@ local cm,m,o=GetID() ...@@ -3,7 +3,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c) function cm.initial_effect(c)
vgf.VgCard(c) vgf.VgCard(c)
-- 【永】【R/G】:你的R上的〈幽灵〉有3张以上的话,这个单位的力量+2000、盾护+5000。 -- 【永】【R/G】:你的R上的〈幽灵〉有3张以上的话,这个单位的力量+2000、盾护+5000。
vgd.EffectTypeContinuousChangeAttack(c,m,EFFECT_TYPE_SINGLE,2000,cm.con1) vgd.EffectTypeContinuousChangeAttack(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,2000,cm.con1)
vgd.EffectTypeContinuousChangeDefense(c,m,EFFECT_TYPE_SINGLE,5000,cm.con2) vgd.EffectTypeContinuousChangeDefense(c,m,EFFECT_TYPE_SINGLE,5000,cm.con2)
end end
......
...@@ -14,7 +14,7 @@ function cm.initial_effect(c) ...@@ -14,7 +14,7 @@ function cm.initial_effect(c)
e2:SetCondition(cm.con) e2:SetCondition(cm.con)
c:RegisterEffect(e2) c:RegisterEffect(e2)
-- -2000 -- -2000
vgd.EffectTypeContinuousChangeAttack(c,m,EFFECT_TYPE_SINGLE,-2000,cm.con) vgd.EffectTypeContinuousChangeAttack(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,-2000,cm.con)
end end
function cm.con(e) function cm.con(e)
local c = e:GetHandler() local c = e:GetHandler()
......
...@@ -3,7 +3,7 @@ local cm,m,o=GetID() ...@@ -3,7 +3,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c) function cm.initial_effect(c)
vgf.VgCard(c) vgf.VgCard(c)
-- 【永】【R】:你的回合中,你的指令区中有卡存在的话,这个单位的力量+5000。 -- 【永】【R】:你的回合中,你的指令区中有卡存在的话,这个单位的力量+5000。
vgd.EffectTypeContinuousChangeAttack(c,m,EFFECT_TYPE_SINGLE,5000,cm.con) vgd.EffectTypeContinuousChangeAttack(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,5000,cm.con)
end end
function cm.con(e) function cm.con(e)
......
...@@ -3,7 +3,7 @@ local cm,m,o=GetID() ...@@ -3,7 +3,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c) function cm.initial_effect(c)
vgf.VgCard(c) vgf.VgCard(c)
-- 【永】【V/R】:对手的回合中,这个单位的力量-2000。 -- 【永】【V/R】:对手的回合中,这个单位的力量-2000。
vgd.EffectTypeContinuousChangeAttack(c,m,EFFECT_TYPE_SINGLE,-2000,cm.con) vgd.EffectTypeContinuousChangeAttack(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,-2000,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)
......
...@@ -5,7 +5,7 @@ function cm.initial_effect(c) ...@@ -5,7 +5,7 @@ function cm.initial_effect(c)
-- 【自】:这个单位被RIDE时,通过【费用】[灵魂爆发1],选择你的弃牌区中的至多1张〈幽灵〉,加入手牌。 -- 【自】:这个单位被RIDE时,通过【费用】[灵魂爆发1],选择你的弃牌区中的至多1张〈幽灵〉,加入手牌。
vgd.BeRidedByCard(c,m,nil,cm.op,OverlayCost(1)) vgd.BeRidedByCard(c,m,nil,cm.op,OverlayCost(1))
-- 【永】【V/R】:你的回合中,你的R上有〈幽灵〉的话,这个单位的力量+2000。 -- 【永】【V/R】:你的回合中,你的R上有〈幽灵〉的话,这个单位的力量+2000。
vgd.EffectTypeContinuousChangeAttack(c,m,EFFECT_TYPE_SINGLE,2000,cm.con) vgd.EffectTypeContinuousChangeAttack(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,2000,cm.con)
end end
function cm.op(e,tp,eg,ep,ev,re,r,rp) function cm.op(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -3,7 +3,7 @@ local cm,m,o=GetID() ...@@ -3,7 +3,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c) function cm.initial_effect(c)
vgf.VgCard(c) vgf.VgCard(c)
-- 【永】【R】:你的回合中,你的指令区中有2张以上的卡的话,这个单位的力量+5000。 -- 【永】【R】:你的回合中,你的指令区中有2张以上的卡的话,这个单位的力量+5000。
vgd.EffectTypeContinuousChangeAttack(c,m,EFFECT_TYPE_SINGLE,5000,cm.con1) vgd.EffectTypeContinuousChangeAttack(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,5000,cm.con1)
end end
function cm.con1(e) function cm.con1(e)
......
...@@ -3,7 +3,7 @@ local cm,m,o=GetID() ...@@ -3,7 +3,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c) function cm.initial_effect(c)
vgf.VgCard(c) vgf.VgCard(c)
-- 【永】【R】:你的回合中,你有含有「诚意真心」的单位的话,这个单位的力量+2000。 -- 【永】【R】:你的回合中,你有含有「诚意真心」的单位的话,这个单位的力量+2000。
vgd.EffectTypeContinuousChangeAttack(c,m,EFFECT_TYPE_SINGLE,2000,cm.con) vgd.EffectTypeContinuousChangeAttack(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,2000,cm.con)
end end
function cm.con(e) function cm.con(e)
......
...@@ -5,7 +5,7 @@ function cm.initial_effect(c) ...@@ -5,7 +5,7 @@ function cm.initial_effect(c)
vgf.VgCard(c) vgf.VgCard(c)
-- 【永】【R】:这个回合中你施放了指令卡的话,这个单位的力量+2000。 -- 【永】【R】:这个回合中你施放了指令卡的话,这个单位的力量+2000。
vgd.GlobalCheckEffect(c,m,EVENT_CHAIN_SOLVING,cm.checkcon) vgd.GlobalCheckEffect(c,m,EVENT_CHAIN_SOLVING,cm.checkcon)
vgd.EffectTypeContinuousChangeAttack(c,m,EFFECT_TYPE_SINGLE,2000,cm.con1) vgd.EffectTypeContinuousChangeAttack(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,2000,cm.con1)
end end
function cm.con1(e) function cm.con1(e)
local tp=e:GetHandlerPlayer() local tp=e:GetHandlerPlayer()
......
...@@ -3,7 +3,7 @@ local cm,m,o=GetID() ...@@ -3,7 +3,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c) function cm.initial_effect(c)
vgf.VgCard(c) vgf.VgCard(c)
-- 【永】【V】:你的回合中,你没有后防者的话,这个单位的力量+5000。 -- 【永】【V】:你的回合中,你没有后防者的话,这个单位的力量+5000。
vgd.EffectTypeContinuousChangeAttack(c,m,EFFECT_TYPE_SINGLE,5000,cm.con1) vgd.EffectTypeContinuousChangeAttack(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,5000,cm.con1)
-- 【自】:通过在「凛然之志 克拉莉萨」上RIDE的方式将这个单位登场到V时,查看你的牌堆顶的7张卡,选择至多1张等级1以下的含有「诚意真心」的卡,公开后加入手牌,将其余的卡洗切后放置到牌堆底。 -- 【自】:通过在「凛然之志 克拉莉萨」上RIDE的方式将这个单位登场到V时,查看你的牌堆顶的7张卡,选择至多1张等级1以下的含有「诚意真心」的卡,公开后加入手牌,将其余的卡洗切后放置到牌堆底。
vgd.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation,nil,cm.con2,nil,1) vgd.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation,nil,cm.con2,nil,1)
end end
......
...@@ -3,7 +3,7 @@ local cm,m,o=GetID() ...@@ -3,7 +3,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c) function cm.initial_effect(c)
vgf.VgCard(c) vgf.VgCard(c)
-- 白翼(你的封锁区中的卡只有奇数的等级的场合才有效)-【永】【R/G】:这个单位的力量+2000、盾护+5000。 -- 白翼(你的封锁区中的卡只有奇数的等级的场合才有效)-【永】【R/G】:这个单位的力量+2000、盾护+5000。
vgd.EffectTypeContinuousChangeAttack(c,m,EFFECT_TYPE_SINGLE,2000,cm.con) vgd.EffectTypeContinuousChangeAttack(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,2000,cm.con)
vgd.EffectTypeContinuousChangeDefense(c,m,EFFECT_TYPE_SINGLE,5000,vgf.WhiteWing) vgd.EffectTypeContinuousChangeDefense(c,m,EFFECT_TYPE_SINGLE,5000,vgf.WhiteWing)
end end
function cm.con(e,tp,eg,ep,ev,re,r,rp) function cm.con(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -3,7 +3,7 @@ local cm,m,o=GetID() ...@@ -3,7 +3,7 @@ local cm,m,o=GetID()
function cm.initial_effect(c) function cm.initial_effect(c)
vgf.VgCard(c) vgf.VgCard(c)
-- 【永】【R】:你其他的后防者有3张以上的话,这个单位的力量+5000。 -- 【永】【R】:你其他的后防者有3张以上的话,这个单位的力量+5000。
vgd.EffectTypeContinuousChangeAttack(c,m,EFFECT_TYPE_SINGLE,5000,cm.con1) vgd.EffectTypeContinuousChangeAttack(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,5000,cm.con1)
end end
function cm.con1(e) function cm.con1(e)
local c= e:GetHandler() local c= e:GetHandler()
......
...@@ -4,7 +4,7 @@ function cm.initial_effect(c) ...@@ -4,7 +4,7 @@ function cm.initial_effect(c)
vgf.VgCard(c) vgf.VgCard(c)
-- 白翼(你的封锁区中的卡只有奇数的等级的场合才有效) -- 白翼(你的封锁区中的卡只有奇数的等级的场合才有效)
-- 【永】【R】:你的回合中,这个单位的力量+10000。 -- 【永】【R】:你的回合中,这个单位的力量+10000。
vgd.EffectTypeContinuousChangeAttack(c,m,EFFECT_TYPE_SINGLE,10000,cm.con) vgd.EffectTypeContinuousChangeAttack(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,10000,cm.con)
end end
function cm.con(e,tp,eg,ep,ev,re,r,rp) function cm.con(e,tp,eg,ep,ev,re,r,rp)
return vgf.WhiteWing(e) and Duel.GetTurnPlayer()==tp and vgf.RMonsterCondition(e) return vgf.WhiteWing(e) and Duel.GetTurnPlayer()==tp and vgf.RMonsterCondition(e)
......
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