Commit 5c64b7d9 authored by jwyxym's avatar jwyxym Committed by GitHub

Merge pull request #16 from Flagsh33p/Flagsh33p-patch-2

四炎之魔宝龙(除拥宝之龙牙)脚本完成
parents 6196534c 8febfd1c
--拥宝之龙牙 道拉珠艾尔德
local cm,m,o=GetID()
function cm.initial_effect(c)
vgf.VgCard(c)
--【永】:这张卡将要被RIDE之际,这张卡也当做「魔宝龙 道拉珠艾尔德」使用。
--【自】【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)
--【永】【R】:这个回合中由于你的卡片的能力的费用同时使用4张以上的卡进行了灵魂爆发的话,这个单位的力量+5000。
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return VgF.VMonsterFilter(e:GetHandler()) and vgf.VMonsterFilter(Duel.GetAttackTarget())
end
function cm.check(sg)
return sg:FilterCount(Card.IsLevel,nil,1)<=1
and sg:FilterCount(Card.IsLevel,nil,2)<=1
and sg:FilterCount(Card.IsLevel,nil,3)<=1
and sg:FilterCount(Card.IsLevel,nil,4)<=1
and sg:FilterCount(Card.IsLevel,nil,5)<=1
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
local g=c:GetOverlayGroup()
if chk==0
then
return g:GetClassCount(Card.GetLevel)>=4
end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVEXYZ)
local sg=g:SelectSubGroup(tp,vgf.True,true,4,4)
Duel.SendtoGrave(sg,REASON_EFFECT)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_ATTACK_FINAL)
e1:SetReset(nil)
e1:SetValue(1)
Duel.GetAttackTarget():RegisterEffect(e1)
if Duel.GetAttackTarget():IsLevelAbove(4)
then
VgF.StarUp(c,c,1,nil)
end
end
--魔石龙 珠艾尼尔
local cm,m,o=GetID()
function cm.initial_effect(c)
vgf.VgCard(c)
--【自】【V/R】:这个单位的攻击击中先导者时,灵魂填充1。
vgd.EffectTypeTriggerWhenHitting(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,cm.operation,nil,cm.condition)
--【自】:这个单位被含有「道拉珠艾尔德」的单位RIDE时,灵魂填充1,你的灵魂里有3张以上的相互不同等级的卡的话,抽1张卡。
vgd.BeRidedByCard(c,m,nil,cm.operation2,nil,condition2)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
Duel.DisableShuffleCheck()
Duel.Overlay(VgF.GetVMonster(tp),Duel.GetDecktopGroup(tp,1))
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return vgf.VMonsterFilter(Duel.GetAttackTarget())
end
function cm.operation2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.DisableShuffleCheck()
Duel.Overlay(c,Duel.GetDecktopGroup(tp,1))
if VgF.GetVMonster(tp):GetOverlayGroup():GetClassCount(Card.GetLevel)>=3
then
Duel.Draw(tp,1,REASON_EFFECT)
end
end
function cm.condition2(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler().IsSetCard(0xe8)
end
--珠宝核龙
local cm,m,o=GetID()
function cm.initial_effect(c)
vgf.VgCard(c)
--【自】:这个单位被「魔石龙 珠艾尼尔」骑升时,将这张卡召唤到RC上。
vgd.BeRidedByCard(c,m,10202002,cm.operation,nil,cm.condition)
--【自】【R】:这个单位攻击或支援时,这次战斗中,这个单位的力量+5000。这次战斗结束时,将这个单位放置到灵魂里。(这个效果为强制执行。)
--没有找到支援时点,仅实现攻击时点
vgd.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.operation2,nil,cm.condition2)
vgd.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_FIELD,EVENT_CUSTOM+EVENT_SUPPORT,cm.operation2,nil,cm.condition3)
--vgd.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,EVENT_BATTLED,cm.operation3,nil,cm.condition2)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
vgf.Call(e:GetHandler():GetMaterial(),0,tp)
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
--这里应该有一条检测被ride的珠宝核龙存在于灵魂之中的判断条件
return true
end
function cm.operation2(e,tp,eg,ep,ev,re,r,rp)
--无法设置重置时点于战斗结束时
local c=e:GetHandler()
VgF.AtkUp(c,c,5000,EVENT_BATTLED)
vgd.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_FIELD,EVENT_BATTLED,cm.operation3)
end
function cm.condition2(e,tp,eg,ep,ev,re,r,rp)
return VgF.RMonsterFilter(e:GetHandler()) and Duel.GetAttacker()==e:GetHandler()
end
function cm.condition3(e,tp,eg,ep,ev,re,r,rp)
return eg:GetFirst()==e:GetHandler()
end
function cm.operation3(e,tp,eg,ep,ev,re,r,rp)
Duel.Overlay(VgF.GetVMonster(tp),e:GetHandler())
end
local cm,m,o=GetID()
function cm.initial_effect(c)
vgf.VgCard(c)
vgd.BeRidedByCard(c,m,nil,cm.operation,nil,cm.condition)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
Duel.Draw(tp,1,REASON_EFFECT)
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return tp==1 and Duel.GetTurnPlayer()==tp
end
\ No newline at end of file
--野蛮侵袭
local cm,m,o=GetID()
function cm.initial_effect(c)
vgf.VgCard(c)
--【自】【R】:这个单位攻击时,你有含有「道拉珠艾尔德」的先导者的话,通过【费用】[计数爆发1],这次战斗中,这个单位的力量+10000。这次战斗结束时,将这个单位放置到灵魂里。
vgd.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,EVENT_ATTACK_ANNOUNCE,cm.operation,VgF.DamageCost(1),cm.condition)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
--无法设置重置时点于战斗结束时
local c=e:GetHandler()
VgF.AtkUp(c,c,10000,EVENT_BATTLED)
vgd.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,EVENT_BATTLED,cm.operation2)
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return VgF.RMonsterFilter(e:GetHandler()) and Duel.GetAttacker()==e:GetHandler() and VgF.GetVMonster(tp):IsSetCard(0xe8)
end
function cm.operation2(e,tp,eg,ep,ev,re,r,rp)
Duel.Overlay(VgF.GetVMonster(tp),e:GetHandler())
end
--神秘手风琴师
local cm,m,o=GetID()
function cm.initial_effect(c)
vgf.VgCard(c)
--【自】:你的RIDE阶段中这张卡被从手牌舍弃时,你可以将这张卡放置到灵魂里。
vgd.EffectTypeTrigger(c,m,LOCATION_GRAVE,EFFECT_TYPE_SINGLE,EVENT_TO_GRAVE,cm.operation,vgf.True,cm.condition)
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsPreviousLocation(LOCATION_HAND) and Duel.GetCurrentPhase()==PHASE_STANDBY
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local rc=Duel.GetMatchingGroup(VgF.VMonsterFilter,tp,LOCATION_MZONE,0,nil):GetFirst()
Duel.Overlay(rc,c)
end
--贪欲堆积者
local cm,m,o=GetID()
function cm.initial_effect(c)
vgf.VgCard(c)
--【自】【R】:这个单位支援等级2以上的单位时,你可以灵魂填充1。
--时点需要改成支援时
vgd.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_FIELD,EVENT_CUSTOM+EVENT_SUPPORT,cm.operation,VgF.True,cm.condition)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
Duel.DisableShuffleCheck()
Duel.Overlay(VgF.GetVMonster(tp),Duel.GetDecktopGroup(tp,1))
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetAttacker():IsLevelAbove(3) and eg:GetFirst()==e:GetHandler()
end
\ No newline at end of file
--恐怖人偶 谢丝汀
local cm,m,o=GetID()
function cm.initial_effect(c)
vgf.VgCard(c)
--【起】【R】【1回合1次】:你有等级3以上的先导者的话,通过【费用】[计数爆发2],抽1张卡。
vgd.EffectTypeIgnition(c,m,LOCATION_MZONE,cm.operation,VgF.DamageCost(2),cm.condition,nil,1)
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return VgF.RMonsterFilter(e:GetHandler()) and VgF.GetVMonster(tp):IsLevelAbove(4)
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
--招来万雷者 弗尔格雷斯
local cm,m,o=GetID()
function cm.initial_effect(c)
vgf.VgCard(c)
--【自】:这个单位登场到R时,你有含有「道拉珠艾尔德」的先导者的话,通过【费用】[灵魂爆发1],选择你的弃牌区中的1张卡,放置到灵魂里,这个回合中,这个单位的力量+2000。
vgd.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation,VgF.OverlayCost(1),cm.condition)
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return VgF.GetVMonster(tp):IsSetCard(0xe8) and VgF.RMonsterFilter(e:GetHandler())
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_XMATERIAL)
local c=e:GetHandler()
local g=Duel.SelectMatchingCard(tp,nil,tp,LOCATION_GRAVE,0,1,1,nil)
if g:GetCount()>0 then
Duel.Overlay(VgF.GetVMonster(tp),g)
end
VgF.AtkUp(c,c,2000,nil)
end
--超声尖叫
local cm,m,o=GetID()
function cm.initial_effect(c)
vgf.VgCard(c)
--【自】:这个单位从手牌登场到R时,通过【费用】[计数爆发1],查看你的牌堆顶的3张卡,选择1张卡,放置到灵魂里,然后牌堆洗切,你的灵魂里有4张以上的相互不同等级的卡的话,抽1张卡。
vgd.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation,VgF.DamageCost(1),cm.condition)
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return VgF.RMonsterFilter(e:GetHandler()) and Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)>=3
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetDecktopGroup(tp,3)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_XMATERIAL)
local sc=g:Select(tp,1,1,nil):GetFirst()
Duel.Overlay(VgF.GetVMonster(tp),sc)
if VgF.GetVMonster(tp):GetOverlayGroup():GetClassCount(Card.GetLevel)>=4
then
Duel.Draw(tp,1,REASON_EFFECT)
end
end
--幽冥之朋友 黎恩
local cm,m,o=GetID()
function cm.initial_effect(c)
vgf.VgCard(c)
--【自】:这个单位登场到R时,查看你的牌堆顶的2张卡,选择1张卡,放置到灵魂里,其余的卡放置到牌堆底。
vgd.EffectTypeTrigger(c,m,LOCATION_MZONE,EFFECT_TYPE_SINGLE,EVENT_SPSUMMON_SUCCESS,cm.operation,nil,cm.condition)
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return VgF.RMonsterFilter(e:GetHandler())
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetDecktopGroup(tp,2)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_XMATERIAL)
Duel.DisableShuffleCheck()
local sc=g:Select(tp,1,1,nil):GetFirst()
Duel.Overlay(VgF.GetVMonster(tp),sc)
local sg=Duel.GetDecktopGroup(tp,1)
Duel.MoveSequence(sg:GetFirst(),SEQ_DECKBOTTOM)
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