Commit abfb4de5 authored by xiaoye's avatar xiaoye

魔合成+被ride当作+从魂中ride

parent 317c1acb
This diff is collapsed.
...@@ -25,6 +25,9 @@ LOCATION_RIDE =LOCATION_EXTRA ...@@ -25,6 +25,9 @@ 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_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_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"}
--Locations (for redirect) 若在重定向类效果中仅指定LOCATION_DECK则为弹回卡组顶部 --Locations (for redirect) 若在重定向类效果中仅指定LOCATION_DECK则为弹回卡组顶部
LOCATION_DECKBOT =0x10001 --弹回卡组底部 LOCATION_DECKBOT =0x10001 --弹回卡组底部
LOCATION_DECKSHF =0x20001 --弹回卡组并洗牌 LOCATION_DECKSHF =0x20001 --弹回卡组并洗牌
...@@ -860,11 +863,12 @@ FLAG_DAMAGE_TRIGGER =VgID+2 --多次伤害判定标识 ...@@ -860,11 +863,12 @@ FLAG_DAMAGE_TRIGGER =VgID+2 --多次伤害判定标识
FLAG_DEFENSE_ENTIRELY =VgID+3 --完全防御标识 FLAG_DEFENSE_ENTIRELY =VgID+3 --完全防御标识
FLAG_CONDITION =VgID+4 --处于XX状态标识 FLAG_CONDITION =VgID+4 --处于XX状态标识
FLAG_SUPPORT =VgID+5 --支援状态标识 FLAG_SUPPORT =VgID+5 --支援状态标识
FLAG_ATTACK_AT_REAR =VgID+6 --后列攻击 FLAG_SUPPORTED =VgID+6 --被支援
FLAG_IMPRISON =VgID+7 --被收容 FLAG_ATTACK_AT_REAR =VgID+7 --后列攻击
FLAG_SPELL_COUNT_LIMIT =VgID+8 --指令卡次数 FLAG_IMPRISON =VgID+8 --被收容
FLAG_SPELL_USED_COUNT =VgID+9 --指令卡已使用次数 FLAG_SPELL_COUNT_LIMIT =VgID+9 --指令卡次数
FLAG_ALSO_CAN_TRIGGER =VgID+10--后防着也能驱动判定 FLAG_SPELL_USED_COUNT =VgID+10--指令卡已使用次数
FLAG_ALSO_CAN_TRIGGER =VgID+11--后防着也能驱动判定
--AffectedByEffect --AffectedByEffect
AFFECT_CODE_MIX =VgID --魔合成 AFFECT_CODE_MIX =VgID --魔合成
AFFECT_CODE_MIX_DIFFERENT_NAME =VgID+1 --魔合成(卡名不同) AFFECT_CODE_MIX_DIFFERENT_NAME =VgID+1 --魔合成(卡名不同)
......
This diff is collapsed.
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)
vgf.AddRideMaterialCode(c,m,10406013)
vgf.AddRideMaterialSetCard(c,m,0xc014,0x74)
vgd.EffectTypeContinuousChangeAttack(c,EFFECT_TYPE_SINGLE,5000,cm.con)
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)
return e:GetHandler():GetFlagEffect(FLAG_SUPPORTED)>0 and Duel.GetAttacker()==e:GetHandler() and vgf.RMonsterCondition(e)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return vgf.OverlayCost(1)(e,tp,eg,ep,ev,re,r,rp,chk) and vgf.DisCardCost(1)(e,tp,eg,ep,ev,re,r,rp,chk) end
vgf.OverlayCost(1)(e,tp,eg,ep,ev,re,r,rp,chk)
vgf.DisCardCost(1)(e,tp,eg,ep,ev,re,r,rp,chk)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=vgf.GetMatchingGroup(cm.filter,tp,LOCATION_MZONE,0,nil)
Duel.ChangePosition(g,POS_FACEUP_DEFENSE)
for tc in vgf.Next(g) do
tc:RegisterFlagEffect(FLAG_SUPPORT,RESET_EVENT+RESETS_STANDARD,0,1)
end
c:RegisterFlagEffect(FLAG_SUPPORTED,RESET_EVENT+RESETS_STANDARD,0,1)
Duel.RaiseEvent(g,EVENT_CUSTOM+EVENT_SUPPORT,e,0,tp,tp,0)
end
function cm.filter(c)
return c:IsPosition(POS_FACEUP_ATTACK) and c:IsAttribute(SKILL_SUPPORT) and vgf.RMonsterFilter(c)
end
\ No newline at end of file
...@@ -3,7 +3,8 @@ local cm,m,o=GetID() ...@@ -3,7 +3,8 @@ local cm,m,o=GetID()
function cm.initial_effect(c) function cm.initial_effect(c)
vgf.VgCard(c) vgf.VgCard(c)
--【永】:这张卡将要被RIDE之际,这张卡也当做「魔宝龙 道拉珠艾尔德」使用。 --【永】:这张卡将要被RIDE之际,这张卡也当做「魔宝龙 道拉珠艾尔德」使用。
vgf.AddRideMaterialCode(c,m,10407005)
vgf.AddRideMaterialSetCard(c,m,0xc00d,0x75,0xe8)
--【自】【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。
......
...@@ -2,6 +2,8 @@ local cm,m,o=GetID() ...@@ -2,6 +2,8 @@ local cm,m,o=GetID()
function cm.initial_effect(c) function cm.initial_effect(c)
vgf.VgCard(c) vgf.VgCard(c)
--【永】:这张卡将要被RIDE之际,这张卡也当做「朱斯贝克 “破天黎骑”」使用。 --【永】:这张卡将要被RIDE之际,这张卡也当做「朱斯贝克 “破天黎骑”」使用。
vgf.AddRideMaterialCode(c,m,10406010)
vgf.AddRideMaterialSetCard(c,m,0x300d,0x77,0x8a,0x202)
--【反抗舞装】 --【反抗舞装】
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。
......
...@@ -5,11 +5,11 @@ function cm.initial_effect(c) ...@@ -5,11 +5,11 @@ function cm.initial_effect(c)
--通过【费用】[使用1张以上的你希望的张数的卡进行计数爆发]施放! --通过【费用】[使用1张以上的你希望的张数的卡进行计数爆发]施放!
--由于这个费用支付的计数爆发1每有1张,选择对手的1张后防者,退场。 --由于这个费用支付的计数爆发1每有1张,选择对手的1张后防者,退场。
vgd.SpellActivate(c,m,cm.op,cm.cost) vgd.SpellActivate(c,m,cm.op,cm.cost)
cm.cos_from={LOCATION_DAMAGE} VgF.AddMixCostGroupFrom(c,m,"LOCATION_DAMAGE")
cm.cos_to={"POSCHANGE"} VgF.AddMixCostGroupTo(c,m,"POSCHANGE")
cm.cos_val={1} VgF.AddMixCostGroupFilter(c,m,Card.IsFaceup)
cm.cos_val_max={100} VgF.AddMixCostGroupCountMin(c,m,1)
cm.cos_filter={Card.IsFaceup} VgF.AddMixCostGroupCountMax(c,m,100)
end end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local ct=vgf.GetMatchingGroupCount(Card.IsFaceup,tp,LOCATION_DAMAGE,0,nil) local ct=vgf.GetMatchingGroupCount(Card.IsFaceup,tp,LOCATION_DAMAGE,0,nil)
......
...@@ -2,11 +2,11 @@ local cm,m,o=GetID() ...@@ -2,11 +2,11 @@ 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,cm.cost) vgd.SpellActivate(c,m,cm.op,cm.cost)
cm.cos_from={LOCATION_OVERLAY} VgF.AddMixCostGroupFrom(c,m,"LOCATION_OVERLAY")
cm.cos_to={LOCATION_DROP} VgF.AddMixCostGroupTo(c,m,"LOCATION_DROP")
cm.cos_val={1} VgF.AddMixCostGroupFilter(c,m,function (tc) return tc:IsLevel(3) end)
cm.cos_val_max={1} VgF.AddMixCostGroupCountMin(c,m,1)
cm.cos_filter={function (tc) return tc:IsLevel(3) end} VgF.AddMixCostGroupCountMax(c,m,1)
end end
function cm.filter(c,p) function cm.filter(c,p)
return c:IsControler(p) and vgf.RMonsterFilter(c) return c:IsControler(p) and vgf.RMonsterFilter(c)
......
...@@ -4,12 +4,13 @@ local cm,m,o=GetID() ...@@ -4,12 +4,13 @@ local cm,m,o=GetID()
--抽1张卡,将这张卡放置到灵魂里,计数回充1。 --抽1张卡,将这张卡放置到灵魂里,计数回充1。
function cm.initial_effect(c) function cm.initial_effect(c)
vgf.VgCard(c) vgf.VgCard(c)
vgd.SpellActivate(c,m,cm.operation,cm.cost) vgd.SpellActivate(c,m,cm.op,cm.cost)
cm.cos_from={LOCATION_MZONE} VgF.AddMixCostGroupFrom(c,m,"LOCATION_MZONE")
cm.cos_to={LOCATION_DROP} VgF.AddMixCostGroupTo(c,m,"LOCATION_DROP")
cm.cos_val={2} VgF.AddMixCostGroupFilter(c,m,vgf.RMonsterFilter)
cm.cos_val_max={2} VgF.AddMixCostGroupCountMin(c,m,2)
cm.cos_filter={vgf.RMonsterFilter} VgF.AddMixCostGroupCountMax(c,m,2)
end end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return vgf.IsExistingMatchingCard(vgf.RMonsterFilter,tp,LOCATION_MZONE,0,2,nil) end if chk==0 then return vgf.IsExistingMatchingCard(vgf.RMonsterFilter,tp,LOCATION_MZONE,0,2,nil) end
......
...@@ -2,20 +2,22 @@ local cm,m,o=GetID() ...@@ -2,20 +2,22 @@ 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,cm.cost) vgd.SpellActivate(c,m,cm.op,cm.cost)
cm.cos_from={LOCATION_HAND} VgF.AddMixCostGroupFilter(c,m,cm.filter)
cm.cos_to={LOCATION_DROP} VgF.AddMixCostGroupCountMin(c,m,1)
cm.cos_val={1} VgF.AddMixCostGroupCountMax(c,m,1)
cm.cos_val_max={1} VgF.AddMixCostGroupFrom(c,m,"LOCATION_HAND")
cm.cos_filter={cm.filter} VgF.AddMixCostGroupTo(c,m,"LOCATION_DROP")
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,2,REASON_EFFECT) Duel.Draw(tp,2,REASON_EFFECT)
end end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then if chk==0 then
return vgf.IsExistingMatchingCard(cm.filter,tp,LOCATION_HAND,0,1,nil) return vgf.IsExistingMatchingCard(cm.filter,tp,LOCATION_HAND,0,1,nil)
end end
local g=vgf.SelectMatchingCard(HINTMSG_TODROP,tp,cm.filter,tp,LOCATION_HAND,0,1,1,nil) local g=vgf.SelectMatchingCard(HINTMSG_TODROP,e,tp,cm.filter,tp,LOCATION_HAND,0,1,1,nil)
vgf.Sendto(LOCATION_DROP,g,REASON_COST) vgf.Sendto(LOCATION_DROP,g,REASON_COST)
end end
function cm.filter(c) function cm.filter(c)
......
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