Commit cbe9e3bc authored by xiaoye's avatar xiaoye
parents 737894dc f09539a5
......@@ -332,7 +332,8 @@ function VgD.MonsterBattle(c)
e8:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e8:SetCode(EVENT_DAMAGE_STEP_END)
e8:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_DELAY)
e8:SetRange(LOCATION_GZONE)
e8:SetRange(LOCATION_ALL)
e8:SetCondition(VgF.RuleCardCondtion)
e8:SetOperation(VgD.GToGraveOperation)
c:RegisterEffect(e8)
--其他永续
......@@ -485,8 +486,8 @@ function VgD.SendToGOperation(e,tp,eg,ep,ev,re,r,rp)
VgF.Sendto(LOCATION_GZONE,g,tp,POS_FACEUP,REASON_EFFECT)
end
function VgD.GToGraveOperation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
VgF.Sendto(LOCATION_DROP,c,REASON_RULE)
local g=Duel.GetFieldGroup(tp,LOCATION_GZONE,0)
if g:GetCount()>0 then VgF.Sendto(LOCATION_DROP,g,REASON_RULE) end
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)
......@@ -708,7 +709,7 @@ function VgD.Rule(c)
e16:SetCode(EFFECT_QP_ACT_IN_NTPHAND)
e16:SetRange(LOCATION_ALL)
e16:SetCondition(VgF.RuleCardCondtion)
e16:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CANNOT_DISABLE)
e16:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e16:SetTargetRange(LOCATION_HAND,0)
c:RegisterEffect(e16)
end
......@@ -961,7 +962,7 @@ function VgD.EffectTypeTriggerWhenHittingCon(typ,con,p)
return true
end
end
function VgD.QuickSpell(c,code,op,cost,con,tg)
function VgD.QuickSpell(c,op,cost,con,tg)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_BATTLE_START)
......
......@@ -682,7 +682,7 @@ EVENT_SING =VgID+6 --演唱时
--攻击时(EVENT_ATTACK_ANNOUNCE)
--支援时(EVENT_CUSTOM+EVENT_SUPPORT)
--截击|放置到G(EVENT_MOVE)
--攻击击中时(EVENT_CUSTOM+EVENT_DAMAGE|EVENT_BATTLE_DESTROYING)
--攻击击中时(EVENT_CUSTOM+EVENT_DAMAGE_TRIGGER|EVENT_BATTLE_DESTROYING)
--战斗结束时(EVENT_BATTLED)
--Hint
......
......@@ -875,7 +875,25 @@ function VgF.Sendto(loc,sg,...)
end
if loc==LOCATION_DROP then
AddOverlayGroup(g)
return Duel.SendtoGrave(g,...)
local function repfilter(c,tp)
return c:IsControler(tp) and (c:IsLocation(LOCATION_GZONE) or vgf.RMonsterFilter(c)) and c:IsType(TYPE_MONSTER) and c:GetLevel()%2==1
end
local print=0
for tp=0,1 do
local replace_to_overlay_group=g:Filter(repfilter,nil,tp)
local ct=replace_to_overlay_group:GetCount()
if Duel.IsPlayerAffectedByEffect(tp,10501118) and ct>0 and Duel.SelectYesNo(tp,VgF.Stringid(10501118,0)) then
if ct>1 then replace_to_overlay_group=replace_to_overlay_group:Select(tp,1,ct,nil) end
local ct1=VgF.Sendto(LOCATION_OVERLAY,replace_to_overlay_group,VgF.GetVMonster(tp))
print=print+ct1
g:Sub(replace_to_overlay_group)
end
end
if g:GetCount()>0 then
local ct=Duel.SendtoGrave(g,...)
print=print+ct
end
return print
elseif loc==LOCATION_DECK then
return Duel.SendtoDeck(g,...)
elseif loc==LOCATION_HAND then
......
......@@ -11,7 +11,6 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
local atk=5000
if Duel.IsExistingMatchingCard(vgf.IsSequence,tp,LOCATION_MZONE,0,3,nil,1,2,3) then atk=15000 end
if g then
Duel.HintSelection(g)
vgf.AtkUp(c,g,atk)
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.EffectTypeContinuousChangeAttack(c,EFFECT_TYPE_SINGLE,2000,con)
vgd.EffectTypeContinuousChangeAttack(c,EFFECT_TYPE_SINGLE,5000,con,tg,c,EFFECT_UPDATE_DEFENSE,reset,LOCATION_DROP)
vgd.EffectTypeContinuousChangeAttack(c,EFFECT_TYPE_SINGLE,5000,con,tg,c,EFFECT_UPDATE_DEFENSE,reset,LOCATION_GZONE)
end
function cm.con(e,c)
local tp=e:GetHandler()
......
......@@ -27,10 +27,11 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
vgf.Sendto(LOCATION_HAND,sg,nil,REASON_EFFECT)
g:RemoveCard(vgf.ReturnCard(sg))
end
for i=1,#g do
local dg=Duel.GetDecktopGroup(tp,1)
while g:GetCount()>0 do
local dg=g:RandomSelect(tp,1)
Duel.MoveSequence(dg:GetFirst(),SEQ_DECKBOTTOM)
end
g:Sub(dg)
end
end
function cm.filter(c)
return c:IsSetCard(0xb6) and c:IsLevelBelow(3)
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgf.VgCard(c)
end
--努力的证明 维莉丝塔
local cm,m,o=GetID()
function cm.initial_effect(c)
vgf.VgCard(c)
-- 【自】:这个单位被RIDE时,通过【费用】[将手牌中的1张卡放置到灵魂里],从你的牌堆里探寻至多1张宝石卡,公开后加入手牌,然后牌堆洗切。
vgd.BeRidedByCard(c,m,nil,vgf.SearchCard(LOCATION_HAND,LOCATION_DECK,cm.filter,1,0),cm.cost1)
-- 【自】【R】:你施放指令卡时,通过【费用】[灵魂爆发1],这个回合中,这个单位的力量+5000。
vgd.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_FIELD,EVENT_CHAINING,cm.op,VgF.OverlayCost(1),cm.con)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
VgF.AtkUp(c,c,5000)
end
function cm.filter(c)
return c:IsCode(0xc040) and c:IsAbleToHand()
end
function cm.cost1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetMatchingGroupCount(nil,tp,LOCATION_HAND,0,nil)>0 end
local rc=vgf.GetVMonster(tp)
local g=vgf.SelectMatchingCard(HINTMSG_XMATERIAL,tp,nil,tp,LOCATION_HAND,0,1,1,nil,e,tp)
vgf.Sendto(LOCATION_OVERLAY,g,rc)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
return re:IsHasType(EFFECT_TYPE_ACTIVATE) and rp==tp and vgf.RMonsterCondition(e)
end
local cm,m,o=GetID()
function cm.initial_effect(c)
vgf.VgCard(c)
end
--虚梦少女 汉内洛蕾
local cm,m,o=GetID()
function cm.initial_effect(c)
vgf.VgCard(c)
-- 【自】【R】:你其他的后防者登场到这个单位的同纵列时,这个回合中,这个单位的力量+2000。
vgd.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_FIELD,EVENT_SPSUMMON_SUCCESS,cm.op,nil,cm.con)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return VgF.RMonsterCondition(e) and eg:IsExists(cm.filter,1,nil,tp,c)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
vgf.AtkUp(c,c,2000)
end
function cm.filter(c,tp,mc)
local g=VgF.GetColumnGroup(mc)
return g:GetCount()>0 and g:IsContains(c)
end
\ No newline at end of file
local cm,m,o=GetID()
function cm.initial_effect(c)
vgf.VgCard(c)
end
--紧张的早晨 珊塔尔
local cm,m,o=GetID()
function cm.initial_effect(c)
vgf.VgCard(c)
-- 【起】【R】【1回合1次】:通过【费用】[计数爆发1],选择你的1张先导者,这个回合中,力量+5000。
vgd.EffectTypeIgnition(c,m,LOCATION_MZONE,cm.op,vgf.DamageCost(1),vgf.RMonsterCondition,nil,1)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
-- 选择你的1张先导者
local g=vgf.SelectMatchingCard(HINTMSG_VMONSTER,tp,VgF.VMonsterFilter,tp,LOCATION_MZONE,0,1,1,nil)
vgf.AtkUp(c,g,5000)
end
\ No newline at end of file
local cm,m,o=GetID()
function cm.initial_effect(c)
vgf.VgCard(c)
end
--鼓起踏步向前的勇气 贝尔缇优
local cm,m,o=GetID()
function cm.initial_effect(c)
vgf.VgCard(c)
-- 【自】【R】:这个单位支援时,这个回合中,这个单位的力量+2000。
vgd.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_FIELD,EVENT_CUSTOM+EVENT_SUPPORT,cm.op,nil,cm.con)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return vgf.RMonsterFilter(c) and eg:IsContains(c)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
vgf.AtkUp(c,c,2000)
end
\ No newline at end of file
......@@ -27,9 +27,10 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
vgf.Sendto(LOCATION_HAND,sg,nil,REASON_EFFECT)
g:RemoveCard(vgf.ReturnCard(sg))
end
for i=1,#g do
local dg=Duel.GetDecktopGroup(tp,1)
while g:GetCount()>0 do
local dg=g:RandomSelect(tp,1)
Duel.MoveSequence(dg:GetFirst(),SEQ_DECKBOTTOM)
g:Sub(dg)
end
end
function cm.filter(c)
......
local cm,m,o=GetID()
function cm.initial_effect(c)
vgf.VgCard(c)
end
--微小的和平 普拉耶尔
local cm,m,o=GetID()
function cm.initial_effect(c)
vgf.VgCard(c)
-- 白翼(你的封锁区中的卡只有奇数的等级的场合才有效)-【永】【R/G】:这个单位的力量+2000、盾护+5000。
VgD.EffectTypeContinuousChangeAttack(c,EFFECT_TYPE_SINGLE,2000,cm.con1)
vgd.EffectTypeContinuousChangeAttack(c,EFFECT_TYPE_SINGLE,5000,cm.con2,tg,EFFECT_UPDATE_DEFENSE,reset,LOCATION_GZONE)
end
function cm.con1(e,tp,eg,ep,ev,re,r,rp)
return cm.con2(e,tp,eg,ep,ev,re,r,rp) and vgf.RMonsterCondition(e)
end
function cm.con2(e,tp,eg,ep,ev,re,r,rp)
local a=Duel.IsExistingMatchingCard(cm.filter1,tp,LOCATION_REMOVED,0,1,nil)
local b=Duel.IsExistingMatchingCard(cm.filter2,tp,LOCATION_REMOVED,0,1,nil)
-- 白翼(你的封锁区中的卡只有奇数的等级的场合才有效)
return not a and b
end
function cm.filter1(c)
return c:GetLevel()%2==1
end
function cm.filter2(c)
return c:GetLevel()%2==0
end
\ No newline at end of file
local cm,m,o=GetID()
function cm.initial_effect(c)
vgf.VgCard(c)
end
--任性姑娘 赫尔米娜
local cm,m,o=GetID()
function cm.initial_effect(c)
vgf.VgCard(c)
-- 【自】:这个单位登场到R时,你的R上有其他的〈幽灵〉的话,选择你的1张后防者,这个回合中,力量+5000。
vgd.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.op,nil,cm.con)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=vgf.SelectMatchingCard(HINTMSG_ATKUP,tp,vgf.RMonsterFilter,tp,LOCATION_MZONE,0,1,1,nil)
vgf.AtkUp(c,g,5000)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return not(c:IsSummonType(SUMMON_TYPE_RIDE) or c:IsSummonType(SUMMON_TYPE_SELFRIDE)) and Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_MZONE,0,1,c)
end
function cm.filter(c)
return c:IsSetCard(0xa013) and vgf.RMonsterFilter(c)
end
\ No newline at end of file
local cm,m,o=GetID()
function cm.initial_effect(c)
vgf.VgCard(c)
end
--可靠的最高年级生 阿莉艾斯
local cm,m,o=GetID()
function cm.initial_effect(c)
vgf.VgCard(c)
-- 【永】【G】:你的不存在单位的R有3个以上的话,这个单位的盾护+10000。
vgd.EffectTypeContinuousChangeAttack(c,EFFECT_TYPE_SINGLE,10000,cm.con,tg,EFFECT_UPDATE_DEFENSE,reset,LOCATION_GZONE)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
local ct1=bit.ReturnCount(vgf.GetAvailableLocation(tp))
local ct2=Duel.GetMatchingGroupCount(vgf.RMonsterFilter,tp,LOCATION_MZONE,0,nil)
return ct1-ct2>=3
end
\ No newline at end of file
local cm,m,o=GetID()
function cm.initial_effect(c)
vgf.VgCard(c)
end
--梦想之瞳 爱梅莱茵
local cm,m,o=GetID()
function cm.initial_effect(c)
vgf.VgCard(c)
-- 【永】【R】:你其他的后防者有3张以上的话,这个单位的力量+5000。
vgd.EffectTypeContinuousChangeAttack(c,EFFECT_TYPE_SINGLE,5000,cm.con1)
end
function cm.con1(e)
local c= e:GetHandler()
local tp=e:GetHandlerPlayer()
return vgf.RMonsterCondition(e) and Duel.IsExistingMatchingCard(vgf.RMonsterFilter,tp,LOCATION_MZONE,0,3,c)
end
\ No newline at end of file
local cm,m,o=GetID()
function cm.initial_effect(c)
vgf.VgCard(c)
end
--分赠的幸福 达纳耶尔
local cm,m,o=GetID()
function cm.initial_effect(c)
vgf.VgCard(c)
-- 白翼(你的封锁区中的卡只有奇数的等级的场合才有效)
-- 【自】【R】:这个单位支援时,通过【费用】[灵魂爆发2],选择你其他的1个单位,等级是奇数的这个单位以外的单位每有1个,这个回合中,那个单位的力量+5000。
vgd.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_FIELD,EVENT_CUSTOM+EVENT_SUPPORT,cm.op,VgF.OverlayCost(2),cm.con)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=vgf.SelectMatchingCard(HINTMSG_ATKUP,tp,nil,tp,LOCATION_MZONE,0,1,1,c)
local ct=Duel.GetMatchingGroupCount(cm.filter2,tp,LOCATION_MZONE,0,c)
local atk=5000*ct
vgf.AtkUp(c,g,atk)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return eg:IsContains(c) and cm.con1(e,tp,eg,ep,ev,re,r,rp) and vgf.RMonsterCondition(e)
end
function cm.con1(e,tp,eg,ep,ev,re,r,rp)
local a=Duel.IsExistingMatchingCard(cm.filter1,tp,LOCATION_REMOVED,0,1,nil)
local b=Duel.IsExistingMatchingCard(cm.filter2,tp,LOCATION_REMOVED,0,1,nil)
-- 白翼(你的封锁区中的卡只有奇数的等级的场合才有效)
return not a and b
end
function cm.filter1(c)
return c:GetLevel()%2==1
end
function cm.filter2(c)
return c:GetLevel()%2==0
end
\ No newline at end of file
local cm,m,o=GetID()
function cm.initial_effect(c)
vgf.VgCard(c)
end
--震空的跃动 玛莉布耶尔
local cm,m,o=GetID()
function cm.initial_effect(c)
vgf.VgCard(c)
-- 白翼(你的封锁区中的卡只有奇数的等级的场合才有效)
-- 【永】【R】:你的回合中,这个单位的力量+10000。
VgD.EffectTypeContinuousChangeAttack(c,EFFECT_TYPE_SINGLE,10000,cm.con)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
return cm.con1(e,tp,eg,ep,ev,re,r,rp) and Duel.GetTurnPlayer()==tp and vgf.RMonsterCondition(e)
end
function cm.con1(e,tp,eg,ep,ev,re,r,rp)
local a=Duel.IsExistingMatchingCard(cm.filter1,tp,LOCATION_REMOVED,0,1,nil)
local b=Duel.IsExistingMatchingCard(cm.filter2,tp,LOCATION_REMOVED,0,1,nil)
-- 白翼(你的封锁区中的卡只有奇数的等级的场合才有效)
return not a and b
end
function cm.filter1(c)
return c:GetLevel()%2==1
end
function cm.filter2(c)
return c:GetLevel()%2==0
end
\ No newline at end of file
local cm,m,o=GetID()
function cm.initial_effect(c)
vgf.VgCard(c)
vgd.SpellActivate(c,m,cm.op,vgf.DamageCost(1))
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
Duel.Draw(tp,1,REASON_EFFECT)
local c=e:GetHandler()
local g=vgf.SelectMatchingCard(HINTMSG_ATKUP,tp,nil,tp,LOCATION_MZONE,0,1,1,nil)
vgf.AtkUp(c,g,5000)
end
\ No newline at end of file
local cm,m,o=GetID()
function cm.initial_effect(c)
vgf.VgCard(c)
end
--无尽之苍蓝
local cm,m,o=GetID()
function cm.initial_effect(c)
vgf.VgCard(c)
-- 选择你的1个单位,这个回合中,力量+5000。将这张卡放置到灵魂里。
vgd.SpellActivate(c,m,cm.operation,nil)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=vgf.SelectMatchingCard(HINTMSG_ATKUP,tp,nil,tp,LOCATION_MZONE,0,1,1,nil)
VgF.AtkUp(c,g,5000,nil)
local rc=vgf.GetVMonster(tp)
c:CancelToGrave()
vgf.Sendto(LOCATION_OVERLAY,c,rc)
end
local cm,m,o=GetID()
function cm.initial_effect(c)
vgf.VgCard(c)
end
--活力交响乐
local cm,m,o=GetID()
function cm.initial_effect(c)--这个函数下面用于注册效果
vgf.VgCard(c)
-- 这个回合中你的先导者被攻击击中过的话,选择1个被攻击的单位,这次战斗中,力量+30000。
vgd.QuickSpell(c,cm.op,nil,cm.con)
vgd.GlobalCheckEffect(c,m,EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS,EVENT_CUSTOM+EVENT_DAMAGE_TRIGGER,cm.checkcon,cm.checkop)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=Group.FromCards(Duel.GetAttackTarget())
if g:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATKUP)
g=g:FilterSelect(tp,Card.IsCanBeEffectTarget,1,1,nil,e)
Duel.HintSelection(g)
local e1=vgf.AtkUp(c,g,30000)
vgf.EffectReset(c,e1,EVENT_BATTLED)
end
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFlagEffect(tp,m)>0
end
function cm.checkcon(e,tp,eg,ep,ev,re,r,rp)
local rc=vgf.GetVMonster(tp)
return eg:IsContains(rc)
end
function cm.checkop(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1)
end
\ No newline at end of file
local cm,m,o=GetID()
function cm.initial_effect(c)
vgf.VgCard(c)
end
--相互面对,共渡难关
local cm,m,o=GetID()
function cm.initial_effect(c)
vgf.VgCard(c)
-- 你的先导者是「双翼的大天使 阿蕾斯缇耶尔」的话能施放!
-- 选择1个正在被攻击的单位,你的等级是奇数的后防者每有1张,这次战斗中,被选择的单位的力量+5000。这个回合中,你的等级是偶数的单位将要从R或G退场之际,你也可以不将那些卡放置到弃牌区,而是将那些卡放置到灵魂里。
vgd.QuickSpell(c,cm.op)--,nil,cm.con)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
return VgF.GetVMonster(tp):IsCode(10501002)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=Group.FromCards(Duel.GetAttackTarget())
if g:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATKUP)
g=g:FilterSelect(tp,Card.IsCanBeEffectTarget,1,1,nil,e)
Duel.HintSelection(g)
local ct=Duel.GetMatchingGroupCount(cm.filter,tp,LOCATION_MZONE,0,c)
local atk=5000*ct
local e1=vgf.AtkUp(c,g,atk)
vgf.EffectReset(c,e1,EVENT_BATTLED)
end
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(m)
e1:SetTargetRange(1,0)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
function cm.filter(c)
return c:GetLevel()%2==0
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