Commit 8c8a7f8e authored by xiaoye's avatar xiaoye
parents f03e7932 a6658e39
-- 真实的闪耀 阿蕾斯缇耶尔
local cm,m,o=GetID() local cm,m,o=GetID()
function cm.initial_effect(c) function cm.initial_effect(c)
vgd.VgCard(c) vgd.VgCard(c)
-- 【自】:这个单位登场到V时,选择你的封锁区中的1张卡,放置到牌堆底,放置了的话,将你的牌堆顶的1张卡正面封锁。
vgd.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.op1,nil,cm.con1)
-- 白翼-【起】【V】【1回合1次】:通过【费用】[计数爆发1],这个回合中,这个单位的☆+1。
vgd.EffectTypeIgnition(c,m,LOCATION_MZONE,cm.op2,vgf.DamageCost(1),cm.con2,nil,1)
-- 黑翼-【永】【V】:这个单位攻击的战斗中,对手不能将触发单位卡从手牌CALL到G上。
VgD.CannotCallToGZoneWhenAttack(c,m,function (e,re,tp)
return re:GetHandler():IsType(TYPE_TRIIGER) and re:GetHandler():IsLocation(LOCATION_HAND)
end,cm.con3)
end end
function cm.con1(e)
local c=e:GetHandler()
return vgf.VSummonCondition(e)
end
function cm.op1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=vgf.SelectMatchingCard(HINTMSG_CONFIRM,e,tp,nil,tp,LOCATION_REMOVED,0,1,1,nil)
if #g>0 then
vgf.Sendto(LOCATION_DECK,g,nil,SEQ_DECKTOP,REASON_EFFECT)
local gtop=Duel.GetDecktopGroup(tp,1)
vgf.Sendto(LOCATION_REMOVED,gtop,POS_FACEUP,REASON_EFFECT)
end
end
function cm.con2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return vgf.VMonsterCondition(e) and vgf.WhiteWing(e)
end
function cm.op2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
vgf.StarUp(c,c,1)
end
function cm.con3(e)
return vgf.VMonsterCondition(e) and vgf.DarkWing(e)
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)
vgd.VgCard(c) vgd.VgCard(c)
-- 【自】:这个单位被RIDE时,通过【费用】[将手牌中的1张〈幽灵〉的普通单位卡公开,放置到牌堆顶],选择你的弃牌区中的1张〈幽灵〉,加入手牌。
vgd.BeRidedByCard(c,m,nil,VgF.CardsFromTo(REASON_EFFECT,LOCATION_HAND,LOCATION_DROP,Card.IsSetCard,1,0,0xa013),cm.cost)
-- 【永】【V/R】:你的回合中,你的R上的〈幽灵〉有3张以上的话,这个单位的力量+5000。
vgd.EffectTypeContinuousChangeAttack(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,5000,cm.con1)
end end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return vgf.IsExistingMatchingCard(cm.filter3,tp,LOCATION_HAND,0,1,nil) end
local g=vgf.SelectMatchingCard(HINTMSG_CONFIRM,e,tp,cm.filter3,tp,LOCATION_HAND,0,1,1,nil)
Duel.ConfirmCards(1-tp,g)
vgf.Sendto(LOCATION_DECK,g,nil,SEQ_DECKTOP,REASON_COST)
end
function cm.con1(e)
local tp = e:GetHandlerPlayer()
return vgf.IsExistingMatchingCard(cm.filter2,tp,LOCATION_MZONE,0,3,nil) and vgf.RMonsterCondition(e) and Duel.GetTurnPlayer()==tp
end
function cm.filter2(c)
return c:IsSetCard(0xa013) and vgf.RMonsterFilter(c)
end
function cm.filter3(c)
return c:IsSetCard(0xa013) and c:IsType(TYPE_NORMAL+TYPE_MONSTER)
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)
vgd.VgCard(c) vgd.VgCard(c)
-- 黑翼(你的封锁区中的卡只有偶数的等级的场合才有效)
-- 【自】【R】:被支援的这个单位攻击的战斗结束时,你可以选择你的后防者中或灵魂里的1张卡,返回手牌。从灵魂里选择了的话,将这个单位放置到灵魂里。(FLAG_SUPPORTED)
vgd.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_FIELD,EVENT_BATTLED,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_SUPPORTED)>0 and c:IsRelateToEffect(e) and Duel.GetAttacker() == c and vgf.DarkWing(e)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=vgf.SelectMatchingCard(HINTMSG_ATOHAND,e,tp,nil,tp,LOCATION_RZONE+LOCATION_OVERLAY,0,0,1,nil)
if #g>0 then
local tc=g:GetFirst()
vgf.Sendto(LOCATION_HAND,tc,tp)
if not tc:IsPreviousLocation(LOCATION_MZONE) then
vgf.Sendto(LOCATION_OVERLAY,c)
end
end
end
\ No newline at end of file
...@@ -3,7 +3,6 @@ local cm,m,o=GetID() ...@@ -3,7 +3,6 @@ local cm,m,o=GetID()
function cm.initial_effect(c) function cm.initial_effect(c)
vgd.VgCard(c) vgd.VgCard(c)
-- 【永】【V】:【永】【V】:你的回合中,你的指令区中有正面表示的歌曲卡的话,这个单位的力量+5000。 -- 【永】【V】:【永】【V】:你的回合中,你的指令区中有正面表示的歌曲卡的话,这个单位的力量+5000。
vgd.EffectTypeContinuousChangeAttack(c,m,LOCATION_MZONE,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)
......
-- 广袤的世界 维莉丝塔
local cm,m,o=GetID() local cm,m,o=GetID()
function cm.initial_effect(c) function cm.initial_effect(c)
vgd.VgCard(c) vgd.VgCard(c)
-- 【自】【V】【1回合1次】:你施放宝石卡时,抽1张卡。
vgd.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_FIELD,EVENT_CHAINING,vgf.Draw,nil,cm.con1,nil,1)
-- 【永】【G】:你的弃牌区中的宝石卡每有2张,这个单位的盾护+5000。
vgd.EffectTypeContinuousChangeDefense(c,m,EFFECT_TYPE_SINGLE,cm.val,nil)
end end
function cm.con1(e,tp,eg,ep,ev,re,r,rp)
return re:IsHasType(EFFECT_TYPE_ACTIVATE) and rp==tp and vgf.VMonsterCondition(e)
end
function cm.val(e)
local tp=e:GetHandlerPlayer()
local ct=vgf.GetMatchingGroupCount(cm.filter,tp,LOCATION_GRAVE,0,nil)
local val=math.floor(ct/2)*5000
return val
end
function cm.filter(c)
return c:IsSetCard(0xc040)
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)
vgd.VgCard(c) vgd.VgCard(c)
-- 【自】:这个单位登场到R时,选择你的弃牌区中的相互同名的至多2张宝石卡,将1张放置到牌堆底,其余的卡放置到灵魂里。
vgd.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.op,nil,vgf.RSummonCondition)
end end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SELECT)
local g=vgf.GetMatchingGroup(Card.IsSetCard,tp,LOCATION_DROP,0,nil,0xc040):SelectSubGroup(tp, cm.filter, false, 0, 2)
local step = 0
g:ForEach(function (c)
if step == 0 then
vgf.Sendto(LOCATION_DECK,c,nil,SEQ_DECKBOTTOM,REASON_EFFECT)
step = step + 1
else
vgf.Sendto(LOCATION_OVERLAY,c)
end
end)
end
function cm.filter(g)
return g:GetClassCount(Card.GetCode) <= 1
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)
vgd.VgCard(c) vgd.VgCard(c)
-- 【自】:你的战斗阶段中这个单位登场到R时,通过【费用】[灵魂爆发1],这个回合中,这个单位的力量+10000。
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)
local c = e:GetHandler()
local ph = Duel.GetCurrentPhase()
return vgf.RSummonCondition(e) and (ph>=PHASE_BATTLE_START and ph<=PHASE_BATTLE) and Duel.GetTurnPlayer() == tp
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)
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)
vgd.VgCard(c) vgd.VgCard(c)
-- 【自】:这个单位从手牌登场到R时,公开你的牌堆顶的1张卡,那张卡是等级2以外的单位卡的话,将那张卡CALL到不存在单位的R上。没有CALL出场的话,将被公开的卡放置到牌堆底。
vgd.EffectTypeTrigger(c,m,loc,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.op,nil,cm.con)
end end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=Duel.GetDecktopGroup(tp,1)
Duel.ConfirmCards(tp,g)
Duel.ConfirmCards(1-tp,g)
local tc=g:GetFirst()
if tc:IsType(TYPE_MONSTER) and tc:GetLevel()~=2 and vgf.IsCanBeCalled(tc,e,tp) and vgf.Sendto(LOCATION_MZONE,tc,0,tp,"NoMonster")==0 then
Duel.MoveSequence(tc,1)
end
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
local c = e:GetHandler()
return vgf.RSummonCondition(e) and c:IsPreviousLocation(LOCATION_HAND)
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)
vgd.VgCard(c) vgd.VgCard(c)
end -- 【自】:这个单位登场到R时,通过【费用】[灵魂爆发1,将手牌中的1张卡舍弃],选择你的弃牌区中的1张宝石卡,加入手牌。
vgd.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,vgf.CardsFromTo(REASON_EFFECT,LOCATION_HAND,LOCATION_DROP,Card.IsSetCard,1,1,0xc040),vgf.CostAnd(vgf.OverlayCost(1),vgf.DisCardCost(1)),vgf.RSummonCondition)
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)
vgd.VgCard(c) vgd.VgCard(c)
-- 【自】:这个单位登场到R时,通过【费用】[计数爆发1,将手牌中的2张普通单位卡公开,按希望的顺序放置到牌堆底],选择你的1张先导者,从牌堆里探寻至多1张与那个单位同名的卡,公开后加入手牌,然后牌堆洗切。
vgd.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.op,cm.cost,vgf.RSummonCondition)
end end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local code=vgf.GetVMonster(tp):GetCode()
vgf.CardsFromTo(REASON_EFFECT,LOCATION_HAND,LOCATION_DECK,Card.IsCode,1,0,code)(e,tp,eg,ep,ev,re,r,rp)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return vgf.IsExistingMatchingCard(cm.filter,tp,LOCATION_HAND,0,2,nil) and vgf.DamageCost(1)(e,tp,eg,ep,ev,re,r,rp,chk) end
vgf.DamageCost(1)(e,tp,eg,ep,ev,re,r,rp,chk)
local g=vgf.SelectMatchingCard(HINTMSG_CONFIRM,e,tp,cm.filter,tp,LOCATION_HAND,0,2,2,nil)
Duel.ConfirmCards(1-tp,g)
if vgf.Sendto(LOCATION_DECK,g,nil,SEQ_DECKTOP,REASON_COST)==#g 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
function cm.filter(c)
return c:IsType(TYPE_NORMAL+TYPE_MONSTER)
end
-- 毫无阴霾之心 米娅耶尔
local cm,m,o=GetID() local cm,m,o=GetID()
function cm.initial_effect(c) function cm.initial_effect(c)
vgd.VgCard(c) vgd.VgCard(c)
-- 白翼(你的封锁区中的卡只有奇数的等级的场合才有效)
-- 【自】:这个单位登场到R时,通过【费用】[计数爆发1,灵魂爆发1],选择你的弃牌区中的1张力量8000的卡,加入手牌。
vgd.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,vgf.CardsFromTo(REASON_EFFECT,LOCATION_HAND,LOCATION_DROP,cm.filter),vgf.CostAnd(vgf.DamageCost(1),vgf.OverlayCost(1)),cm.con)
end end
function cm.filter(c)
return c:GetAttack()==8000
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
return vgf.RSummonCondition(e) and vgf.WhiteWing(e)
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)
vgd.VgCard(c) vgd.VgCard(c)
vgd.CardToG(c,m,cm.op)
end end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_MONSTER)
local g=vgf.SelectMatchingCard(HINTMSG_MONSTER,e,tp,nil,tp,LOCATION_MZONE,0,1,1,nil)
if g:GetCount()>0 then
local tc=g:GetFirst()
if vgf.RMonsterFilter(tc) then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetValue(1)
tc:RegisterEffect(e1)
vgf.EffectReset(c,e1,EVENT_BATTLED)
elseif vgf.VMonsterFilter(tc) then
tc:RegisterFlagEffect(FLAG_DEFENSE_ENTIRELY,RESET_EVENT+RESETS_STANDARD,0,1)
end
end
local sg=Duel.GetFieldGroup(tp,LOCATION_HAND,0)
if sg:GetCount()>=2 then
sg=sg:Select(tp,1,1,nil)
vgf.Sendto(LOCATION_DROP,sg,REASON_DISCARD+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)
vgd.VgCard(c) vgd.VgCard(c)
vgd.CardToG(c,m,cm.op)
end end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_MONSTER)
local g=vgf.SelectMatchingCard(HINTMSG_MONSTER,e,tp,nil,tp,LOCATION_MZONE,0,1,1,nil)
if g:GetCount()>0 then
local tc=g:GetFirst()
if vgf.RMonsterFilter(tc) then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetValue(1)
tc:RegisterEffect(e1)
vgf.EffectReset(c,e1,EVENT_BATTLED)
elseif vgf.VMonsterFilter(tc) then
tc:RegisterFlagEffect(FLAG_DEFENSE_ENTIRELY,RESET_EVENT+RESETS_STANDARD,0,1)
end
end
local sg=Duel.GetFieldGroup(tp,LOCATION_HAND,0)
if sg:GetCount()>=2 then
sg=sg:Select(tp,1,1,nil)
vgf.Sendto(LOCATION_DROP,sg,REASON_DISCARD+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)
vgd.VgCard(c) vgd.VgCard(c)
vgd.CardToG(c,m,cm.op)
end end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_MONSTER)
local g=vgf.SelectMatchingCard(HINTMSG_MONSTER,e,tp,nil,tp,LOCATION_MZONE,0,1,1,nil)
if g:GetCount()>0 then
local tc=g:GetFirst()
if vgf.RMonsterFilter(tc) then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetValue(1)
tc:RegisterEffect(e1)
vgf.EffectReset(c,e1,EVENT_BATTLED)
elseif vgf.VMonsterFilter(tc) then
tc:RegisterFlagEffect(FLAG_DEFENSE_ENTIRELY,RESET_EVENT+RESETS_STANDARD,0,1)
end
end
local sg=Duel.GetFieldGroup(tp,LOCATION_HAND,0)
if sg:GetCount()>=2 then
sg=sg:Select(tp,1,1,nil)
vgf.Sendto(LOCATION_DROP,sg,REASON_DISCARD+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)
vgd.VgCard(c) vgd.VgCard(c)
vgd.CardToG(c,m,cm.op)
end end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_MONSTER)
local g=vgf.SelectMatchingCard(HINTMSG_MONSTER,e,tp,nil,tp,LOCATION_MZONE,0,1,1,nil)
if g:GetCount()>0 then
local tc=g:GetFirst()
if vgf.RMonsterFilter(tc) then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetValue(1)
tc:RegisterEffect(e1)
vgf.EffectReset(c,e1,EVENT_BATTLED)
elseif vgf.VMonsterFilter(tc) then
tc:RegisterFlagEffect(FLAG_DEFENSE_ENTIRELY,RESET_EVENT+RESETS_STANDARD,0,1)
end
end
local sg=Duel.GetFieldGroup(tp,LOCATION_HAND,0)
if sg:GetCount()>=2 then
sg=sg:Select(tp,1,1,nil)
vgf.Sendto(LOCATION_DROP,sg,REASON_DISCARD+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)
vgd.VgCard(c) vgd.VgCard(c)
vgd.CardToG(c,m,cm.op)
end end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_MONSTER)
local g=vgf.SelectMatchingCard(HINTMSG_MONSTER,e,tp,nil,tp,LOCATION_MZONE,0,1,1,nil)
if g:GetCount()>0 then
local tc=g:GetFirst()
if vgf.RMonsterFilter(tc) then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetValue(1)
tc:RegisterEffect(e1)
vgf.EffectReset(c,e1,EVENT_BATTLED)
elseif vgf.VMonsterFilter(tc) then
tc:RegisterFlagEffect(FLAG_DEFENSE_ENTIRELY,RESET_EVENT+RESETS_STANDARD,0,1)
end
end
local sg=Duel.GetFieldGroup(tp,LOCATION_HAND,0)
if sg:GetCount()>=2 then
sg=sg:Select(tp,1,1,nil)
vgf.Sendto(LOCATION_DROP,sg,REASON_DISCARD+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)
vgd.VgCard(c) vgd.VgCard(c)
-- 【自】【后列的R】【1回合1次】:你的战斗阶段中你其他的单位登场到R时,通过【费用】[灵魂爆发2],抽1张卡。
VgD.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_FIELD,EVENT_SPSUMMON_SUCCESS,vgf.Draw,vgf.OverlayCost(2),cm.con,nil,1)
end end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
local c = e:GetHandler()
local ph = Duel.GetCurrentPhase()
return vgf.BackFilter(c) and (ph>=PHASE_BATTLE_START and ph<=PHASE_BATTLE) and Duel.GetTurnPlayer() == tp and eg:IsExists(cm.filter,1,c,tp)
end
function cm.filter(c,tp)
return vgf.IsSummonTypeR(c) and c:IsControler(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)
vgd.VgCard(c) vgd.VgCard(c)
-- 【自】【R】:你的先导者的攻击击中时,这个回合中,这个单位的力量+5000。
VgD.EffectTypeTriggerWhenHitting(c,m,LOCATION_MZONE,EFFECT_TYPE_FIELD,cm.op,nil,cm.con)
end 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,5000,nil)
end
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
return vgf.RMonsterCondition(e) and vgf.VMonsterFilter(Duel.GetAttacker())
end
-- 青发之异才 里希乌丝
local cm,m,o=GetID() local cm,m,o=GetID()
function cm.initial_effect(c) function cm.initial_effect(c)
vgd.VgCard(c) vgd.VgCard(c)
-- 【自】:这个单位登场到R时,选择你其他的1个单位,这个回合中,力量+10000。
vgd.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.op,nil,vgf.RSummonCondition)
end 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)
vgf.AtkUp(c,g,10000)
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)
vgd.VgCard(c) vgd.VgCard(c)
-- 通过【费用】[计数爆发1]施放!
-- 抽2张卡,选择你的手牌的1张卡,舍弃。将这张卡放置到灵魂里。
vgd.SpellActivate(c,m,cm.operation,vgf.DamageCost(1))
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.Draw(tp,2,REASON_EFFECT)
VgF.CardsFromTo(REASON_EFFECT,LOCATION_DROP,LOCATION_HAND,nil,1,1)(e,tp,eg,ep,ev,re,r,rp)
local rc=vgf.GetVMonster(tp)
if c:IsRelateToEffect(e) then
c:CancelToGrave()
vgf.Sendto(LOCATION_OVERLAY,c,rc)
end
end end
-- 茜色之小道
local cm,m,o=GetID() local cm,m,o=GetID()
function cm.initial_effect(c) function cm.initial_effect(c)
vgd.VgCard(c) vgd.VgCard(c)
-- (设置指令在施放后,放置到指令区。)
vgd.ContinuousSpell(c)
-- 【自】:这张卡被放置到指令区时,对手有等级3以上的先导者的话,抽1张卡。
vgd.EffectTypeTrigger(c,m,loc,EFFECT_TYPE_SINGLE,EVENT_MOVE,vgf.Draw,nil,cm.con1)
-- 【自】【指令区】:这张歌曲卡被歌唱时,选择你的1张先导者,这个回合中,☆+1。
vgd.EffectTypeTrigger(c,m,LOCATION_ORDER,EFFECT_TYPE_FIELD,EVENT_CUSTOM+EVENT_SING,cm.op,nil,cm.con)
end end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
return eg:IsContains(e:GetHandler())
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=vgf.SelectMatchingCard(HINTMSG_VMONSTER,e,tp,nil,tp,LOCATION_VZONE,0,nil)
vgf.StarUp(c,g,1,nil)
end
function cm.filter(c)
return c:IsLevelAbove(3) and vgf.VMonsterFilter(c)
end
function cm.con1(e,tp,eg,ep,ev,re,r,rp)
return cm.con(e,tp,eg,ep,ev,re,r,rp) and Duel.IsExistingMatchingCard(cm.filter,tp,0,LOCATION_MZONE,1,nil)
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)
vgd.VgCard(c) vgd.VgCard(c)
-- (设置指令在施放后,放置到指令区。)
vgd.ContinuousSpell(c)
-- 【自】:这张卡被放置到指令区时,选择你的1张先导者,这个回合中,力量+5000。
vgd.EffectTypeTrigger(c,m,loc,EFFECT_TYPE_SINGLE,EVENT_MOVE,cm.op1,nil,cm.con)
-- 【自】【指令区】:这张歌曲卡被歌唱时,这个回合中,将当前存在于前列的你所有的单位的力量+5000。
vgd.EffectTypeTrigger(c,m,LOCATION_ORDER,EFFECT_TYPE_FIELD,EVENT_CUSTOM+EVENT_SING,cm.op2,nil,cm.con)
end end
function cm.op1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=vgf.SelectMatchingCard(HINTMSG_VMONSTER,e,tp,nil,tp,LOCATION_VZONE,0,1,1,nil)
vgf.AtkUp(c,g,5000)
end
function cm.op2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=vgf.GetMatchingGroup(vgf.FrontFilter,tp,LOCATION_MZONE,0,nil)
vgf.AtkUp(c,g,5000)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
return eg:IsContains(e:GetHandler())
end
-- 风奏口琴 特尔特斯
local cm,m,o=GetID() local cm,m,o=GetID()
function cm.initial_effect(c) function cm.initial_effect(c)
vgd.VgCard(c) vgd.VgCard(c)
-- 【自】【R】:这个单位攻击时,通过【费用】[计数爆发1],这个回合中,这个单位的力量+5000。
vgd.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.op,vgf.DamageCost(1),vgf.RMonsterCondition)
end 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,5000,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)
vgd.VgCard(c) vgd.VgCard(c)
-- 【自】【R】:这个单位攻击时,这个回合中你施放了指令卡的话,通过【费用】[灵魂爆发1],这个回合中,这个单位的力量+5000。
vgd.GlobalCheckEffect(c,m,EVENT_CHAIN_SOLVING,cm.checkcon)
vgd.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,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 c:IsRelateToEffect(e) and c:IsFaceup() then
vgf.AtkUp(c,c,5000,nil)
end
end
function cm.con(e)
local tp=e:GetHandlerPlayer()
return vgf.RMonsterCondition(e) and Duel.GetFlagEffect(tp,m)>0
end
function cm.checkcon(e,tp,eg,ep,ev,re,r,rp)
return re:IsHasType(EFFECT_TYPE_ACTIVATE) and rp==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)
vgd.VgCard(c) vgd.VgCard(c)
-- 【永】【R】:你的回合中,你的指令区中的你的卡每有1张,这个单位的力量+2000。
vgd.EffectTypeContinuousChangeAttack(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,cm.val,cm.con)
end end
function cm.val(e)
local tp=e:GetHandlerPlayer()
local ct=vgf.GetMatchingGroupCount(nil,tp,LOCATION_ORDER,0,nil)
return ct*2000
end
function cm.con(e)
local c=e:GetHandler()
local tp=e:GetHandlerPlayer()
return vgf.RMonsterCondition(e) and Duel.GetTurnPlayer()==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)
vgd.VgCard(c) vgd.VgCard(c)
-- 【自】【R】:你的含有「诚意真心」的单位被攻击时,通过【费用】[将这个单位退场],选择1张正在被攻击的单位,这次战斗中,力量+10000。
vgd.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_FIELD,EVENT_BE_BATTLE_TARGET,cm.op,vgf.LeaveFieldCost,cm.con)
-- EFFECT_TYPE_FIELD
-- EVENT_BE_BATTLE_TARGET
end 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)
local e1=vgf.AtkUp(c,g,10000)
vgf.EffectReset(c,e1,EVENT_BATTLED)
end
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=Group.FromCards(Duel.GetAttackTarget())
return vgf.RMonsterCondition(c) and g:IsExists(Card.IsSetCard,1,nil,0xb6)
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)
vgd.VgCard(c) vgd.VgCard(c)
-- 黑翼(你的封锁区中的卡只有偶数的等级的场合才有效)-【自】:这个单位登场到R时,灵魂填充1,这个回合中,这个单位的获得『支援』的技能。
vgd.EffectTypeTrigger(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.op,nil,cm.con)
end end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
vgf.OverlayFill(1)(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) and c:IsFaceup() then
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetCode(EFFECT_ADD_SKILL)
e2:SetRange(LOCATION_MZONE)
e2:SetValue(SKILL_SUPPORT)
e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
c:RegisterEffect(e2)
end
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
return vgf.DarkWing(e) and vgf.RSummonCondition(e)
end
\ No newline at end of file
...@@ -3,14 +3,10 @@ local cm,m,o=GetID() ...@@ -3,14 +3,10 @@ local cm,m,o=GetID()
function cm.initial_effect(c) function cm.initial_effect(c)
vgd.VgCard(c) vgd.VgCard(c)
-- 【自】:这个单位从手牌登场到R时,你其他的后防者有3张以上的话,通过【费用】[计数爆发1],抽1张卡。 -- 【自】:这个单位从手牌登场到R时,你其他的后防者有3张以上的话,通过【费用】[计数爆发1],抽1张卡。
vgd.EffectTypeTrigger(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.op,vgf.DamageCost(1),cm.con) vgd.EffectTypeTrigger(c,m,nil,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,vgf.Draw,vgf.DamageCost(1),cm.con)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
Duel.Draw(tp,1,REASON_EFFECT)
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 c = e:GetHandler() local c = e:GetHandler()
return vgf.RMonsterFilter(c) and c:IsPreviousLocation(LOCATION_HAND) and vgf.IsExistingMatchingCard(vgf.RMonsterFilter,tp,LOCATION_MZONE,0,3,c) return vgf.RSummonCondition(e) and c:IsPreviousLocation(LOCATION_HAND) and vgf.IsExistingMatchingCard(vgf.RMonsterFilter,tp,LOCATION_MZONE,0,3,c)
end end
-- 注视爱吧 缇尔丝耶尔
local cm,m,o=GetID() local cm,m,o=GetID()
function cm.initial_effect(c) function cm.initial_effect(c)
vgd.VgCard(c) vgd.VgCard(c)
-- 黑翼(你的封锁区中的卡只有偶数的等级的场合才有效)-
-- 【自】:这个单位被放置到G时,选择后列的对手的1张后防者,横置。
vgd.CardToG(c,m,cm.op,nil,vgf.DarkWing)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local g=vgf.SelectMatchingCard(HINTMSG_OPPO,e,tp,cm.filter,tp,0,LOCATION_MZONE,1,1,nil)
if g:GetCount()>0 then
Duel.ChangePosition(g,POS_FACEUP_DEFENSE)
end
end
function cm.filter(c)
return c:IsPosition(POS_FACEUP_ATTACK) and vgf.BackFilter(c)
end end
...@@ -1617,7 +1617,7 @@ end ...@@ -1617,7 +1617,7 @@ end
---@param m number|nil 效果的创建者的卡号 ---@param m number|nil 效果的创建者的卡号
---@param loc number 生效的区域 ---@param loc number 生效的区域
---@param typ number 只影响自己,则填EFFECT_TYPE_SINGLE;<br>影响场上,则填EFFECT_TYPE_FIELD。 ---@param typ number 只影响自己,则填EFFECT_TYPE_SINGLE;<br>影响场上,则填EFFECT_TYPE_FIELD。
---@param val number 变更的数值 ---@param val function|number 变更的数值
---@param con function|nil 这个效果的条件函数 ---@param con function|nil 这个效果的条件函数
---@param tg function|nil 这个效果的影响目标(全域) ---@param tg function|nil 这个效果的影响目标(全域)
---@param loc_self number|nil 这个效果影响的自己区域,影响全域范围才需填 ---@param loc_self number|nil 这个效果影响的自己区域,影响全域范围才需填
...@@ -1633,7 +1633,7 @@ end ...@@ -1633,7 +1633,7 @@ end
---@param c Card 效果的创建者 ---@param c Card 效果的创建者
---@param m number|nil 效果的创建者的卡号 ---@param m number|nil 效果的创建者的卡号
---@param typ number 只影响自己,则填EFFECT_TYPE_SINGLE;<br>影响场上,则填EFFECT_TYPE_FIELD。 ---@param typ number 只影响自己,则填EFFECT_TYPE_SINGLE;<br>影响场上,则填EFFECT_TYPE_FIELD。
---@param val number 变更的数值 ---@param val function|number 变更的数值
---@param con function|nil 这个效果的条件函数 ---@param con function|nil 这个效果的条件函数
---@param tg function|nil 这个效果的影响目标(全域) ---@param tg function|nil 这个效果的影响目标(全域)
---@param loc_self number|nil 这个效果影响的自己区域,影响全域范围才需填 ---@param loc_self number|nil 这个效果影响的自己区域,影响全域范围才需填
......
...@@ -705,7 +705,7 @@ function VgF.LeaveFieldCost(card_code_func, val_max, val_min, except, ...) ...@@ -705,7 +705,7 @@ function VgF.LeaveFieldCost(card_code_func, val_max, val_min, except, ...)
val_min, val_max = val_min or 1, val_max or 1 val_min, val_max = val_min or 1, val_max or 1
if val_min > val_max then val_min = val_max end if val_min > val_max then val_min = val_max end
local leave_filter = VgF.True local leave_filter = VgF.True
if type(card_code_func) == "function" then if type(card_code_func) == "function" then
leave_filter = card_code_func leave_filter = card_code_func
elseif type(card_code_func) == "number" then elseif type(card_code_func) == "number" then
leave_filter = function(c) return c:IsCode(card_code_func) end leave_filter = function(c) return c:IsCode(card_code_func) end
...@@ -818,6 +818,7 @@ end ...@@ -818,6 +818,7 @@ end
function Group.ForEach(g, f, ...) function Group.ForEach(g, f, ...)
local ext_params = {...} local ext_params = {...}
if #g == 0 then return end
for c in VgF.Next(g) do for c in VgF.Next(g) do
f(c, table.unpack(ext_params)) f(c, table.unpack(ext_params))
end end
...@@ -1410,6 +1411,19 @@ end ...@@ -1410,6 +1411,19 @@ end
function VgF.PlayerEffect(e, tp, eg, ep, ev, re, r, rp) function VgF.PlayerEffect(e, tp, eg, ep, ev, re, r, rp)
return true return true
end end
---玩家抽1张卡
---@param p number 0:自己 1:对手 默认为0
---@param count number 抽count数量的卡 默认为1
function VgF.Draw(p, count)
p = (VgF.GetValueType(p) ~= "number" or p < 0 or p > 1) and 0 or p
count = VgF.GetValueType(count) ~= "number" and 1 or count
return function (e,tp,eg,ep,ev,re,r,rp)
local draw_player = p == 0 and tp or (1 - tp)
Duel.Draw(draw_player, count, REASON_EFFECT)
end
end
---创建一个函数检查器 检查func是否为nil或函数 ---创建一个函数检查器 检查func是否为nil或函数
function VgF.IllegalFunctionCheck(name, c) function VgF.IllegalFunctionCheck(name, c)
if VgF.GetValueType(c) ~= "Card" then Debug.Message("VgD."..name.." param c isn't Card") end if VgF.GetValueType(c) ~= "Card" then Debug.Message("VgD."..name.." param c isn't Card") end
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment