Commit 2c8b5f57 authored by jwyxym's avatar jwyxym Committed by GitHub

Add files via upload

parent 6eddd2c5
......@@ -166,8 +166,10 @@ function VgF.RuleTurnCondtion(e)
local b=Duel.GetTurnCount(1-tp)
return a+b==1
end
function VgF.Not(c,f)
return not f(c)
function VgF.Not(f)
return function(...)
return not f(...)
end
end
function VgF.GetColumnGroup(c)
local tp=c:GetControler()
......@@ -214,8 +216,34 @@ function VgF.tgoval(e,re,rp)
return rp==1-e:GetHandlerPlayer()
end
function VgF.Call(g,sumtype,sp,zone)
if not zone then zone=0x1f end
return Duel.SpecialSummon(g,sumtype,sp,sp,true,true,POS_FACEUP_ATTACK,zone)
if zone then
return Duel.SpecialSummon(g,sumtype,sp,sp,false,false,POS_FACEUP_ATTACK,zone)
end
local sg
local z=0xe0
if vgf.GetValueType(g)=="Card" then sg=Group.FromCards(g) else sg=Group.Clone(g) end
for sc in VgF.Next(sg) do
if sc:IsLocation(LOCATION_EXTRA) then
local rc=Duel.GetMatchingGroup(VgF.VMonsterFilter,tp,LOCATION_MZONE,0,nil):GetFirst()
local mg=rc:GetOverlayGroup()
if mg:GetCount()~=0 then
Duel.Overlay(sc,mg)
end
sc:SetMaterial(Group.FromCards(rc))
Duel.Overlay(sc,Group.FromCards(rc))
Duel.SpecialSummonStep(sc,sumtype,sp,sp,false,false,POS_FACEUP_ATTACK,0x20)
else
Duel.Hint(HINT_SELECTMSG,sp,HINTMSG_CallZONE)
local szone=Duel.SelectField(sp,1,LOCATION_MZONE,0,z)
if Duel.IsExistingMatchingCard(VgD.CallFilter,sp,LOCATION_MZONE,0,1,nil,sp,szone) then
local tc=Duel.GetMatchingGroup(VgD.CallFilter,sp,LOCATION_MZONE,0,nil,sp,szone):GetFirst()
Duel.SendtoGrave(tc,REASON_COST)
end
Duel.SpecialSummonStep(sc,sumtype,sp,sp,false,false,POS_FACEUP_ATTACK,szone)
z=bit.bor(z,szone)
end
end
return Duel.SpecialSummonComplete()
end
function VgF.LvCondition(e)
local c=e:GetHandler()
......
--顶峰天帝 巴斯提昂
local cm,m,o=GetID()
function cm.initial_effect(c)
VgF.VgCard(c)
vgf.VgCard(c)
--【自】【V】【1回合1次】:你的攻击判定将等级3的卡判出的战斗结束时,通过【费用】[将手牌中的1张卡舍弃],选择你的1张后防者,重置,这个回合中,那个单位的力量+10000。
vgd.EffectTyperTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,EVENT_DAMAGE_STEP_END,cm.operation,vgf.DisCardCost(1),vgf.VMonsterCondition,nil,1,EFFECT_FLAG_DAMAGE_STEP)
vgd.EffectTyperTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_FIELD,EVENT_DAMAGE_STEP_END,cm.operation,vgf.DisCardCost(1),cm.condition,nil,1,EFFECT_FLAG_DAMAGE_STEP)
if not cm.global_check then
cm.global_check=true
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_MOVE)
ge1:SetCondition(cm.checkcon)
ge1:SetOperation(cm.checkop)
Duel.RegisterEffect(ge1,0)
end
--【永】【V】:你的回合中,你所有的等级3的单位的力量+2000。
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetRange(LOCATION_MZONE)
e1:SetTargetRange(LOCATION_MZONE,0)
e1:SetCondition(vgf.VMonsterCondition)
e1:SetTarget(cm.target)
e1:SetValue(2000)
c:RegisterEffect(e1)
end
function cm.checkcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(Card.IsLocation,1,nil,LOCATION_TRIGGER)
end
function cm.checkop(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterFlagEffect(rp,m,RESET_PHASE+PHASE_BATTLE+RESET_EVENT+EVENT_ATTACK_ANNOUNCE,0,1)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......@@ -17,5 +40,10 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
vgF.AtkUp(c,g,10000,nil)
end
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return vgf.VMonsterCondition(e) and Duel.GetFlagEffect(tp,m)>0
end
function cm.target(e,c)
return vgf.IsLevel(c,3) and Duel.GetTurnPlayer()==e:GetHandlerPlayer()
end
\ No newline at end of file
......@@ -2,11 +2,33 @@
local cm,m,o=GetID()
function cm.initial_effect(c)
VgF.VgCard(c)
--【自】:这个单位被「顶峰天帝 巴斯提昂」RIDE时,通过【费用】[将手牌中的3张等级3的卡公开],抽1张卡。
vgd.BeridedByCard(c,m,10103001,cm.operation,cost)
--未写公开三张等级三的卡
--未写永效果
vgd.BeridedByCard(c,m,10103001,cm.operation,cm.cost)
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.condition)
e1:SetValue(5000)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetCode(EFFECT_ADD_ATTRIBUTE)
e2:SetRange(LOCATION_MZONE)
e2:SetValue(SKILL_SUPPORT)
e2:SetCondition(cm.condition)
c:RegisterEffect(e2)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
Duel.Draw(tp,1,REASON_EFFECT)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then Duel.IsExistingMatchingCard(vgf.IsLevel,tp,LOCATION_HAND,0,3,nil,3) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONFIRM)
local g=Duel.SelectMatchingCard(tp,vgf.IsLevel,tp,LOCATION_HAND,0,3,3,nil,3)
Duel.ConfirmCards(1-tp,g)
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return vgf.VMonsterCondition(e) and Duel.IsExistingMatchingCard(vgf.IsLevel,tp,LOCATION_MZONE,0,3,nil,3)
end
\ No newline at end of file
......@@ -2,22 +2,34 @@
local cm,m,o=GetID()
function cm.initial_effect(c)
VgF.VgCard(c)
--【自】:这个单位被「天枪的骑士 勒克斯」RIDE时,通过【费用】[将手牌中的2张等级3的卡公开],将你的牌堆顶的1张卡公开,那张卡是单位卡的话,CALL到R上,不是的话,放置到弃牌区。
vgd.BeRidedByCard(c,m,10103002,cost,cm.operation)
--cost公开2张三级未写
--【起】【R】【1回合1次】:通过【费用】[计数爆发1],选择你的1张等级3的先导者,这个回合中,力量+5000。
vgd.BeRidedByCard(c,m,10103002,cm.cost,cm.operation)
vgd.EeffectTypeIgnition(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,cm.operation2,vgf.DamageCost(1),vgf.RMonsterCondition,nil,1)
end
function cm.operation(c)
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then Duel.IsExistingMatchingCard(vgf.IsLevel,tp,LOCATION_HAND,0,2,nil,3) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONFIRM)
local g=Duel.SelectMatchingCard(tp,vgf.IsLevel,tp,LOCATION_HAND,0,2,2,nil,3)
Duel.ConfirmCards(1-tp,g)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
Duel.ConfirmDecktop(tp,1)
local g=Duel.GetDecktopGroup(tp,1)
local tc=vgf.ReturnCard(g)
Duel.DisableShuffleCheck()
if tc:IsType(TYPE_MONSTER) then
vgf.Call(g,0,tp)
else
Duel.SendtoGrave(g,REASON_EFFECT)
end
end
function cm.operation2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATKUP)
local g=Duel.SelectMatchingCard(tp,vgf.VmonsterFilter,tp,LOCATION_MZONE,0,1,1,nil)
--条件未写出选择等级三,只写了选择V
local g=Duel.SelectMatchingCard(tp,cm.filter,tp,LOCATION_MZONE,0,1,1,nil)
if g then
VgF.AtkUp(c,g,5000,nil)
vgf.AtkUp(c,g,5000)
end
end
function cm.filter(c)
return vgf.IsLevel(c,3) and vgf.RmonsterFilter(c)
end
\ No newline at end of file
--一效果的operation未写(不知道该如何写展示手牌与判断单位,牌组顶公开call或者放置到弃牌区)
--二效果的条件中未写选择等级三
--天弓的骑士 贝斯
--【自】:这个单位被RIDE时,你是后攻的话,抽1张
--默认内容
local cm,m,o=GetID()
function cm.initial_effect(c)
VgF.VgCard(c)
vgd.BeRidedByCard(c,m,nil,cm.condition)
end
--效果条件
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return tp==1 and Duel.GetTurnPlayer()==tp
end
--效果内容
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
Duel.Draw(tp,1,REASON_EFFECT)
end
\ No newline at end of file
......@@ -2,14 +2,23 @@
local cm,m,o=GetID()
function cm.initial_effect(c)
VgF.VgCard(c)
--【起】【R】:通过【费用】[将这个单位放置到灵魂里],选择你的1张等级3的后防者,这个回合中,力量+10000。
vgd.EffectTypeIgnition(c,m,LOCATION_MZONE,cm.operation,cost,vgf.RMonsterCondition)
vgd.EffectTypeIgnition(c,m,LOCATION_MZONE,cm.operation,cm.cost,vgf.RMonsterCondition)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATKUP)
local g=Duel.SelectMatchingCard(tp,vgf.RMonsterCondition,tp,LOCATION_MZONE,0,1,1,nil)
--这里不会写选择等级三的后防者,只写了选择后防者
if g then
local c=e:GetHandler()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATKUP)
local g=Duel.SelectMatchingCard(tp,cm.filter,tp,LOCATION_MZONE,0,1,1,nil)
if g then
Duel.Hintselectgion(g)
VgF.AtkUp(c,g,10000,nil)
end
end
function cm.filter(c)
return vgf.IsLevel(c,3) and vgf.RmonsterFilter(c)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return c:IsCanOverlay() end
local rc=Duel.GetMatchingGroup(VgF.VMonsterFilter,tp,LOCATION_MZONE,0,nil):GetFirst()
Duel.Overlay(rc,c)
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