Commit a9340854 authored by jwyxym's avatar jwyxym Committed by GitHub

Add files via upload

parent 4735fc05
...@@ -328,7 +328,9 @@ function VgD.MonsterBattle(c) ...@@ -328,7 +328,9 @@ function VgD.MonsterBattle(c)
local e17=e7:Clone() local e17=e7:Clone()
e17:SetRange(LOCATION_HAND) e17:SetRange(LOCATION_HAND)
e17:SetCost(VgD.SendToGCost) e17:SetCost(VgD.SendToGCost)
e17:SetCondition(VgD.SendToGCondition(nil)) e17:SetCondition(VgD.SendToGCondition(function (tc)
tc:IsType(TYPE_MONSTER)
end))
c:RegisterEffect(e17) c:RegisterEffect(e17)
local e8=Effect.CreateEffect(c) local e8=Effect.CreateEffect(c)
e8:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e8:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
...@@ -725,19 +727,15 @@ function VgD.EventRideStart(e,tp,eg,ep,ev,re,r,rp) ...@@ -725,19 +727,15 @@ function VgD.EventRideStart(e,tp,eg,ep,ev,re,r,rp)
end end
function VgD.RuleWin(e,tp,eg,ep,ev,re,r,rp) function VgD.RuleWin(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetCurrentChain()>0 then return end if Duel.GetCurrentChain()>0 then return end
for WinReason=0x1, 0xff, 1 do local g1=Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)
if WinReason==0x2 then local g2=Duel.GetFieldGroupCount(tp,0,LOCATION_DECK)
local g1=Duel.GetFieldGroupCount(tp,LOCATION_DECK,0) if g1==0 and g2==0 then
local g2=Duel.GetFieldGroupCount(tp,0,LOCATION_DECK) Duel.Win(PLAYER_NONE,0x2)
if g1==0 and g2==0 then elseif g1==0 then
Duel.Win(PLAYER_NONE,WinReason) Duel.Win(1-tp,0x2)
elseif g1==0 then elseif g2==0 then
Duel.Win(1-tp,WinReason) Duel.Win(tp,0x2)
elseif g2==0 then end
Duel.Win(tp,WinReason)
end
end
end
end end
function VgD.RuelDrawCondition(e,tp,eg,ep,ev,re,r,rp) function VgD.RuelDrawCondition(e,tp,eg,ep,ev,re,r,rp)
return VgF.RuleTurnCondtion(e) and VgF.RuleCardCondtion(e) return VgF.RuleTurnCondtion(e) and VgF.RuleCardCondtion(e)
...@@ -973,8 +971,7 @@ end ...@@ -973,8 +971,7 @@ end
function VgD.QuickSpell(c,code,op,cost,con,tg) function VgD.QuickSpell(c,code,op,cost,con,tg)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(code) e1:SetCode(EVENT_BATTLE_START)
e1:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP)
e1:SetCondition(VgD.LvCondition(con)) e1:SetCondition(VgD.LvCondition(con))
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
...@@ -984,13 +981,15 @@ end ...@@ -984,13 +981,15 @@ end
function VgD.LvCondition(con) function VgD.LvCondition(con)
return function (e,tp,eg,ep,ev,re,r,rp) return function (e,tp,eg,ep,ev,re,r,rp)
if VgF.GetValueType(con)=="function" and not con(e,tp,eg,ep,ev,re,r,rp) then return false end if VgF.GetValueType(con)=="function" and not con(e,tp,eg,ep,ev,re,r,rp) then return false end
return VgF.LvCondition(e) local bc=Duel.GetAttackTarget()
return bc and bc:IsControler(tp) and VgF.LvCondition(e)
end end
end end
function VgD.ContinuousSpell(c,cost,con,tg) function VgD.ContinuousSpell(c,cost,con,tg)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,VgID+EFFECT_COUNT_CODE_OATH)
e1:SetCondition(VgD.LvCondition(con)) e1:SetCondition(VgD.LvCondition(con))
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
......
...@@ -866,7 +866,8 @@ DefenseEntirelyFlag =VgID+3 --完全防御标识 ...@@ -866,7 +866,8 @@ DefenseEntirelyFlag =VgID+3 --完全防御标识
ConditionFlag =VgID+4 --处于XX状态标识 ConditionFlag =VgID+4 --处于XX状态标识
SupportFlag =VgID+5 --支援状态标识 SupportFlag =VgID+5 --支援状态标识
AttackAtRearFlag =VgID+6 --后列攻击 AttackAtRearFlag =VgID+6 --后列攻击
ImprisonFlag =VgID+6 --被收容 ImprisonFlag =VgID+7 --被收容
DamageFlag =VgID+8 --被收容
--AffectedByEffect --AffectedByEffect
AFFECT_CODE_MIX =VgID --魔合成 AFFECT_CODE_MIX =VgID --魔合成
AFFECT_CODE_MIX_DIFFERENT_NAME =VgID+1 --魔合成(卡名不同) AFFECT_CODE_MIX_DIFFERENT_NAME =VgID+1 --魔合成(卡名不同)
......
...@@ -3,7 +3,7 @@ function cm.initial_effect(c) ...@@ -3,7 +3,7 @@ function cm.initial_effect(c)
vgf.VgCard(c) vgf.VgCard(c)
--(闪现指令只能在你能将防卫者CALL出场的时段施放。) --(闪现指令只能在你能将防卫者CALL出场的时段施放。)
--选择你的1个单位,这次战斗中,力量+5000。后列的你的后防者有3张以上的话,不+5000,而是+15000。 --选择你的1个单位,这次战斗中,力量+5000。后列的你的后防者有3张以上的话,不+5000,而是+15000。
vgd.QuickSpell(c,EVENT_MOVE,cm.op,nil,cm.con) vgd.QuickSpell(c,cm.op)
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()
...@@ -15,10 +15,4 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp) ...@@ -15,10 +15,4 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
Duel.HintSelection(g) Duel.HintSelection(g)
vgf.AtkUp(c,g,atk) vgf.AtkUp(c,g,atk)
end end
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(cm.filter,1,nil,tp)
end
function cm.filter(c,tp)
return c:IsLocation(LOCATION_GZONE) and c:IsControler(tp)
end end
\ No newline at end of file
...@@ -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()
if not vgf.CheckPrison(tp) then return end if not vgf.CheckPrison(tp) then return end
Duel.Hint(HINT_MESSAGE,1-tp,HINTMSG_IMPRISON) Duel.Hint(HINT_SELECTMSG,1-tp,HINTMSG_IMPRISON)
local g=Duel.SelectMatchingCard(1-tp,nil,tp,LOCATION_HAND,0,1,1,nil) local g=Duel.SelectMatchingCard(1-tp,nil,tp,LOCATION_HAND,0,1,1,nil)
vgf.SendtoPrison(g,tp) vgf.SendtoPrison(g,tp)
end end
......
...@@ -10,7 +10,7 @@ end ...@@ -10,7 +10,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()
if not vgf.CheckPrison(tp) then return end if not vgf.CheckPrison(tp) then return end
Duel.Hint(HINT_MESSAGE,1-tp,HINTMSG_IMPRISON) Duel.Hint(HINT_SELECTMSG,1-tp,HINTMSG_IMPRISON)
local g=Duel.SelectMatchingCard(tp,vgf.RMonsterFilter,tp,0,LOCATION_MZONE,0,2,nil) local g=Duel.SelectMatchingCard(tp,vgf.RMonsterFilter,tp,0,LOCATION_MZONE,0,2,nil)
vgf.SendtoPrison(g,tp) vgf.SendtoPrison(g,tp)
end end
\ No newline at end of file
...@@ -10,7 +10,7 @@ end ...@@ -10,7 +10,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()
if not vgf.CheckPrison(tp) then return end if not vgf.CheckPrison(tp) then return end
Duel.Hint(HINT_MESSAGE,tp,HINTMSG_IMPRISON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_IMPRISON)
local g=Duel.SelectMatchingCard(tp,vgf.RMonsterFilter,tp,0,LOCATION_MZONE,1,1,nil) local g=Duel.SelectMatchingCard(tp,vgf.RMonsterFilter,tp,0,LOCATION_MZONE,1,1,nil)
vgf.SendtoPrison(g,tp) vgf.SendtoPrison(g,tp)
end end
\ No newline at end of file
...@@ -45,7 +45,7 @@ function cm.op1(e,tp,eg,ep,ev,re,r,rp) ...@@ -45,7 +45,7 @@ function cm.op1(e,tp,eg,ep,ev,re,r,rp)
local zone=vgf.GetAvailableLocation(tp) local zone=vgf.GetAvailableLocation(tp)
local ct=bit.ReturnCount(zone) local ct=bit.ReturnCount(zone)
if ct>e:GetLabel() then ct=e:GetLabel() end if ct>e:GetLabel() then ct=e:GetLabel() end
Duel.Hint(HINT_MESSAGE,tp,HINTMSG_CALL) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CALL)
local g=Duel.SelectMatchingCard(tp,cm.filter1,tp,0,LOCATION_ORDER,ct,ct,nil,e,tp) local g=Duel.SelectMatchingCard(tp,cm.filter1,tp,0,LOCATION_ORDER,ct,ct,nil,e,tp)
Duel.HintSelection(g) Duel.HintSelection(g)
for tc in vgf.Next(g) do for tc in vgf.Next(g) do
......
--诚意真心的领队 克拉莉萨 --诚意真心的领队 克拉莉萨
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)
--【自】:通过在「正确的音程 克拉莉萨」上RIDE的方式将这个单位登场到V时 vgd.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,vgf.SearchCard(LOCATION_DECK,cm.filter),VgF.DamageCost(1),cm.con2)
-- 通过【费用】[计数爆发1], -- 【自】【V】:这个单位的攻击击中时,抽1张卡,选择你的1张含有「诚意真心」的后防者,这个回合中,力量+5000。
-- 从你的牌堆里探寻至多1张「目标!最强的偶像!」,公开后加入手牌,然后牌堆洗切。 vgd.EffectTypeTriggerWhenHitting(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,cm.operation1,nil,VgF.VMonsterCondition)
-- vgd.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,vgf.SearchCard(LOCATION_DECK,cm.filter),VgF.DamageCost(1),cm.con2,nil,1) 封装函数存在问题,先废话代替
vgd.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation2,VgF.DamageCost(1),cm.con2,nil,1)
-- 【自】【V】:这个单位的攻击击中时,抽1张卡,选择你的1张含有「诚意真心」的后防者,这个回合中,力量+5000。
vgd.EffectTypeTriggerWhenHitting(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,cm.operation1,nil,cm.con1)
end end
function cm.con2(e) function cm.con2(e)
local c = e:GetHandler() local c=e:GetHandler()
local g = c:GetMaterial() local g=c:GetMaterial()
return VgF.VMonsterCondition(e) and c:IsSummonType(SUMMON_TYPE_RIDE) and g:IsExists(Card.IsCode,1,nil,10501036) return (c:IsSummonType(SUMMON_TYPE_RIDE) or c:IsSummonType(SUMMON_TYPE_SELFRIDE)) and g:IsExists(Card.IsCode,1,nil,10501036)
end
function cm.operation2(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetDecktopGroup(tp,50)
--确认卡组
-- Duel.ConfirmCards(tp,g)
Duel.DisableShuffleCheck()
local sg=g:FilterSelect(tp,cm.filter,0,1,nil)
Duel.DisableShuffleCheck()
if #sg > 0 then
Duel.SendtoHand(sg,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,sg)
Duel.ShuffleHand(tp)
g:RemoveCard(vgf.ReturnCard(sg))
end
Duel.ShuffleDeck(tp)
end end
function cm.filter(c) function cm.filter(c)
return c:IsCode(10501021) return c:IsCode(10501021)
end
function cm.con1(e)
local c=e:GetHandler()
return VgF.VMonsterCondition(e)
end end
function cm.operation1(e,tp,eg,ep,ev,re,r,rp) function cm.operation1(e,tp,eg,ep,ev,re,r,rp)
local c = e:GetHandler() local c=e:GetHandler()
Duel.Draw(tp,1,REASON_EFFECT) Duel.Draw(tp,1,REASON_EFFECT)
Duel.Hint(HINT_MESSAGE,tp,HINTMSG_ATKUP) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATKUP)
local g=Duel.SelectMatchingCard(tp,cm.filter,tp,LOCATION_MZONE,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,cm.filter1,tp,LOCATION_MZONE,0,1,1,nil)
vgf.AtkUp(c,g,5000) vgf.AtkUp(c,g,5000)
-- vgf.RMonsterFilter
end end
function cm.filter(c) function cm.filter1(c)
return c:IsSetCard(0xb6) and c:GetSequence()<5 return c:IsSetCard(0xb6) and vgf.RMonsterFilter(c)
end end
...@@ -3,42 +3,26 @@ local cm,m,o=GetID() ...@@ -3,42 +3,26 @@ 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。
local e1=Effect.CreateEffect(c) vgd.EffectTypeContinuousChangeAttack(c,EFFECT_TYPE_SINGLE,5000,cm.con1)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetRange(LOCATION_MZONE)
e1:SetCondition(cm.con1)
e1:SetValue(5000)
c:RegisterEffect(e1)
--【自】:通过在「认真的挑战者 克拉莉萨」上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,nil,1) vgd.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation,VgF.OverlayCost(1),cm.con2)
end end
function cm.con1(e) function cm.con1(e)
local c=e:GetHandler() local c=e:GetHandler()
local tp=e:GetHandlerPlayer() local tp=e:GetHandlerPlayer()
local a = Duel.IsExistingMatchingCard(vgf.RMonsterFilter,tp,LOCATION_MZONE,0,1,c) return vgf.VMonsterCondition(e) and not Duel.IsExistingMatchingCard(vgf.RMonsterFilter,tp,LOCATION_MZONE,0,1,nil) and Duel.GetTurnPlayer()==tp
if a == true then
a = flase
else
a = true
end
return vgf.VMonsterCondition(e) and a and Duel.GetTurnPlayer()==tp
end end
function cm.con2(e) function cm.con2(e)
local c = e:GetHandler() local c=e:GetHandler()
local g = c:GetMaterial() local g=c:GetMaterial()
return VgF.VMonsterCondition(e) and c:IsSummonType(SUMMON_TYPE_RIDE) and g:IsExists(Card.IsCode,1,nil,10501090) return (c:IsSummonType(SUMMON_TYPE_RIDE) or c:IsSummonType(SUMMON_TYPE_SELFRIDE)) and g:IsExists(Card.IsCode,1,nil,10501090)
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 g=Duel.GetDecktopGroup(tp,7) local g=Duel.GetDecktopGroup(tp,7)
Duel.ConfirmCards(tp,g) Duel.ConfirmCards(tp,g)
Duel.DisableShuffleCheck() Duel.DisableShuffleCheck()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local sg=g:FilterSelect(tp,cm.filter,0,1,nil) local sg=g:FilterSelect(tp,cm.filter,0,1,nil)
Duel.DisableShuffleCheck()
if #sg > 0 then if #sg > 0 then
Duel.SendtoHand(sg,nil,REASON_EFFECT) Duel.SendtoHand(sg,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,sg) Duel.ConfirmCards(1-tp,sg)
...@@ -49,7 +33,6 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -49,7 +33,6 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local dg=Duel.GetDecktopGroup(tp,1) local dg=Duel.GetDecktopGroup(tp,1)
Duel.MoveSequence(dg:GetFirst(),SEQ_DECKBOTTOM) Duel.MoveSequence(dg:GetFirst(),SEQ_DECKBOTTOM)
end end
-- Duel.Remove(c:GetMaterial(),POS_FACEUP,REASON_TEMPORARY)
end end
function cm.filter(c) function cm.filter(c)
return c:IsSetCard(0xb6) and c:IsLevelBelow(3) and c:IsAbleToHand() return c:IsSetCard(0xb6) and c:IsLevelBelow(3) and c:IsAbleToHand()
......
...@@ -6,12 +6,12 @@ function cm.initial_effect(c) ...@@ -6,12 +6,12 @@ function cm.initial_effect(c)
VgD.EffectTypeContinuousChangeAttack(c,EFFECT_TYPE_SINGLE,5000,cm.con1) VgD.EffectTypeContinuousChangeAttack(c,EFFECT_TYPE_SINGLE,5000,cm.con1)
-- 【自】:这个单位被RIDE时,选择你的牌堆或手牌中的至多1张等级2的歌曲卡,公开后放置到指令区,从牌堆探寻了的话,牌堆洗切。从手牌放置了的话,抽卡1张。 -- 【自】:这个单位被RIDE时,选择你的牌堆或手牌中的至多1张等级2的歌曲卡,公开后放置到指令区,从牌堆探寻了的话,牌堆洗切。从手牌放置了的话,抽卡1张。
vgd.BeRidedByCard(c,m,nil,cm.operation,nil,nil) vgd.BeRidedByCard(c,m,nil,cm.operation)
end end
function cm.con1(e) function cm.con1(e)
local c=e:GetHandler() local c=e:GetHandler()
local tp=e:GetHandlerPlayer() local tp=e:GetHandlerPlayer()
local a = Duel.IsExistingMatchingCard(cm.filter1,tp,LOCATION_ORDER,0,1,c) local a=Duel.IsExistingMatchingCard(cm.filter1,tp,LOCATION_ORDER,0,1,c)
return vgf.VMonsterCondition(e) and a and Duel.GetTurnPlayer()==tp return vgf.VMonsterCondition(e) and a and Duel.GetTurnPlayer()==tp
end end
...@@ -20,29 +20,20 @@ function cm.filter1(c) ...@@ -20,29 +20,20 @@ function cm.filter1(c)
end end
function cm.operation(e,tp,eg,ep,ev,re,r,rp) function cm.operation(e,tp,eg,ep,ev,re,r,rp)
--确认卡组 Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD)
-- local g=Duel.GetDecktopGroup(tp,50) local g=Duel.SelectMatchingCard(tp,cm.filter,tp,LOCATION_HAND+LOCATION_DECK,0,0,1,nil)
-- -- LOCATION_DECK if #g>0 then
-- Duel.ConfirmCards(tp,g) local tc=g:GetFirst()
-- Duel.DisableShuffleCheck() local chk=tc:IsLocation(LOCATION_HAND)
local p=Duel.SelectMatchingCard(tp,cm.filter,tp,LOCATION_HAND+LOCATION_DECK,0,0,1,nil) Duel.Sendto(tc,tp,LOCATION_ORDER,POS_FACEUP_ATTACK,REASON_EFFECT)
if #p > 0 then
local sp = Group.GetFirst(p)
local a = sp:IsLocation(LOCATION_HAND)
Duel.Sendto(p,tp,LOCATION_ORDER,POS_FACEUP_ATTACK,REASON_EFFECT)
Duel.DisableShuffleCheck()
Duel.ConfirmCards(1-tp,p)
Duel.ShuffleDeck(tp) Duel.ShuffleDeck(tp)
if a then if chk then
Duel.Draw(tp,1,REASON_EFFECT) Duel.Draw(tp,1,REASON_EFFECT)
Duel.ShuffleHand(tp)
end end
else
Duel.ShuffleDeck(tp)
end end
end end
function cm.filter(c) function cm.filter(c)
return c:IsSetCard(0xa040) and c:IsAbleToHand() and c:IsLevelBelow(3) return c:IsSetCard(0xa040) and c:IsAbleToHand() and vgf.IsLevel(c,2)
end end
......
...@@ -7,7 +7,7 @@ function cm.initial_effect(c) ...@@ -7,7 +7,7 @@ function cm.initial_effect(c)
VgD.EffectTypeContinuousChangeAttack(c,EFFECT_TYPE_SINGLE,5000,cm.con1) VgD.EffectTypeContinuousChangeAttack(c,EFFECT_TYPE_SINGLE,5000,cm.con1)
end end
function cm.con1() function cm.con1(e)
local c=e:GetHandler() local c=e:GetHandler()
local tp=e:GetHandlerPlayer() local tp=e:GetHandlerPlayer()
local a = Duel.IsExistingMatchingCard(nil,tp,LOCATION_ORDER,0,2,c) local a = Duel.IsExistingMatchingCard(nil,tp,LOCATION_ORDER,0,2,c)
......
...@@ -6,31 +6,18 @@ function cm.initial_effect(c) ...@@ -6,31 +6,18 @@ function cm.initial_effect(c)
-- 【自】:这个单位被RIDE时,选择你的牌堆或手牌中的至多1张等级1的歌曲卡,公开后放置到指令区,从牌堆探寻了的话,牌堆洗切。从手牌放置了的话,抽卡1张。 -- 【自】:这个单位被RIDE时,选择你的牌堆或手牌中的至多1张等级1的歌曲卡,公开后放置到指令区,从牌堆探寻了的话,牌堆洗切。从手牌放置了的话,抽卡1张。
vgd.BeRidedByCard(c,m,nil,cm.operation,nil,nil) vgd.BeRidedByCard(c,m,nil,cm.operation,nil,nil)
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 g=Duel.SelectMatchingCard(tp,cm.filter,tp,LOCATION_HAND+LOCATION_DECK,0,0,1,nil)
-- local g=Duel.GetDecktopGroup(tp,50) if #g>0 then
-- -- LOCATION_DECK local tc=g:GetFirst()
-- Duel.ConfirmCards(tp,g) local chk=tc:IsLocation(LOCATION_HAND)
-- Duel.DisableShuffleCheck() Duel.Sendto(tc,tp,LOCATION_ORDER,POS_FACEUP_ATTACK,REASON_EFFECT)
local p=Duel.SelectMatchingCard(tp,cm.filter,tp,LOCATION_HAND+LOCATION_DECK,0,0,1,nil)
if #p > 0 then
local sp = Group.GetFirst(p)
local a = sp:IsLocation(LOCATION_HAND)
Duel.Sendto(p,tp,LOCATION_ORDER,POS_FACEUP_ATTACK,REASON_EFFECT)
Duel.DisableShuffleCheck()
Duel.ConfirmCards(1-tp,p)
Duel.ShuffleDeck(tp) Duel.ShuffleDeck(tp)
if a then if chk then
Duel.Draw(tp,1,REASON_EFFECT) Duel.Draw(tp,1,REASON_EFFECT)
Duel.ShuffleHand(tp)
end end
else
Duel.ShuffleDeck(tp)
end end
end end
function cm.filter(c) function cm.filter(c)
return c:IsSetCard(0xa040) and c:IsAbleToHand() and c:IsLevelBelow(2) return c:IsSetCard(0xa040) and c:IsAbleToHand() and vgf.IsLevel(c,1)
end end
\ No newline at end of file
...@@ -3,42 +3,26 @@ local cm,m,o=GetID() ...@@ -3,42 +3,26 @@ 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。
local e1=Effect.CreateEffect(c) vgd.EffectTypeContinuousChangeAttack(c,EFFECT_TYPE_SINGLE,5000,cm.con1)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetRange(LOCATION_MZONE)
e1:SetCondition(cm.con1)
e1:SetValue(5000)
c:RegisterEffect(e1)
-- 【自】:通过在「凛然之志 克拉莉萨」上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
function cm.con1(e) function cm.con1(e)
local c=e:GetHandler() local c=e:GetHandler()
local tp=e:GetHandlerPlayer() local tp=e:GetHandlerPlayer()
local a = Duel.IsExistingMatchingCard(vgf.RMonsterFilter,tp,LOCATION_MZONE,0,1,c) return vgf.VMonsterCondition(e) and not Duel.IsExistingMatchingCard(vgf.RMonsterFilter,tp,LOCATION_MZONE,0,1,nil) and Duel.GetTurnPlayer()==tp
if a == true then
a = flase
else
a = true
end
return vgf.VMonsterCondition(e) and a and Duel.GetTurnPlayer()==tp
end end
function cm.con2(e) function cm.con2(e)
local c = e:GetHandler() local c=e:GetHandler()
local g = c:GetMaterial() local g=c:GetMaterial()
return vgf.VMonsterCondition(e) and c:IsSummonType(SUMMON_TYPE_RIDE) and g:IsExists(Card.IsCode,1,nil,10501102) return (c:IsSummonType(SUMMON_TYPE_RIDE) or c:IsSummonType(SUMMON_TYPE_SELFRIDE)) and g:IsExists(Card.IsCode,1,nil,10501102)
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 g=Duel.GetDecktopGroup(tp,7) local g=Duel.GetDecktopGroup(tp,7)
Duel.ConfirmCards(tp,g) Duel.ConfirmCards(tp,g)
Duel.DisableShuffleCheck() Duel.DisableShuffleCheck()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local sg=g:FilterSelect(tp,cm.filter,0,1,nil) local sg=g:FilterSelect(tp,cm.filter,0,1,nil)
Duel.DisableShuffleCheck()
if #sg > 0 then if #sg > 0 then
Duel.SendtoHand(sg,nil,REASON_EFFECT) Duel.SendtoHand(sg,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,sg) Duel.ConfirmCards(1-tp,sg)
...@@ -48,14 +32,8 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -48,14 +32,8 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
for i=1,#g do for i=1,#g do
local dg=Duel.GetDecktopGroup(tp,1) local dg=Duel.GetDecktopGroup(tp,1)
Duel.MoveSequence(dg:GetFirst(),SEQ_DECKBOTTOM) Duel.MoveSequence(dg:GetFirst(),SEQ_DECKBOTTOM)
end end
-- Duel.Remove(c:GetMaterial(),POS_FACEUP,REASON_TEMPORARY)
end end
function cm.filter(c) function cm.filter(c)
return c:IsSetCard(0xb6) and c:IsLevelBelow(2) and c:IsAbleToHand() return c:IsSetCard(0xb6) and c:IsLevelBelow(2) and c:IsAbleToHand()
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)
-- 你的后防者在3张以上的话,这次战斗中,你所有的正在被攻击的单位的力量+15000。 -- 你的后防者在3张以上的话,这次战斗中,你所有的正在被攻击的单位的力量+15000。
vgd.QuickSpell(c,EVENT_MOVE,cm.op,nil,nil) vgd.QuickSpell(c,cm.op)
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 tp=e:GetHandlerPlayer() local b=Duel.IsExistingMatchingCard(vgf.RMonsterFilter,tp,LOCATION_MZONE,0,3,nil)
local b = Duel.IsExistingMatchingCard(vgf.RMonsterFilter,tp,LOCATION_MZONE,0,3,c)
if b then if b then
local a = Duel.GetAttackTarget() local ac=Duel.GetAttackTarget()
vgf.AtkUp(c,a,15000,EVENT_BATTLED) local e1=vgf.AtkUp(c,ac,15000,nil)
vgf.EffectReset(c,e1,EVENT_BATTLED)
end end
end 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