Commit 11328b94 authored by nanahira's avatar nanahira

2019.last

parent 14a597a8
#created by ...
#main
11200042
11200049
11200086
11200103
11200104
11200106
11200109
11200209
14000395
26800011
26800012
26800013
26804020
26804021
26806060
26808009
33310100
33310101
33310102
#extra
11200030
11200031
11200032
11200033
11200034
11200047
17070000
26805014
26806061
26808010
!side
#created by ...
#main
65020113
65020115
65020117
65020119
65020132
65020133
65020134
#extra
65020121
65020122
65020123
65020124
65020125
65020126
65020127
65020128
65020129
65020130
65020131
!side
#created by ...
#main
81003005
81008007
81009007
81010006
81010034
81010035
81011042
81011043
81011045
81011046
81012069
81015010
81021013
81021014
81041028
81041029
#extra
81003006
81011006
81011041
81011044
81011047
81012070
81019004
81041030
!side
#created by ...
#main
17060813
17060834
17060835
17060852
17060866
26805005
26805015
26806062
26806063
26809033
26809034
26809035
33310100
33310101
33310102
33310103
33310104
#extra
10900014
17060810
17060811
17060815
17060817
17060863
17060865
17060885
!side
#created by ...
#main
65020154
65020155
65020156
65020157
65020158
65020159
65020160
65020161
65020162
65020168
65020169
65020170
65020171
65020173
65020175
65020177
65030033
65030034
65030035
65030036
65030037
65030038
65030039
65030040
65030041
#extra
65020163
65020164
65020165
65020166
65020167
!side
#created by ...
#main
81006003
81006021
81006028
81006034
81006035
81010022
81010049
81012030
81012035
81013003
81014013
81040036
#extra
75646426
81013021
81017015
81018020
81019021
!side
#created by ...
#main
82206004
82206020
82206023
82206024
......@@ -13,26 +12,6 @@
82206035
82206054
82206055
82228540
82228541
82228542
82228543
82228544
82228545
82228546
82228547
82228548
82228562
82228563
82228564
82228565
82228566
82228567
82228569
82228570
82228571
82228572
82228573
#extra
82206021
82206022
......@@ -42,5 +21,4 @@
82206034
82206036
82206048
82228568
!side
No preview for this file type
......@@ -71,6 +71,7 @@
10919000 0 --叛逆的魔女 花菱
10907000 2 --花寄女子寮
10907001 2 --花寄女子Live
10900014 0 --无限之天使
#111
11113171 2 --小死神
11115008 1 --魔法之御龙士
......@@ -243,6 +244,7 @@
17060882 1 --多莫维依
17060890 1 --电波型主持
17091003 0 --独角兽高达 报丧女妖
17060885 1 --圣夜型多莫维依
#180
18004008 0 --性感手枪拔枪术
18005010 0 --封锁的拟魂
......@@ -336,6 +338,8 @@
26809026 0 --Precious Sword
26810010 2 --无限冲击·如月千早
26805014 0 --哥特风·杜野凛世
26809034 2 --Nightmare
26805005 2 --心结·风野灯织
#300
30000200 0 --暗魔力的爆发
#305
......@@ -385,6 +389,8 @@
33330601 1 --相对性理论武装
33330602 1 --相对性理性缺失
33330107 1 --造神计划7 赤游鱼
33310101 1 --恶魔的提线魔术
33310102 2 --睡美人的小憇
#334
33400037 1 --D.A.L-时崎狂三-ALTER
......@@ -397,20 +403,21 @@
33400003 1 --时崎狂三 献身者
33400004 1 --时崎狂三 中二
33400005 1 --时崎狂三 无言之影
33400006 1 --时崎狂三-战斗启幕者
33400006 0 --时崎狂三-战斗启幕者
33400007 2 --时崎狂三-祈福
33400014 1 --时崎狂三 奇袭
33400100 1 --刻刻帝-喰时之城
33400100 0 --刻刻帝-喰时之城
33400104 1 --刻刻帝 「四之弹」
33400106 1 --刻刻帝 「六之弹」
33400108 1 --刻刻帝 「八之弹」
33400113 1 --天使-刻刻帝
33400114 1 --遥不可及的幸福
33400113 0 --天使-刻刻帝
33400114 0 --遥不可及的幸福
33400351 0 --魔王-暴虐公(月面卡待补胜利龙卡密)
33401201 1 --升阶魔法-灵结晶吸收
33400403 2 --鸢一折纸 祈福
33400425 2 --AST 鸢一折纸 过往
33400011 1 --时崎狂三 婚纱
33400013 1 --时崎狂三 校服
#337
33700036 0 --Protoform 咲夜
33700040 0 --绝对的妖精 李斯特
......@@ -468,6 +475,7 @@
37564810 2 --3L·WARNING!!
37564817 2 --3L·随花起舞
37564818 1 --3L·Time Machine
37564828 0 --3L·花开艳丽终将凋落
37564848 2 --3L·不可思议的梦幻
37564853 1 --3L·Apparition Lover
37564902 1 --Sayuri-GRAZE
......@@ -643,6 +651,7 @@
65010127 1 --『星光歌剧』台本-约定Revue
65010022 0 --水晶之歌 凑友希那
65010056 0 --幻梦迷境王将 普芙蕾
65020163 2 --幻世绘本-扉页-
#650-2
65011001 1 --时终流的溯行者
65020008 2 --幻念的华瑕
......@@ -682,7 +691,7 @@
69691901 0 --探索安戈洛
#756
75646404 2 --戏言 鹿乃
75646404 1 --戏言 鹿乃
75646414 1 --Sweet Ice Cream 鹿乃
75646137 2 --幻海的祈灵者
75646159 0 --崩坏神格 樱华
......@@ -701,6 +710,9 @@
75646061 1 --崩坏第一女主角 琪亚娜
75646534 0 --神权 安洁利亚
75646900 1 --变色龙发卡
75646401 1 --Nowhere 鹿乃
75646418 2 --Day by Day 鹿乃
75646423 2 --Hope 鹿乃
#761
76121011 0 --记忆森林-艾琳
......@@ -744,7 +756,7 @@
81040037 1 --冬日回忆·周子
81040019 1 --周子·红叶秋风
81041016 2 --那一片真实的天空
81041024 1 --国见洸太郎 & 四条凛香
81041024 2 --国见洸太郎 & 四条凛香
81014004 2 --康娜卡姆依
81014011 2 --见习OL 艾露玛
81011008 2 --薇薇安·伊文捷琳 ω
......
expansions/pics/26805005.jpg

47.3 KB | W: | H:

expansions/pics/26805005.jpg

88.4 KB | W: | H:

expansions/pics/26805005.jpg
expansions/pics/26805005.jpg
expansions/pics/26805005.jpg
expansions/pics/26805005.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/81006003.jpg

51 KB | W: | H:

expansions/pics/81006003.jpg

70.6 KB | W: | H:

expansions/pics/81006003.jpg
expansions/pics/81006003.jpg
expansions/pics/81006003.jpg
expansions/pics/81006003.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/81006021.jpg

57.1 KB | W: | H:

expansions/pics/81006021.jpg

57.7 KB | W: | H:

expansions/pics/81006021.jpg
expansions/pics/81006021.jpg
expansions/pics/81006021.jpg
expansions/pics/81006021.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/81006028.jpg

60.1 KB | W: | H:

expansions/pics/81006028.jpg

60.8 KB | W: | H:

expansions/pics/81006028.jpg
expansions/pics/81006028.jpg
expansions/pics/81006028.jpg
expansions/pics/81006028.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/81006034.jpg

78.8 KB | W: | H:

expansions/pics/81006034.jpg

76.8 KB | W: | H:

expansions/pics/81006034.jpg
expansions/pics/81006034.jpg
expansions/pics/81006034.jpg
expansions/pics/81006034.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/81006035.jpg

69.7 KB | W: | H:

expansions/pics/81006035.jpg

58.8 KB | W: | H:

expansions/pics/81006035.jpg
expansions/pics/81006035.jpg
expansions/pics/81006035.jpg
expansions/pics/81006035.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/81010022.jpg

54.1 KB | W: | H:

expansions/pics/81010022.jpg

53.4 KB | W: | H:

expansions/pics/81010022.jpg
expansions/pics/81010022.jpg
expansions/pics/81010022.jpg
expansions/pics/81010022.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/81010049.jpg

56.8 KB | W: | H:

expansions/pics/81010049.jpg

64.8 KB | W: | H:

expansions/pics/81010049.jpg
expansions/pics/81010049.jpg
expansions/pics/81010049.jpg
expansions/pics/81010049.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/81012030.jpg

55.9 KB | W: | H:

expansions/pics/81012030.jpg

49.1 KB | W: | H:

expansions/pics/81012030.jpg
expansions/pics/81012030.jpg
expansions/pics/81012030.jpg
expansions/pics/81012030.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/81012035.jpg

56.7 KB | W: | H:

expansions/pics/81012035.jpg

59.2 KB | W: | H:

expansions/pics/81012035.jpg
expansions/pics/81012035.jpg
expansions/pics/81012035.jpg
expansions/pics/81012035.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/81013003.jpg

66.5 KB | W: | H:

expansions/pics/81013003.jpg

66.1 KB | W: | H:

expansions/pics/81013003.jpg
expansions/pics/81013003.jpg
expansions/pics/81013003.jpg
expansions/pics/81013003.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/81013021.jpg

47.4 KB | W: | H:

expansions/pics/81013021.jpg

74.5 KB | W: | H:

expansions/pics/81013021.jpg
expansions/pics/81013021.jpg
expansions/pics/81013021.jpg
expansions/pics/81013021.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/81014013.jpg

68.1 KB | W: | H:

expansions/pics/81014013.jpg

71.5 KB | W: | H:

expansions/pics/81014013.jpg
expansions/pics/81014013.jpg
expansions/pics/81014013.jpg
expansions/pics/81014013.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/81017015.jpg

69.5 KB | W: | H:

expansions/pics/81017015.jpg

69.6 KB | W: | H:

expansions/pics/81017015.jpg
expansions/pics/81017015.jpg
expansions/pics/81017015.jpg
expansions/pics/81017015.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/81018020.jpg

64.3 KB | W: | H:

expansions/pics/81018020.jpg

64.9 KB | W: | H:

expansions/pics/81018020.jpg
expansions/pics/81018020.jpg
expansions/pics/81018020.jpg
expansions/pics/81018020.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/81019021.jpg

54.7 KB | W: | H:

expansions/pics/81019021.jpg

62.4 KB | W: | H:

expansions/pics/81019021.jpg
expansions/pics/81019021.jpg
expansions/pics/81019021.jpg
expansions/pics/81019021.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/81040036.jpg

63.3 KB | W: | H:

expansions/pics/81040036.jpg

59.8 KB | W: | H:

expansions/pics/81040036.jpg
expansions/pics/81040036.jpg
expansions/pics/81040036.jpg
expansions/pics/81040036.jpg
  • 2-up
  • Swipe
  • Onion skin
--やぶ蛇
function c10813327.initial_effect(c)
--special summon
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(10813327,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_TO_GRAVE)
e1:SetCondition(c10813327.spcon)
e1:SetTarget(c10813327.sptg)
e1:SetOperation(c10813327.spop)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EVENT_REMOVE)
c:RegisterEffect(e2)
end
function c10813327.spcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:IsReason(REASON_EFFECT) and rp==1-tp and c:GetPreviousControler()==tp
and c:IsPreviousLocation(LOCATION_ONFIELD) and c:IsPreviousPosition(POS_FACEDOWN)
end
function c10813327.spfilter(c,e,tp)
forced_to_extra[tp]=true
local ft=Duel.GetLocationCountFromEx(tp)
forced_to_extra[tp]=false
return c:IsCanBeSpecialSummoned(e,0,tp,false,false) and (not c:IsLocation(LOCATION_EXTRA) or (c:IsFacedown() and c:IsType(TYPE_FUSION+TYPE_SYNCHRO+TYPE_XYZ)) or ft>0)
end
function c10813327.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
local loc=0
if Duel.GetLocationCount(tp,LOCATION_MZONE)>0 then loc=loc+LOCATION_DECK end
if Duel.GetLocationCountFromEx(tp)>0 then loc=loc+LOCATION_EXTRA end
return loc~=0 and Duel.IsExistingMatchingCard(c10813327.spfilter,tp,loc,0,1,nil,e,tp)
end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK+LOCATION_EXTRA)
end
function c10813327.spop(e,tp,eg,ep,ev,re,r,rp)
local loc=0
if Duel.GetLocationCount(tp,LOCATION_MZONE)>0 then loc=loc+LOCATION_DECK end
if Duel.GetLocationCountFromEx(tp)>0 then loc=loc+LOCATION_EXTRA end
if loc==0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c10813327.spfilter,tp,loc,0,1,1,nil,e,tp)
if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
end
--I
function c10900014.initial_effect(c)
--link summon
aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkAttribute,ATTRIBUTE_DARK),2)
c:EnableReviveLimit()
--atk
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_DISCARD)
e1:SetRange(LOCATION_MZONE)
e1:SetCondition(c10900014.con)
e1:SetOperation(c10900014.op)
c:RegisterEffect(e1)
--dis
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(10900014,0))
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetCategory(CATEGORY_HANDES)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetRange(LOCATION_MZONE)
e2:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e2:SetCountLimit(1,10900014)
e2:SetTarget(c10900014.distg)
e2:SetOperation(c10900014.disop)
c:RegisterEffect(e2)
end
function c10900014.filter(c,tp)
return c:GetOwner()==tp
end
function c10900014.con(e,tp,eg,ep,ev,re,r,rp)
return eg:FilterCount(c10900014.filter,nil,tp)>0
end
function c10900014.op(e,tp,eg,ep,ev,re,r,rp)
if eg:FilterCount(c10900014.filter,nil,tp)>0 then
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_ATTACK)
e1:SetValue(e:GetHandler():GetAttack()*2)
e1:SetReset(RESET_EVENT+0xff0000)
e:GetHandler():RegisterEffect(e1)
end
end
function c10900014.distg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsControler(tp) and chkc:IsLocation(LOCATION_ONFIELD) and chkc:IsFaceup() end
if chk==0 then return Duel.IsExistingTarget(Card.IsFaceup,tp,LOCATION_ONFIELD,0,1,e:GetHandler()) and Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
Duel.SelectTarget(tp,Card.IsFaceup,tp,LOCATION_ONFIELD,0,1,1,e:GetHandler())
Duel.SetOperationInfo(0,CATEGORY_HANDES,nil,0,tp,1)
end
function c10900014.disop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DISCARD)
local cg=Duel.SelectMatchingCard(tp,Card.IsDiscardable,tp,LOCATION_HAND,0,1,1,nil)
if cg:GetCount()==0 then return end
Duel.SendtoGrave(cg,REASON_EFFECT+REASON_DISCARD)
local tc=Duel.GetFirstTarget()
if tc:IsFaceup() and c:IsFaceup() and tc:IsRelateToEffect(e) and c:IsRelateToEffect(e) then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE+EFFECT_FLAG_CANNOT_DISABLE)
e1:SetRange(LOCATION_ONFIELD)
e1:SetCode(EFFECT_IMMUNE_EFFECT)
e1:SetValue(c10900014.efilter)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e1)
local e2=e1:Clone()
c:RegisterEffect(e2)
end
end
function c10900014.efilter(e,te)
return te:GetOwner()~=e:GetOwner()
end
--転生炎獣の聖域
function c1295111.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
c:RegisterEffect(e1)
--extra material
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(1295111,0))
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetProperty(EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_IGNORE_IMMUNE)
e2:SetCode(EFFECT_SPSUMMON_PROC)
e2:SetRange(LOCATION_EXTRA)
e2:SetCondition(c1295111.linkcon)
e2:SetOperation(c1295111.linkop)
e2:SetValue(SUMMON_TYPE_LINK)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_GRANT)
e3:SetRange(LOCATION_FZONE)
e3:SetTargetRange(LOCATION_EXTRA,0)
e3:SetTarget(c1295111.mattg)
e3:SetLabelObject(e2)
c:RegisterEffect(e3)
--recover
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(1295111,1))
e4:SetCategory(CATEGORY_ATKCHANGE+CATEGORY_RECOVER)
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e4:SetProperty(EFFECT_FLAG_CARD_TARGET)
e4:SetRange(LOCATION_FZONE)
e4:SetCode(EVENT_PRE_DAMAGE_CALCULATE)
e4:SetCountLimit(1,1295111)
e4:SetCondition(c1295111.atkcon)
e4:SetCost(c1295111.atkcost)
e4:SetTarget(c1295111.atktg)
e4:SetOperation(c1295111.atkop)
c:RegisterEffect(e4)
end
function c1295111.lmfilter(c,lc,tp,og,lmat)
return c:IsFaceup() and c:IsCanBeLinkMaterial(lc) and c:IsLinkCode(lc:GetCode()) and c:IsLinkType(TYPE_LINK)
and Duel.GetLocationCountFromEx(tp,tp,c,lc)>0 and aux.MustMaterialCheck(c,tp,EFFECT_MUST_BE_LMATERIAL)
and (not og or og:IsContains(c)) and (not lmat or lmat==c)
end
function c1295111.linkcon(e,c,og,lmat,min,max)
if c==nil then return true end
local tp=c:GetControler()
return Duel.IsExistingMatchingCard(c1295111.lmfilter,tp,LOCATION_MZONE,0,1,nil,c,tp,og,lmat)
and Duel.GetFlagEffect(tp,1295111)==0
end
function c1295111.linkop(e,tp,eg,ep,ev,re,r,rp,c,og,lmat,min,max)
local mg=Duel.SelectMatchingCard(tp,c1295111.lmfilter,tp,LOCATION_MZONE,0,1,1,nil,c,tp,og,lmat)
c:SetMaterial(mg)
Duel.SendtoGrave(mg,REASON_MATERIAL+REASON_LINK)
Duel.RegisterFlagEffect(tp,1295111,RESET_PHASE+PHASE_END,0,1)
forced_to_extra[tp]=true
end
function c1295111.mattg(e,c)
return c:IsSetCard(0x119) and c:IsType(TYPE_LINK)
end
function c1295111.atkcon(e,tp,eg,ep,ev,re,r,rp)
local a=Duel.GetAttacker()
if a:IsControler(1-tp) then a=Duel.GetAttackTarget() end
return a
end
function c1295111.atkcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckLPCost(tp,1000) end
Duel.PayLPCost(tp,1000)
end
function c1295111.atkfilter(c)
return c:IsFaceup() and c:IsType(TYPE_LINK) and not c:IsAttack(0)
end
function c1295111.atktg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c1295111.atkfilter(chkc) end
if chk==0 then return Duel.IsExistingTarget(c1295111.atkfilter,tp,LOCATION_MZONE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
local g=Duel.SelectTarget(tp,c1295111.atkfilter,tp,LOCATION_MZONE,0,1,1,nil)
local rec=g:GetFirst():GetBaseAttack()
Duel.SetTargetParam(rec)
Duel.SetOperationInfo(0,CATEGORY_RECOVER,nil,0,tp,rec)
end
function c1295111.atkop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc and tc:IsRelateToEffect(e) and tc:IsFaceup() then
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_ATTACK_FINAL)
e1:SetValue(0)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1)
Duel.Recover(tp,tc:GetBaseAttack(),REASON_EFFECT)
end
end
--圣枪型佣兵亚瑟
local m=17060810
local cm=_G["c"..m]
function cm.initial_effect(c)
--pendulum summon
aux.EnablePendulumAttribute(c,false)
--xyz summon
aux.AddXyzProcedure(c,aux.FilterBoolFunction(Card.IsRace,RACE_WARRIOR),4,2)
c:EnableReviveLimit()
--special summon
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_SPSUMMON_PROC)
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE)
e1:SetRange(LOCATION_PZONE)
e1:SetCountLimit(1,17060810)
e1:SetCondition(cm.spcon)
e1:SetOperation(cm.spop)
c:RegisterEffect(e1)
--tohand
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e2:SetDescription(aux.Stringid(17060810,0))
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetCountLimit(1)
e2:SetRange(LOCATION_MZONE)
e2:SetCost(cm.thcost)
e2:SetTarget(cm.thtg)
e2:SetOperation(cm.thop)
c:RegisterEffect(e2)
--to hand
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_TOHAND)
e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetRange(LOCATION_MZONE)
e3:SetProperty(EFFECT_FLAG_CARD_TARGET)
e3:SetCost(cm.thhcost)
e3:SetTarget(cm.thhtg)
e3:SetOperation(cm.thhop)
c:RegisterEffect(e3)
end
cm.pendulum_level=4
function cm.mfilter(c)
return c:IsType(TYPE_PENDULUM) and c:IsCanOverlay()
end
function cm.spcon(e,c)
if c==nil then return true end
local tp=c:GetControler()
return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
and Duel.IsExistingMatchingCard(cm.mfilter,tp,LOCATION_MZONE,0,1,nil) and Duel.GetFlagEffect(tp,17060810)==0
end
function cm.mfilter1(c)
return c:IsSetCard(0x17f0) and c:IsType(TYPE_PENDULUM) and c:IsCanOverlay()
end
function cm.spop(e,tp,eg,ep,ev,re,r,rp,c)
Duel.RegisterFlagEffect(tp,17060810,RESET_PHASE+PHASE_END,0,1)
local g=Duel.GetMatchingGroup(cm.mfilter,tp,LOCATION_MZONE,0,nil)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_XMATERIAL)
local mg=g:Select(tp,1,1,nil)
Duel.Overlay(c,mg)
local g1=Duel.GetMatchingGroup(aux.NecroValleyFilter(cm.mfilter1),tp,LOCATION_GRAVE,0,nil)
if mg:GetFirst():IsSetCard(0x7f0) and g1:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(17060810,2)) then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_XMATERIAL)
local mg1=g1:Select(tp,1,1,nil)
Duel.Overlay(c,mg1)
end
end
function cm.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,2,REASON_COST) end
e:GetHandler():RemoveOverlayCard(tp,2,2,REASON_COST)
end
function cm.thfilter(c)
return c:IsSetCard(0x7f0) and c:IsAbleToHand()
end
function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.thfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function cm.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,cm.thfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
function cm.thhcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsReleasable() end
Duel.Release(e:GetHandler(),REASON_COST)
end
function cm.thhfilter(c)
return c:IsType(TYPE_PENDULUM) and c:IsAbleToHand()
end
function cm.thhtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsOnField() and chkc:IsControler(1-tp) and chkc:IsAbleToHand() end
if chk==0 then return Duel.IsExistingTarget(cm.thhfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,e:GetHandler()) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RTOHAND)
local g=Duel.SelectTarget(tp,cm.thhfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,e:GetHandler())
Duel.SetOperationInfo(0,CATEGORY_TOHAND,g,1,0,0)
end
function cm.pcfilter(c)
return c:IsFaceup() and c:IsType(TYPE_PENDULUM) and not c:IsForbidden()
end
function cm.thhop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then
Duel.SendtoHand(tc,nil,REASON_EFFECT)
end
if not Duel.CheckLocation(tp,LOCATION_PZONE,0) and not Duel.CheckLocation(tp,LOCATION_PZONE,1) then return end
local g=Duel.GetMatchingGroup(cm.pcfilter,tp,LOCATION_EXTRA,0,nil)
if tc:IsSetCard(0x7f0) and g:GetCount()>0
and Duel.SelectYesNo(tp,aux.Stringid(17060810,3)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD)
local mg=g:Select(tp,1,1,nil)
Duel.BreakEffect()
Duel.MoveToField(mg:GetFirst(),tp,tp,LOCATION_SZONE,POS_FACEUP,true)
end
end
\ No newline at end of file
--圣夜型富豪亚瑟
local m=17060811
local cm=_G["c"..m]
function cm.initial_effect(c)
--pendulum summon
aux.EnablePendulumAttribute(c,false)
--fusion material
c:EnableReviveLimit()
aux.AddFusionProcFun2(c,aux.FilterBoolFunction(Card.IsFusionSetCard,0x27f0),aux.FilterBoolFunction(Card.IsFusionType,TYPE_PENDULUM),true)
--negate
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_CHAIN_SOLVING)
e1:SetRange(LOCATION_PZONE)
e1:SetCountLimit(1)
e1:SetCondition(cm.negcon)
e1:SetOperation(cm.negop)
c:RegisterEffect(e1)
--indes
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetRange(LOCATION_MZONE)
e2:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
e2:SetValue(1)
c:RegisterEffect(e2)
--destroy
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(17060811,0))
e3:SetCategory(CATEGORY_DESTROY+CATEGORY_DAMAGE)
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetProperty(EFFECT_FLAG_CARD_TARGET)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1)
e3:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e3:SetTarget(cm.destg)
e3:SetOperation(cm.desop)
c:RegisterEffect(e3)
--pendulum
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(17060811,1))
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e4:SetCode(EVENT_DESTROYED)
e4:SetProperty(EFFECT_FLAG_DELAY)
e4:SetCondition(cm.pencon)
e4:SetTarget(cm.pentg)
e4:SetOperation(cm.penop)
c:RegisterEffect(e4)
end
function cm.negcon(e,tp,eg,ep,ev,re,r,rp)
local loc=Duel.GetChainInfo(ev,CHAININFO_TRIGGERING_LOCATION)
return rp==1-tp and bit.band(loc,LOCATION_SZONE)~=0
and re:IsActiveType(TYPE_SPELL+TYPE_TRAP) and Duel.IsChainDisablable(ev)
end
function cm.negop(e,tp,eg,ep,ev,re,r,rp)
Duel.NegateEffect(ev)
end
function cm.destg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsOnField() and chkc:IsType(TYPE_PENDULUM) end
if chk==0 then return Duel.IsExistingTarget(Card.IsType,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,e:GetHandler(),TYPE_PENDULUM) end
Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription())
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g=Duel.SelectTarget(tp,Card.IsType,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,e:GetHandler(),TYPE_PENDULUM)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,1,1-tp,g:GetFirst():GetLeftScale()*300)
end
function cm.desop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
local ls=tc:GetLeftScale()
if tc:IsRelateToEffect(e) and Duel.Destroy(tc,REASON_EFFECT)~=0 then
Duel.Damage(1-tp,ls*300,REASON_EFFECT)
end
end
function cm.pencon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:IsPreviousLocation(LOCATION_MZONE) and c:IsFaceup()
end
function cm.pentg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckLocation(tp,LOCATION_PZONE,0) or Duel.CheckLocation(tp,LOCATION_PZONE,1) end
end
function cm.penop(e,tp,eg,ep,ev,re,r,rp)
if not Duel.CheckLocation(tp,LOCATION_PZONE,0) and not Duel.CheckLocation(tp,LOCATION_PZONE,1) then return false end
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
Duel.MoveToField(c,tp,tp,LOCATION_SZONE,POS_FACEUP,true)
end
end
\ No newline at end of file
--追忆型盗贼亚瑟
local m=17060813
local cm=_G["c"..m]
function cm.initial_effect(c)
c:EnableReviveLimit()
--pendulum summon
aux.EnablePendulumAttribute(c)
--special
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(17060813,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_PZONE)
e1:SetCountLimit(1,17060813)
e1:SetCost(cm.spcost)
e1:SetTarget(cm.sptg)
e1:SetOperation(cm.spop)
c:RegisterEffect(e1)
--atk up
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(17060811,1))
e3:SetCategory(CATEGORY_ATKCHANGE)
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetProperty(EFFECT_FLAG_CARD_TARGET)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1)
e3:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e3:SetTarget(cm.atktg)
e3:SetOperation(cm.atkop)
c:RegisterEffect(e3)
--destroy
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(17060811,2))
e4:SetCategory(CATEGORY_DESTROY)
e4:SetType(EFFECT_TYPE_QUICK_O)
e4:SetRange(LOCATION_MZONE)
e4:SetCode(EVENT_BECOME_TARGET)
e4:SetCondition(cm.descon)
e4:SetTarget(cm.destg)
e4:SetOperation(cm.desop)
c:RegisterEffect(e4)
end
function cm.cfilter(c,e,tp)
return c:IsType(TYPE_MONSTER) and c:IsCanBeSpecialSummoned(e,0,1-tp,false,false,POS_FACEUP_DEFENSE) and not c:IsPublic()
end
function cm.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.cfilter,tp,LOCATION_HAND,0,1,e:GetHandler(),e,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONFIRM)
local g=Duel.SelectMatchingCard(tp,cm.cfilter,tp,LOCATION_HAND,0,1,1,e:GetHandler(),e,tp)
Duel.ConfirmCards(1-tp,g)
Duel.ShuffleHand(tp)
e:SetLabelObject(g:GetFirst())
end
function cm.spfilter(c,e,tp)
return c:IsSetCard(0x47f0) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_DEFENSE)
end
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.GetLocationCount(1-tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(cm.spfilter,tp,LOCATION_DECK+LOCATION_HAND,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK+LOCATION_HAND)
end
function cm.spop(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetLabelObject()
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
local g=Duel.GetMatchingGroup(cm.spfilter,tp,LOCATION_DECK+LOCATION_HAND,0,nil,e,tp)
if g:GetCount()>0 and Duel.SpecialSummon(tc,0,tp,1-tp,false,false,POS_FACEUP)~=0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local mg=g:Select(tp,1,1,nil)
Duel.SpecialSummon(mg,0,tp,tp,false,false,POS_FACEUP)
end
end
function cm.atktg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsOnField() and chkc:IsFaceup() end
if chk==0 then return Duel.IsExistingTarget(Card.IsFaceup,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
local g=Duel.SelectTarget(tp,Card.IsFaceup,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_ATKCHANGE,g,1,0,0)
end
function cm.atkop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if tc and c:IsRelateToEffect(e) and c:IsFaceup() then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(1000)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1)
end
end
function cm.descon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsContains(e:GetHandler())
end
function cm.destg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_DESTROY,nil,1,0,LOCATION_ONFIELD)
end
function cm.desop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g=Duel.SelectMatchingCard(tp,aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil)
if g:GetCount()>0 then
Duel.HintSelection(g)
Duel.Destroy(g,REASON_EFFECT)
end
end
\ No newline at end of file
--新春型佣兵亚瑟
function c17060815.initial_effect(c)
local m=17060815
local cm=_G["c"..m]
function cm.initial_effect(c)
--xyz summon
aux.AddXyzProcedure(c,aux.FilterBoolFunction(Card.IsType,TYPE_PENDULUM),7,2)
aux.AddXyzProcedure(c,nil,7,2)
c:EnableReviveLimit()
--pendulum summon
aux.EnablePendulumAttribute(c,false)
......@@ -12,155 +14,108 @@ function c17060815.initial_effect(c)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_PZONE)
e1:SetCountLimit(1,17060815)
e1:SetCondition(c17060815.spcon)
e1:SetTarget(c17060815.sptg)
e1:SetOperation(c17060815.spop)
e1:SetTarget(cm.sptg)
e1:SetOperation(cm.spop)
c:RegisterEffect(e1)
--search
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(17060815,1))
e2:SetCategory(CATEGORY_SEARCH+CATEGORY_TOHAND)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetCondition(c17060815.regcon)
e2:SetTarget(c17060815.regtg)
e2:SetOperation(c17060815.regop)
c:RegisterEffect(e2)
--destroy
--atkup and remove
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(17060815,2))
e3:SetCategory(CATEGORY_DESTROY+CATEGORY_ATKCHANGE)
e3:SetDescription(aux.Stringid(17060815,1))
e3:SetCategory(CATEGORY_ATKCHANGE+CATEGORY_REMOVE)
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetCountLimit(1,170608151)
e3:SetProperty(EFFECT_FLAG_CARD_TARGET)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetRange(LOCATION_MZONE)
e3:SetCondition(c17060815.descon)
e3:SetCost(c17060815.descost)
e3:SetTarget(c17060815.destg)
e3:SetOperation(c17060815.desop)
e3:SetCountLimit(1)
e3:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e3:SetCost(cm.atkcost)
e3:SetTarget(cm.atktg)
e3:SetOperation(cm.atkop)
c:RegisterEffect(e3)
--pendulum
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(17060815,3))
e4:SetDescription(aux.Stringid(17060815,2))
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e4:SetCode(EVENT_DESTROYED)
e4:SetProperty(EFFECT_FLAG_DELAY)
e4:SetCondition(c17060815.pencon)
e4:SetTarget(c17060815.pentg)
e4:SetOperation(c17060815.penop)
e4:SetCondition(cm.pencon)
e4:SetTarget(cm.pentg)
e4:SetOperation(cm.penop)
c:RegisterEffect(e4)
end
c17060815.pendulum_level=7
c17060815.is_named_with_Mercenary_Arthur=1
c17060815.is_named_with_Million_Arthur=1
function c17060815.Mercenary_Arthur(c)
cm.pendulum_level=7
cm.is_named_with_Mercenary_Arthur=1
cm.is_named_with_Million_Arthur=1
function cm.Mercenary_Arthur(c)
local m=_G["c"..c:GetCode()]
return m and m.is_named_with_Mercenary_Arthur
end
function c17060815.IsMillion_Arthur(c)
function cm.IsMillion_Arthur(c)
local m=_G["c"..c:GetCode()]
return m and m.is_named_with_Million_Arthur
end
function c17060815.spcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(nil,tp,LOCATION_PZONE,0,1,e:GetHandler())
function cm.xyzfilter(c,e,tp)
return c:IsSetCard(0x17f0) and e:GetHandler():IsCanBeXyzMaterial(c)
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_XYZ,tp,false,false)
end
function c17060815.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetMZoneCount(tp)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCountFromEx(tp,tp,e:GetHandler())>0
and aux.MustMaterialCheck(e:GetHandler(),tp,EFFECT_MUST_BE_XMATERIAL)
and Duel.IsExistingMatchingCard(cm.xyzfilter,tp,LOCATION_EXTRA,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end
function c17060815.mfilter(c)
return c:IsType(TYPE_PENDULUM)
end
function c17060815.spop(e,tp,eg,ep,ev,re,r,rp)
function cm.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)>0 then
local g=Duel.GetMatchingGroup(c17060815.mfilter,tp,LOCATION_GRAVE,0,e:GetHandler())
if g:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(17060815,4)) then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_XMATERIAL)
local mg=g:Select(tp,1,1,nil)
if mg:GetFirst():IsHasEffect(EFFECT_NECRO_VALLEY) then return end
Duel.Overlay(c,mg)
if Duel.GetLocationCountFromEx(tp,tp,c)<=0 or not aux.MustMaterialCheck(c,tp,EFFECT_MUST_BE_XMATERIAL) then return end
if c:IsFacedown() or not c:IsRelateToEffect(e) or c:IsControler(1-tp) or c:IsImmuneToEffect(e) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,cm.xyzfilter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp)
local sc=g:GetFirst()
if sc then
local mg=c:GetOverlayGroup()
if mg:GetCount()~=0 then
Duel.Overlay(sc,mg)
end
sc:SetMaterial(Group.FromCards(c))
Duel.Overlay(sc,Group.FromCards(c))
Duel.SpecialSummon(sc,SUMMON_TYPE_XYZ,tp,tp,false,false,POS_FACEUP)
sc:CompleteProcedure()
end
end
function c17060815.regcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_XYZ)
end
function c17060815.regtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsType,tp,LOCATION_DECK,0,1,nil,TYPE_PENDULUM) end
end
function c17060815.regop(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetCountLimit(1)
e1:SetCondition(c17060815.thcon)
e1:SetOperation(c17060815.thop)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
function c17060815.thfilter(c)
return c:IsType(TYPE_PENDULUM) and c:IsAbleToHand()
end
function c17060815.thcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(c17060815.thfilter,tp,LOCATION_DECK,0,1,nil)
end
function c17060815.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_CARD,0,17060815)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c17060815.thfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
function c17060815.descost(e,tp,eg,ep,ev,re,r,rp,chk)
function cm.atkcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end
e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST)
end
function c17060815.descon(e,tp,eg,ep,ev,re,r,rp)
local ph=Duel.GetCurrentPhase()
return (ph==PHASE_MAIN1 or ph==PHASE_MAIN2) and
e:GetHandler():GetOverlayGroup():IsExists(Card.IsType,1,nil,TYPE_PENDULUM) and
e:GetHandler():GetOverlayGroup():IsExists(Card.IsType,1,nil,TYPE_XYZ)
end
function c17060815.filter(c)
return c:IsType(TYPE_MONSTER)
end
function c17060815.destg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) end
if chk==0 then return Duel.IsExistingTarget(c17060815.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g=Duel.SelectTarget(tp,c17060815.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil)
function cm.atktg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsOnField() and chkc:IsFaceup() end
if chk==0 then return Duel.IsExistingTarget(Card.IsFaceup,tp,0,LOCATION_MZONE,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
local g=Duel.SelectTarget(tp,Card.IsFaceup,tp,0,LOCATION_MZONE,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0)
end
function c17060815.desop(e,tp,eg,ep,ev,re,r,rp)
function cm.atkop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
local atk=tc:GetTextAttack()
if tc:IsRelateToEffect(e) then
if Duel.Destroy(tc,REASON_EFFECT)~=0 and c:IsFaceup() then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_COPY_INHERIT)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(atk)
e1:SetReset(RESET_EVENT+0x1ff0000+RESET_PHASE+PHASE_END)
c:RegisterEffect(e1)
end
if tc and c:IsRelateToEffect(e) and c:IsFaceup() then
local atk=tc:GetAttack()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(atk)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
c:RegisterEffect(e1)
end
if e:GetHandler():GetOverlayGroup():IsExists(Card.IsType,1,nil,TYPE_PENDULUM) then
Duel.Remove(tc,POS_FACEDOWN,REASON_EFFECT)
end
end
function c17060815.pencon(e,tp,eg,ep,ev,re,r,rp)
function cm.pencon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:IsPreviousLocation(LOCATION_MZONE) and c:IsFaceup()
end
function c17060815.pentg(e,tp,eg,ep,ev,re,r,rp,chk)
function cm.pentg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckLocation(tp,LOCATION_PZONE,0) or Duel.CheckLocation(tp,LOCATION_PZONE,1) end
end
function c17060815.penop(e,tp,eg,ep,ev,re,r,rp)
function cm.penop(e,tp,eg,ep,ev,re,r,rp)
if not Duel.CheckLocation(tp,LOCATION_PZONE,0) and not Duel.CheckLocation(tp,LOCATION_PZONE,1) then return false end
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
......
--新春型歌姬亚瑟
function c17060817.initial_effect(c)
local m=17060817
local cm=_G["c"..m]
function cm.initial_effect(c)
--synchro summon
aux.AddSynchroProcedure(c,nil,aux.NonTuner(Card.IsType,TYPE_PENDULUM),1)
aux.AddSynchroProcedure(c,nil,aux.NonTuner(nil),1)
c:EnableReviveLimit()
--pendulum summon
aux.EnablePendulumAttribute(c,false)
--recover
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(17060817,1))
e2:SetCategory(CATEGORY_RECOVER)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DAMAGE_STEP)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,17060817)
e2:SetTarget(c17060817.rectg)
e2:SetOperation(c17060817.recop)
--double attack
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_EXTRA_ATTACK)
e1:SetTargetRange(LOCATION_MZONE,0)
e1:SetRange(LOCATION_MZONE)
e1:SetTarget(cm.atktg)
e1:SetValue(1)
c:RegisterEffect(e1)
--atk up
local e2=e1:Clone()
e2:SetCode(EFFECT_UPDATE_ATTACK)
e2:SetValue(800)
c:RegisterEffect(e2)
--chain attack
--double damage
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(17060817,2))
e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_BATTLE_DESTROYING)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_PRE_BATTLE_DAMAGE)
e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1,17060817)
e3:SetCondition(c17060817.cacon)
e3:SetTarget(c17060817.catg)
e3:SetOperation(c17060817.caop)
e3:SetCondition(cm.damcon)
e3:SetOperation(cm.damop)
c:RegisterEffect(e3)
--pendulum
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(17060817,3))
e4:SetDescription(aux.Stringid(17060817,0))
e4:SetCategory(CATEGORY_SPECIAL_SUMMON)
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e4:SetCode(EVENT_DESTROYED)
e4:SetProperty(EFFECT_FLAG_DELAY)
e4:SetCondition(c17060817.pencon)
e4:SetTarget(c17060817.pentg)
e4:SetOperation(c17060817.penop)
e4:SetCondition(cm.pencon)
e4:SetTarget(cm.pentg)
e4:SetOperation(cm.penop)
c:RegisterEffect(e4)
--special summon
local e5=Effect.CreateEffect(c)
e5:SetDescription(aux.Stringid(17060817,1))
e5:SetCategory(CATEGORY_SPECIAL_SUMMON)
e5:SetType(EFFECT_TYPE_IGNITION)
e5:SetRange(LOCATION_PZONE)
e5:SetCountLimit(1,17060817)
e5:SetCost(cm.spcost)
e5:SetTarget(cm.sptg)
e5:SetOperation(cm.spop)
c:RegisterEffect(e5)
end
c17060817.is_named_with_Singer_Arthur=1
c17060817.is_named_with_Million_Arthur=1
function c17060817.IsSinger_Arthur(c)
cm.is_named_with_Singer_Arthur=1
cm.is_named_with_Million_Arthur=1
function cm.IsSinger_Arthur(c)
local m=_G["c"..c:GetCode()]
return m and m.is_named_with_Singer_Arthur
end
function c17060817.IsMillion_Arthur(c)
function cm.IsMillion_Arthur(c)
local m=_G["c"..c:GetCode()]
return m and m.is_named_with_Million_Arthur
end
function c17060817.filter(c)
return c:IsFaceup() and c:GetAttack()>0
function cm.damcon(e,tp,eg,ep,ev,re,r,rp)
local tc=eg:GetFirst()
return ep~=tp and tc:IsSetCard(0x7f0) and tc~=e:GetHandler()
end
function c17060817.rectg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and c17060817.filter(chkc) end
if chk==0 then return Duel.IsExistingTarget(c17060817.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
local g=Duel.SelectTarget(tp,c17060817.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_RECOVER,nil,0,tp,g:GetFirst():GetAttack())
function cm.damop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChangeBattleDamage(ep,ev*2)
end
function c17060817.recop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and tc:IsFaceup() and tc:GetAttack()>0 then
Duel.Recover(tp,tc:GetAttack(),REASON_EFFECT)
end
function cm.atktg(e,c)
return c:IsSetCard(0x7f0) and c~=e:GetHandler()
end
function c17060817.cacon(e,tp,eg,ep,ev,re,r,rp)
function cm.pencon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local rc=eg:GetFirst()
return rc:IsRelateToBattle() and rc:IsStatus(STATUS_OPPO_BATTLE)
and rc:IsFaceup() and rc:IsType(TYPE_PENDULUM) and rc:IsControler(tp)
return c:IsPreviousLocation(LOCATION_MZONE) and c:IsFaceup()
end
function c17060817.catg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetMZoneCount(1-tp)>0
and Duel.GetAttackTarget():IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_ATTACK,1-tp) end
Duel.GetAttackTarget():CreateEffectRelation(e)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,Duel.GetAttackTarget(),1,0,0)
function cm.pentg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckLocation(tp,LOCATION_PZONE,0) or Duel.CheckLocation(tp,LOCATION_PZONE,1) end
end
function c17060817.caop(e,tp,eg,ep,ev,re,r,rp)
function cm.penop(e,tp,eg,ep,ev,re,r,rp)
if not Duel.CheckLocation(tp,LOCATION_PZONE,0) and not Duel.CheckLocation(tp,LOCATION_PZONE,1) then return false end
local c=e:GetHandler()
local bc=Duel.GetAttackTarget()
if not bc:IsRelateToEffect(e) then return end
if Duel.SpecialSummonStep(bc,0,tp,1-tp,false,false,POS_FACEUP_ATTACK) then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_DISABLE)
e1:SetReset(RESET_EVENT+0x1fe0000)
bc:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_DISABLE_EFFECT)
e2:SetReset(RESET_EVENT+0x1fe0000)
bc:RegisterEffect(e2)
end
Duel.SpecialSummonComplete()
local tc=Duel.GetAttacker()
if tc:IsFaceup() and tc:IsControler(tp) and tc:IsRelateToBattle() then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetValue(500)
e1:SetReset(RESET_EVENT+0x1ff0000+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e1)
if tc:IsChainAttackable() then
Duel.ChainAttack()
end
if c:IsRelateToEffect(e) then
Duel.MoveToField(c,tp,tp,LOCATION_SZONE,POS_FACEUP,true)
end
end
function c17060817.pencon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:IsPreviousLocation(LOCATION_MZONE) and c:IsFaceup()
function cm.cfilter1(c,ft,tp)
return (ft>0 or (c:IsControler(tp) and c:GetSequence()<5)) and c:IsFaceup() and c:IsType(TYPE_TUNER) and c:IsLevelBelow(7)
and Duel.IsExistingMatchingCard(cm.cfilter2,tp,LOCATION_MZONE,0,1,c,c:GetLevel())
end
function cm.cfilter2(c,lv)
return c:IsFaceup() and c:IsSetCard(0x7f0) and not c:IsType(TYPE_TUNER) and c:IsLevel(7-lv)
end
function c17060817.penfilter(c,e,tp)
return c:IsCanBeSpecialSummoned(e,0,tp,false,false)
function cm.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
if chk==0 then return ft>-1 and Duel.CheckReleaseGroup(tp,cfilter1,1,nil,ft,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g1=Duel.SelectReleaseGroup(tp,cm.cfilter1,1,1,nil,ft,tp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g2=Duel.SelectReleaseGroup(tp,cm.cfilter2,1,1,g1:GetFirst(),g1:GetFirst():GetLevel())
g1:Merge(g2)
Duel.SendtoGrave(g1,REASON_COST)
end
function c17060817.pentg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetMZoneCount(tp)>0
and Duel.IsExistingMatchingCard(c17060817.penfilter,tp,LOCATION_PZONE,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_PZONE)
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>-2
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end
function c17060817.penop(e,tp,eg,ep,ev,re,r,rp)
function cm.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) or Duel.GetMZoneCount(tp)<1 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c17060817.penfilter,tp,LOCATION_PZONE,0,1,1,nil,e,tp)
if g:GetCount()>0 and Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)>0 then
Duel.MoveToField(c,tp,tp,LOCATION_SZONE,POS_FACEUP,true)
end
if not c:IsRelateToEffect(e) then return end
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
end
\ No newline at end of file
--华恋姬
function c17060834.initial_effect(c)
local m=17060834
local cm=_G["c"..m]
function cm.initial_effect(c)
--pendulum summon
aux.EnablePendulumAttribute(c)
--tuner
--spsummon
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(17060834,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_PZONE)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetCountLimit(1,17060834)
e1:SetTarget(c17060834.target)
e1:SetOperation(c17060834.operation)
e1:SetCost(cm.spcost)
e1:SetTarget(cm.sptg)
e1:SetOperation(cm.spop)
c:RegisterEffect(e1)
--send to grave
local e2=Effect.CreateEffect(c)
......@@ -19,58 +21,54 @@ function c17060834.initial_effect(c)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCode(EVENT_SUMMON_SUCCESS)
e2:SetCountLimit(1,170608340)
e2:SetTarget(c17060834.tgtg)
e2:SetOperation(c17060834.tgop)
e2:SetCountLimit(1,17060834)
e2:SetTarget(cm.tgtg)
e2:SetOperation(cm.tgop)
c:RegisterEffect(e2)
local e3=e2:Clone()
e3:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e3)
end
c17060834.is_named_with_Singer_Arthur=1
c17060834.is_named_with_Million_Arthur=1
function c17060834.IsSinger_Arthur(c)
cm.is_named_with_Singer_Arthur=1
cm.is_named_with_Million_Arthur=1
function cm.IsSinger_Arthur(c)
local m=_G["c"..c:GetCode()]
return m and m.is_named_with_Singer_Arthur
end
function c17060834.IsMillion_Arthur(c)
function cm.IsMillion_Arthur(c)
local m=_G["c"..c:GetCode()]
return m and m.is_named_with_Million_Arthur
end
function c17060834.filter(c)
return c:IsFaceup() and c17060834.IsMillion_Arthur(c) and not c:IsType(TYPE_TUNER)
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,17060834)==0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
Duel.RegisterFlagEffect(tp,17060834,RESET_PHASE+PHASE_END,0,1)
end
function c17060834.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c17060834.filter(chkc) end
if chk==0 then return Duel.IsExistingTarget(c17060834.filter,tp,LOCATION_MZONE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
Duel.SelectTarget(tp,c17060834.filter,tp,LOCATION_MZONE,0,1,1,nil)
end
function c17060834.operation(e,tp,eg,ep,ev,re,r,rp)
function cm.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if c:IsRelateToEffect(e) and tc:IsFaceup() then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetCode(EFFECT_ADD_TYPE)
e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END)
e1:SetValue(TYPE_TUNER)
tc:RegisterEffect(e1)
Duel.BreakEffect()
Duel.Destroy(c,REASON_EFFECT)
end
if not c:IsRelateToEffect(e) then return end
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
end
function cm.costfilter(c)
return c:IsSetCard(0x7f0) and c:IsAbleToDeckAsCost()
end
function cm.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.costfilter,tp,LOCATION_GRAVE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(tp,cm.costfilter,tp,LOCATION_GRAVE,0,1,1,nil)
Duel.SendtoDeck(g,nil,2,REASON_COST)
end
function c17060834.tgfilter(c)
return c17060834.IsMillion_Arthur(c)and not c:IsCode(17060834) and c:IsAbleToGrave()
function cm.tgfilter(c)
return c:IsSetCard(0x7f0) and not c:IsCode(m) and c:IsAbleToGrave()
end
function c17060834.tgtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c17060834.tgfilter,tp,LOCATION_DECK,0,1,nil) end
function cm.tgtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.tgfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_DECK)
end
function c17060834.tgop(e,tp,eg,ep,ev,re,r,rp)
function cm.tgop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,c17060834.tgfilter,tp,LOCATION_DECK,0,1,1,nil)
local g=Duel.SelectMatchingCard(tp,cm.tgfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoGrave(g,REASON_EFFECT)
end
......
--华恋贼
function c17060835.initial_effect(c)
local m=17060835
local cm=_G["c"..m]
function cm.initial_effect(c)
--pendulum summon
aux.EnablePendulumAttribute(c)
--FUSION
......@@ -9,25 +11,15 @@ function c17060835.initial_effect(c)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_PZONE)
e1:SetCountLimit(1,17060835)
e1:SetCondition(c17060835.spcon)
e1:SetTarget(c17060835.sptg)
e1:SetOperation(c17060835.spop)
e1:SetTarget(cm.sptg)
e1:SetOperation(cm.spop)
c:RegisterEffect(e1)
--Destroy
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(17060835,1))
e2:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_SINGLE)
e2:SetCode(EVENT_LEAVE_FIELD)
e2:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e2:SetOperation(c17060835.desop)
c:RegisterEffect(e2)
--cannot be material
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(17060835,2))
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e3:SetCode(EFFECT_CANNOT_BE_FUSION_MATERIAL)
e3:SetValue(c17060835.splimit)
e3:SetValue(cm.splimit)
c:RegisterEffect(e3)
local e4=e3:Clone()
e4:SetCode(EFFECT_CANNOT_BE_SYNCHRO_MATERIAL)
......@@ -35,73 +27,67 @@ function c17060835.initial_effect(c)
local e5=e3:Clone()
e5:SetCode(EFFECT_CANNOT_BE_XYZ_MATERIAL)
c:RegisterEffect(e5)
--cannot special summon
local e6=Effect.CreateEffect(c)
e6:SetDescription(aux.Stringid(17060835,3))
e6:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_SINGLE_RANGE)
e6:SetType(EFFECT_TYPE_SINGLE)
e6:SetRange(LOCATION_EXTRA)
e6:SetCode(EFFECT_SPSUMMON_CONDITION)
e6:SetValue(aux.FALSE)
c:RegisterEffect(e6)
end
c17060835.is_named_with_Million_Arthur=1
function c17060835.IsMillion_Arthur(c)
cm.is_named_with_Million_Arthur=1
function cm.IsMillion_Arthur(c)
local m=_G["c"..c:GetCode()]
return m and m.is_named_with_Million_Arthur
end
function c17060835.splimit(e,c)
function cm.splimit(e,c)
if not c then return false end
return not c17060835.IsMillion_Arthur(c)
return not cm.IsMillion_Arthur(c)
end
function c17060835.cfilter(c)
return c17060835.IsMillion_Arthur(c)
end
function c17060835.spcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(c17060835.cfilter,tp,LOCATION_PZONE,0,1,e:GetHandler())
end
function c17060835.filter0(c)
function cm.filter0(c)
return c:IsType(TYPE_MONSTER) and c:IsCanBeFusionMaterial() and c:IsAbleToGrave()
end
function c17060835.filter1(c,e)
return c:IsType(TYPE_MONSTER) and c:IsCanBeFusionMaterial() and c:IsAbleToGrave() and not c:IsImmuneToEffect(e)
function cm.filter1(c,e)
return not c:IsImmuneToEffect(e)
end
function c17060835.filter2(c,e,tp,m,f,chkf)
return c:IsType(TYPE_FUSION) and c17060835.IsMillion_Arthur(c) and (not f or f(c))
function cm.filter2(c,e,tp,m,f,chkf)
return c:IsType(TYPE_FUSION) and c:IsSetCard(0x7f0) and (not f or f(c))
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false) and c:CheckFusionMaterial(m,nil,chkf)
end
function c17060835.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
function cm.cfilter(c)
return c:IsSetCard(0x7f0)
end
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
local chkf=tp
local mg1=Duel.GetMatchingGroup(c17060835.filter0,tp,LOCATION_DECK,0,nil)
local res=Duel.IsExistingMatchingCard(c17060835.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf)
local mg1=Duel.GetFusionMaterial(tp)
if Duel.IsExistingMatchingCard(cm.cfilter,tp,LOCATION_PZONE,0,1,e:GetHandler()) then
local mg2=Duel.GetMatchingGroup(cm.filter0,tp,LOCATION_DECK,0,nil)
mg1:Merge(mg2)
end
local res=Duel.IsExistingMatchingCard(cm.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf)
if not res then
local ce=Duel.GetChainMaterial(tp)
if ce~=nil then
local fgroup=ce:GetTarget()
local mg2=fgroup(ce,e,tp)
local mg3=fgroup(ce,e,tp)
local mf=ce:GetValue()
res=Duel.IsExistingMatchingCard(c17060835.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg2,mf,chkf)
res=Duel.IsExistingMatchingCard(cm.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg3,mf,chkf)
end
end
return res
end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end
function c17060835.spop(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end
function cm.spop(e,tp,eg,ep,ev,re,r,rp)
local chkf=tp
local mg1=Duel.GetMatchingGroup(c17060835.filter1,tp,LOCATION_DECK,0,nil,e)
local sg1=Duel.GetMatchingGroup(c17060835.filter2,tp,LOCATION_EXTRA,0,nil,e,tp,mg1,nil,chkf)
local mg2=nil
local mg1=Duel.GetFusionMaterial(tp):Filter(cm.filter1,nil,e)
if Duel.IsExistingMatchingCard(cm.cfilter,tp,LOCATION_PZONE,0,1,e:GetHandler()) then
local mg2=Duel.GetMatchingGroup(cm.filter0,tp,LOCATION_DECK,0,nil)
mg1:Merge(mg2)
end
local sg1=Duel.GetMatchingGroup(cm.filter2,tp,LOCATION_EXTRA,0,nil,e,tp,mg1,nil,chkf)
local mg3=nil
local sg2=nil
local ce=Duel.GetChainMaterial(tp)
if ce~=nil then
local fgroup=ce:GetTarget()
mg2=fgroup(ce,e,tp)
mg3=fgroup(ce,e,tp)
local mf=ce:GetValue()
sg2=Duel.GetMatchingGroup(c17060835.filter2,tp,LOCATION_EXTRA,0,nil,e,tp,mg2,mf,chkf)
sg2=Duel.GetMatchingGroup(cm.filter2,tp,LOCATION_EXTRA,0,nil,e,tp,mg3,mf,chkf)
end
if sg1:GetCount()>0 or (sg2~=nil and sg2:GetCount()>0) then
local sg=sg1:Clone()
......@@ -109,15 +95,6 @@ function c17060835.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tg=sg:Select(tp,1,1,nil)
local tc=tg:GetFirst()
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_ATTACK_FINAL)
e1:SetValue(0)
e1:SetReset(RESET_EVENT+0xfe0000)
tc:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_SET_DEFENSE_FINAL)
tc:RegisterEffect(e2)
if sg1:IsContains(tc) and (sg2==nil or not sg2:IsContains(tc) or not Duel.SelectYesNo(tp,ce:GetDescription())) then
local mat1=Duel.SelectFusionMaterial(tp,tc,mg1,nil,chkf)
tc:SetMaterial(mat1)
......@@ -125,19 +102,10 @@ function c17060835.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.BreakEffect()
Duel.SpecialSummon(tc,SUMMON_TYPE_FUSION,tp,tp,false,false,POS_FACEUP)
else
local mat2=Duel.SelectFusionMaterial(tp,tc,mg2,nil,chkf)
local mat2=Duel.SelectFusionMaterial(tp,tc,mg3,nil,chkf)
local fop=ce:GetOperation()
fop(ce,e,tp,tc,mat2)
end
tc:CompleteProcedure()
e:GetHandler():SetCardTarget(tc)
end
end
function c17060835.desop(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetHandler():GetFirstCardTarget()
if tc and tc:IsLocation(LOCATION_MZONE) then
Duel.Destroy(tc,REASON_EFFECT)
end
end
\ No newline at end of file
......@@ -2,20 +2,9 @@
function c17060852.initial_effect(c)
--pendulum summon
aux.EnablePendulumAttribute(c)
--pendulum set
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(17060852,0))
e1:SetCategory(CATEGORY_DESTROY)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_PZONE)
e1:SetCountLimit(1)
e1:SetCondition(c17060852.pencon)
e1:SetTarget(c17060852.pentg)
e1:SetOperation(c17060852.penop)
c:RegisterEffect(e1)
--search
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(17060852,1))
e2:SetDescription(aux.Stringid(17060852,0))
e2:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_SUMMON_SUCCESS)
......@@ -29,7 +18,7 @@ function c17060852.initial_effect(c)
c:RegisterEffect(e3)
--spsummon
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(17060852,2))
e4:SetDescription(aux.Stringid(17060852,1))
e4:SetCategory(CATEGORY_SPECIAL_SUMMON)
e4:SetType(EFFECT_TYPE_IGNITION)
e4:SetRange(LOCATION_GRAVE)
......@@ -54,32 +43,6 @@ function c17060852.IsMillion_Arthur(c)
local m=_G["c"..c:GetCode()]
return m and m.is_named_with_Million_Arthur
end
function c17060852.pencon(e,tp,eg,ep,ev,re,r,rp)
local seq=e:GetHandler():GetSequence()
local sc=Duel.GetFirstMatchingCard(nil,tp,LOCATION_PZONE,0,e:GetHandler())
return sc and (c17060852.IsMillion_Arthur(sc) or sc.named_with_Backwards)
end
function c17060852.pcfilter(c)
return c:IsType(TYPE_PENDULUM) and not c:IsForbidden()
end
function c17060852.pentg(e,tp,eg,ep,ev,re,r,rp,chk)
local seq=e:GetHandler():GetSequence()
local sc=Duel.GetFirstMatchingCard(nil,tp,LOCATION_PZONE,0,e:GetHandler())
if chk==0 then return Duel.IsExistingMatchingCard(c17060852.pcfilter,tp,LOCATION_GRAVE,0,1,nil) end
Duel.SetTargetCard(sc)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,sc,1,0,0)
end
function c17060852.penop(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and Duel.SendtoHand(tc,nil,REASON_EFFECT)~=0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD)
local g=Duel.SelectMatchingCard(tp,c17060852.pcfilter,tp,LOCATION_GRAVE,0,1,1,nil)
if g:GetCount()>0 then
Duel.MoveToField(g:GetFirst(),tp,tp,LOCATION_SZONE,POS_FACEUP,true)
end
end
end
function c17060852.thfilter(c)
return c:GetLevel()==1 and c:IsType(TYPE_PENDULUM) and c:IsAbleToHand()
end
......
--搭档型剑城&菲
function c17060863.initial_effect(c)
local m=17060863
local cm=_G["c"..m]
function cm.initial_effect(c)
--xyz summon
aux.AddXyzProcedure(c,c17060863.xyzfilter,5,2)
aux.AddXyzProcedure(c,aux.FilterBoolFunction(Card.IsRace,RACE_WARRIOR),5,2)
c:EnableReviveLimit()
--pendulum summon
aux.EnablePendulumAttribute(c,false)
--special summon & pendulum set
--pendulum set
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(17060863,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_PZONE)
e1:SetCountLimit(1,17060863)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetTarget(c17060863.sptg)
e1:SetOperation(c17060863.spop)
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1)
e1:SetCost(cm.pccost)
e1:SetTarget(cm.pctg)
e1:SetOperation(cm.pcop)
c:RegisterEffect(e1)
--pendulum set
--pendulum
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetDescription(aux.Stringid(17060863,1))
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_CARD_TARGET)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetCondition(c17060863.pencon)
e2:SetTarget(c17060863.pentg)
e2:SetOperation(c17060863.penop)
e2:SetCode(EVENT_DESTROYED)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCondition(cm.pencon)
e2:SetTarget(cm.pentg)
e2:SetOperation(cm.penop)
c:RegisterEffect(e2)
--damage
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_MATERIAL_CHECK)
e3:SetValue(c17060863.valcheck)
e3:SetLabelObject(e2)
e3:SetCategory(CATEGORY_DAMAGE)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e3:SetRange(LOCATION_PZONE)
e3:SetCode(EVENT_BATTLE_DAMAGE)
e3:SetCondition(cm.damcon1)
e3:SetOperation(cm.damop)
c:RegisterEffect(e3)
--atk
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(17060863,2))
e4:SetCategory(CATEGORY_DESTROY+CATEGORY_DAMAGE)
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e4:SetCode(EVENT_BATTLE_CONFIRM)
e4:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e4:SetCountLimit(1)
e4:SetCondition(c17060863.atkcon)
e4:SetCost(c17060863.atkcost)
e4:SetOperation(c17060863.atkop)
local e4=e3:Clone()
e4:SetCode(EVENT_DAMAGE)
e4:SetCondition(cm.damcon2)
c:RegisterEffect(e4)
--pendulum
local e5=Effect.CreateEffect(c)
e5:SetDescription(aux.Stringid(17060863,3))
e5:SetType(EFFECT_TYPE_IGNITION)
e5:SetRange(LOCATION_MZONE)
e5:SetCountLimit(1,170608631)
e5:SetTarget(c17060863.pentg1)
e5:SetOperation(c17060863.penop1)
c:RegisterEffect(e5)
end
c17060863.pendulum_level=5
c17060863.is_named_with_Partner=1
c17060863.is_named_with_Fencing=1
c17060863.is_named_with_Million_Arthur=1
function c17060863.IsPartner(c)
cm.pendulum_level=5
cm.is_named_with_Partner=1
cm.is_named_with_Fencing=1
cm.is_named_with_Million_Arthur=1
function cm.IsPartner(c)
local m=_G["c"..c:GetCode()]
return m and m.is_named_with_Partner
end
function c17060863.IsFencing(c)
function cm.IsFencing(c)
local m=_G["c"..c:GetCode()]
return m and m.is_named_with_Fencing
end
function c17060863.IsMillion_Arthur(c)
function cm.IsMillion_Arthur(c)
local m=_G["c"..c:GetCode()]
return m and m.is_named_with_Million_Arthur
end
function c17060863.xyzfilter(c)
return c:IsRace(RACE_WARRIOR) and c:IsType(TYPE_PENDULUM)
end
function c17060863.pcfilter(c)
return c:IsFaceup() and c:IsType(TYPE_PENDULUM) and not c:IsForbidden()
end
function c17060863.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c17060863.pcfilter(chkc) end
if chk==0 then return Duel.IsExistingTarget(c17060863.pcfilter,tp,LOCATION_MZONE,0,1,nil)
and Duel.GetMZoneCount(tp)>0 end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD)
local g=Duel.SelectTarget(tp,c17060863.pcfilter,tp,LOCATION_MZONE,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end
function c17060863.mfilter(c)
return c:IsType(TYPE_PENDULUM)
end
function c17060863.spop(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end
if Duel.SpecialSummon(e:GetHandler(),0,tp,tp,false,false,POS_FACEUP)~=0 then
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then
Duel.MoveToField(tc,tp,tp,LOCATION_SZONE,POS_FACEUP,true)
local g=Duel.GetMatchingGroup(c17060863.mfilter,tp,LOCATION_GRAVE,0,e:GetHandler())
if g:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(17060863,4)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_XMATERIAL)
local mg=g:Select(tp,1,1,nil)
if mg:GetFirst():IsHasEffect(EFFECT_NECRO_VALLEY) then return end
Duel.Overlay(e:GetHandler(),mg)
end
end
end
end
function c17060863.pencon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_XYZ) and e:GetLabel()==1
end
function c17060863.chkfilter(c)
return c17060863.IsFencing(c)
end
function c17060863.valcheck(e,c)
local g=c:GetMaterial()
if g:IsExists(c17060863.chkfilter,1,nil) then
e:GetLabelObject():SetLabel(1)
else
e:GetLabelObject():SetLabel(0)
end
function cm.pccost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end
e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST)
end
function c17060863.pfilter(c)
return c:IsFaceup() and c:IsType(TYPE_PENDULUM) and not c:IsForbidden()
function cm.pcfilter(c)
return c:IsSetCard(0x7f0) and c:IsType(TYPE_PENDULUM) and not c:IsForbidden()
end
function c17060863.pentg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return true end
function cm.pctg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return (Duel.CheckLocation(tp,LOCATION_PZONE,0) or Duel.CheckLocation(tp,LOCATION_PZONE,1))
and Duel.IsExistingMatchingCard(c17060863.pfilter,tp,LOCATION_EXTRA,0,1,nil) end
and Duel.IsExistingMatchingCard(cm.pcfilter,tp,LOCATION_DECK,0,1,nil) end
end
function c17060863.penop(e,tp,eg,ep,ev,re,r,rp)
local ct=0
if Duel.CheckLocation(tp,LOCATION_PZONE,0) then ct=ct+1 end
if Duel.CheckLocation(tp,LOCATION_PZONE,1) then ct=ct+1 end
function cm.pcop(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end
if not Duel.CheckLocation(tp,LOCATION_PZONE,0) and not Duel.CheckLocation(tp,LOCATION_PZONE,1) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD)
local g=Duel.SelectMatchingCard(tp,c17060863.pfilter,tp,LOCATION_EXTRA,0,1,ct,nil)
local pc=g:GetFirst()
while pc do
Duel.MoveToField(pc,tp,tp,LOCATION_SZONE,POS_FACEUP,true)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CANNOT_TRIGGER)
e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END)
pc:RegisterEffect(e1)
pc=g:GetNext()
local g=Duel.SelectMatchingCard(tp,cm.pcfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.MoveToField(g:GetFirst(),tp,tp,LOCATION_SZONE,POS_FACEUP,true)
end
end
function c17060863.atkcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end
e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST)
end
function c17060863.atkcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local bc=c:GetBattleTarget()
return c:IsRelateToBattle() and bc and bc:IsFaceup() and bc:IsRelateToBattle()
end
function c17060863.atkop(e,tp,eg,ep,ev,re,r,rp)
function cm.pencon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) and c:IsFaceup() then
local g=Duel.GetMatchingGroup(Card.IsFaceup,tp,LOCATION_MZONE,LOCATION_MZONE,nil)
local val=g:GetSum(Card.GetRank)*200
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(val)
e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END)
c:RegisterEffect(e1)
end
return c:IsPreviousLocation(LOCATION_MZONE) and c:IsFaceup()
end
function c17060863.penfilter(c,e,tp)
function cm.penfilter(c,e,tp)
return c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c17060863.pentg1(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_PZONE) and chkc:IsControler(tp) and c17060863.penfilter(chkc,e,tp) end
if chk==0 then return Duel.GetMZoneCount(tp)>0
and Duel.IsExistingTarget(c17060863.penfilter,tp,LOCATION_PZONE,0,1,nil,e,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectTarget(tp,c17060863.penfilter,tp,LOCATION_PZONE,0,1,1,nil,e,tp)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,0,0)
function cm.pentg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(cm.penfilter,tp,LOCATION_PZONE,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_PZONE)
end
function c17060863.penop1(e,tp,eg,ep,ev,re,r,rp)
function cm.penop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)
end
if c:IsRelateToEffect(e) then
if not c:IsRelateToEffect(e) or Duel.GetLocationCount(tp,LOCATION_MZONE)<1 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,cm.penfilter,tp,LOCATION_PZONE,0,1,1,nil,e,tp)
if g:GetCount()>0 and Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)>0 then
Duel.MoveToField(c,tp,tp,LOCATION_SZONE,POS_FACEUP,true)
end
end
\ No newline at end of file
end
function cm.damcon1(e,tp,eg,ep,ev,re,r,rp)
return ep~=tp and Duel.GetLP(1-tp)>0 and (eg:GetFirst():IsSummonType(SUMMON_TYPE_PENDULUM) or eg:GetFirst():GetSummonLocation()==LOCATION_SZONE)
end
function cm.damcon2(e,tp,eg,ep,ev,re,r,rp)
return ep~=tp and Duel.GetLP(1-tp)>0 and bit.band(r,REASON_BATTLE)==0 and re
and re:IsActiveType(TYPE_MONSTER) and (re:GetHandler():IsSummonType(SUMMON_TYPE_PENDULUM) or re:GetHandler():GetSummonLocation()==LOCATION_SZONE)
end
function cm.damop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_CARD,0,17060863)
Duel.Damage(1-tp,300,REASON_EFFECT)
end
--搭档型技瑟&丽芙
function c17060865.initial_effect(c)
local m=17060865
local cm=_G["c"..m]
function cm.initial_effect(c)
--fusion material
c:EnableReviveLimit()
aux.AddFusionProcFun2(c,c17060865.ffilter,aux.FilterBoolFunction(Card.IsType,TYPE_PENDULUM),true)
aux.AddFusionProcFun2(c,aux.FilterBoolFunction(Card.IsFusionSetCard,0x47f1),aux.FilterBoolFunction(Card.IsFusionType,TYPE_PENDULUM),true)
--pendulum summon
aux.EnablePendulumAttribute(c,false)
--special summon & pendulum set
--atk&def
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(17060865,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetRange(LOCATION_PZONE)
e1:SetCountLimit(1,17060865)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetTarget(c17060865.sptg)
e1:SetOperation(c17060865.spop)
e1:SetTargetRange(LOCATION_MZONE,0)
e1:SetTarget(cm.atktg)
e1:SetValue(cm.atkval)
c:RegisterEffect(e1)
--to deck
--remove
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(17060865,1))
e2:SetCategory(CATEGORY_TODECK)
e2:SetDescription(aux.Stringid(17060865,0))
e2:SetCategory(CATEGORY_DAMAGE+CATEGORY_REMOVE)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetCondition(c17060865.tdcon)
e2:SetTarget(c17060865.tdtg)
e2:SetOperation(c17060865.tdop)
e2:SetCondition(cm.remcon)
e2:SetTarget(cm.remtg)
e2:SetOperation(cm.remop)
c:RegisterEffect(e2)
--disable
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(17060865,2))
e3:SetCategory(CATEGORY_DESTROY+CATEGORY_DISABLE)
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetCode(EVENT_CHAINING)
e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1)
e3:SetCondition(c17060865.discon)
e3:SetTarget(c17060865.distg)
e3:SetOperation(c17060865.disop)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_MATERIAL_CHECK)
e3:SetValue(cm.valcheck)
e3:SetLabelObject(e2)
c:RegisterEffect(e3)
--pendulum
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(17060865,3))
e4:SetDescription(aux.Stringid(17060865,1))
e4:SetType(EFFECT_TYPE_IGNITION)
e4:SetRange(LOCATION_MZONE)
e4:SetCountLimit(1,170608651)
e4:SetTarget(c17060865.pentg)
e4:SetOperation(c17060865.penop)
e4:SetCountLimit(1,17060865)
e4:SetTarget(cm.pentg)
e4:SetOperation(cm.penop)
c:RegisterEffect(e4)
end
c17060865.is_named_with_Partner=1
c17060865.is_named_with_Skill_Field=1
c17060865.is_named_with_Million_Arthur=1
function c17060865.IsPartner(c)
cm.is_named_with_Partner=1
cm.is_named_with_Skill_Field=1
cm.is_named_with_Million_Arthur=1
function cm.IsMa_Elf(c)
local m=_G["c"..c:GetCode()]
return m and m.is_named_with_Partner
return m and m.is_named_with_Ma_Elf
end
function c17060865.IsSkill_Field(c)
local m=_G["c"..c:GetCode()]
return m and m.is_named_with_Skill_Field
end
function c17060865.IsMillion_Arthur(c)
local m=_G["c"..c:GetCode()]
return m and m.is_named_with_Million_Arthur
function cm.atkval(e,c)
return e:GetHandler():GetLeftScale()*100
end
function c17060865.ffilter(c)
return c17060865.IsSkill_Field(c)
function cm.atktg(e,c)
return c:IsSummonType(SUMMON_TYPE_PENDULUM) or c:GetSummonLocation()==LOCATION_SZONE
end
function c17060865.pcfilter(c)
return c:IsFaceup() and c:IsType(TYPE_PENDULUM) and not c:IsForbidden()
function cm.cfilter(c)
return cm.IsMa_Elf(c) and c:IsType(TYPE_PENDULUM)
end
function c17060865.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c17060865.pcfilter(chkc) end
if chk==0 then return Duel.IsExistingTarget(c17060865.pcfilter,tp,LOCATION_MZONE,0,1,nil)
and Duel.GetMZoneCount(tp)>0 end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD)
local g=Duel.SelectTarget(tp,c17060865.pcfilter,tp,LOCATION_MZONE,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end
function c17060865.spop(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end
if Duel.SpecialSummon(e:GetHandler(),0,tp,tp,false,false,POS_FACEUP)~=0 then
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then
Duel.MoveToField(tc,tp,tp,LOCATION_SZONE,POS_FACEUP,true)
end
function cm.valcheck(e,c)
local g=c:GetMaterial()
if g:IsExists(cm.cfilter,1,nil) then
e:GetLabelObject():SetLabel(1)
else
e:GetLabelObject():SetLabel(0)
end
end
function c17060865.tdcon(e,tp,eg,ep,ev,re,r,rp)
function cm.remcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_FUSION)
end
function c17060865.tdfilter(c)
return c:IsType(TYPE_SPELL+TYPE_TRAP) and c:IsAbleToDeck()
function cm.chkfilter(c)
return c:IsType(TYPE_SPELL+TYPE_TRAP) and not c:IsAbleToRemove()
end
function c17060865.tdtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c17060865.tdfilter,tp,0,LOCATION_ONFIELD,1,nil) end
local g=Duel.GetMatchingGroup(c17060865.tdfilter,tp,0,LOCATION_ONFIELD,nil)
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,g:GetCount(),0,0)
Duel.SetChainLimit(c17060865.chainlm)
function cm.filter(c)
return c:IsType(TYPE_SPELL+TYPE_TRAP) and c:IsAbleToRemove()
end
function c17060865.tdop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(c17060865.tdfilter,tp,0,LOCATION_ONFIELD,nil)
if g:GetCount()>0 then
Duel.SendtoDeck(g,nil,2,REASON_EFFECT)
function cm.remtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
return Duel.IsExistingMatchingCard(cm.filter,tp,0,LOCATION_SZONE,1,nil)
and not Duel.IsExistingMatchingCard(cm.chkfilter,tp,0,LOCATION_SZONE,1,nil)
end
local g=Duel.GetMatchingGroup(cm.filter,tp,0,LOCATION_SZONE,nil)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,g,g:GetCount(),0,0)
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,1-tp,g:GetCount()*300)
if e:GetHandler():IsSummonType(SUMMON_TYPE_FUSION) and e:GetLabel()==1 then
Duel.SetChainLimit(cm.chainlm)
end
end
function c17060865.chainlm(e,rp,tp)
function cm.chainlm(e,rp,tp)
return tp==rp
end
function c17060865.discon(e,tp,eg,ep,ev,re,r,rp)
return not e:GetHandler():IsStatus(STATUS_BATTLE_DESTROYED) and rp==1-tp and re:IsActiveType(TYPE_MONSTER) and Duel.IsChainDisablable(ev)
end
function c17060865.distg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_DISABLE,eg,1,0,0)
end
function c17060865.disop(e,tp,eg,ep,ev,re,r,rp)
Duel.NegateEffect(ev)
function cm.remop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(cm.filter,tp,0,LOCATION_SZONE,nil)
local ct=Duel.Remove(g,POS_FACEUP,REASON_EFFECT)
if ct>0 then
Duel.Damage(1-tp,ct*300,REASON_EFFECT)
end
end
function c17060865.penfilter(c,e,tp)
function cm.penfilter(c,e,tp)
return c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c17060865.pentg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_PZONE) and chkc:IsControler(tp) and c17060865.penfilter(chkc,e,tp) end
function cm.pentg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_PZONE) and chkc:IsControler(tp) and cm.penfilter(chkc,e,tp) end
if chk==0 then return Duel.GetMZoneCount(tp)>0
and Duel.IsExistingTarget(c17060865.penfilter,tp,LOCATION_PZONE,0,1,nil,e,tp) end
and Duel.IsExistingTarget(cm.penfilter,tp,LOCATION_PZONE,0,1,nil,e,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectTarget(tp,c17060865.penfilter,tp,LOCATION_PZONE,0,1,1,nil,e,tp)
local g=Duel.SelectTarget(tp,cm.penfilter,tp,LOCATION_PZONE,0,1,1,nil,e,tp)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,0,0)
end
function c17060865.penop(e,tp,eg,ep,ev,re,r,rp)
function cm.penop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then
......
--实在魔瑟
function c17060866.initial_effect(c)
local m=17060866
local cm=_G["c"..m]
function cm.initial_effect(c)
--pendulum summon
aux.EnablePendulumAttribute(c)
--negate+copy
--spsummon
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(17060866,0))
e1:SetCategory(CATEGORY_DISABLE)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetRange(LOCATION_PZONE)
e1:SetCountLimit(1)
e1:SetCost(c17060866.necost)
e1:SetTarget(c17060866.netg)
e1:SetOperation(c17060866.neop)
e1:SetCondition(cm.spcon)
e1:SetTarget(cm.sptg)
e1:SetOperation(cm.spop)
c:RegisterEffect(e1)
--tohand
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(17060866,0))
e2:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e2:SetCode(EVENT_TO_HAND)
e2:SetCountLimit(1,17060866)
e2:SetCondition(c17060866.pencon)
e2:SetTarget(c17060866.pentg)
e2:SetOperation(c17060866.penop)
local e2=e1:Clone()
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e2)
--spsummon
local e3=Effect.CreateEffect(c)
......@@ -31,99 +25,49 @@ function c17060866.initial_effect(c)
e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_SPSUMMON_SUCCESS)
e3:SetCountLimit(1,17060866+EFFECT_COUNT_CODE_DUEL)
e3:SetCondition(c17060866.sptcon)
e3:SetTarget(c17060866.spttg)
e3:SetOperation(c17060866.sptop)
e3:SetCountLimit(1,17060866)
e3:SetCondition(cm.sptcon)
e3:SetTarget(cm.spttg)
e3:SetOperation(cm.sptop)
c:RegisterEffect(e3)
end
c17060866.is_named_with_Magic_Factions=1
c17060866.is_named_with_Million_Arthur=1
function c17060866.IsMagic_Factions(c)
cm.is_named_with_Magic_Factions=1
cm.is_named_with_Million_Arthur=1
function cm.IsMagic_Factions(c)
local m=_G["c"..c:GetCode()]
return m and m.is_named_with_Magic_Factions
end
function c17060866.IsMillion_Arthur(c)
function cm.IsMillion_Arthur(c)
local m=_G["c"..c:GetCode()]
return m and m.is_named_with_Million_Arthur
end
function c17060866.copyfilter(c)
return c:IsFaceup()
end
function c17060866.necost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():GetFlagEffect(17060866)==0 end
e:GetHandler():RegisterFlagEffect(17060866,RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END,0,1)
function cm.cfilter(c,tp)
return c:IsFaceup() and c:IsControler(tp) and c:IsSetCard(0x7f0)
end
function c17060866.netg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_PZONE) and c17060866.copyfilter(chkc) end
if chk==0 then return Duel.IsExistingTarget(c17060866.copyfilter,tp,LOCATION_PZONE,LOCATION_PZONE,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
local g=Duel.SelectTarget(tp,c17060866.copyfilter,tp,LOCATION_PZONE,LOCATION_PZONE,1,1,nil)
end
function c17060866.neop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if tc:IsFaceup() and tc:IsRelateToEffect(e) then
local code=tc:GetOriginalCodeRule()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetCode(EFFECT_CHANGE_CODE)
e1:SetValue(code)
e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_DISABLE)
e2:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_DISABLE_EFFECT)
e3:SetValue(RESET_TURN_SET)
e3:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e3)
local code1=tc:GetOriginalCode()
c:CopyEffect(code1,RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END,1)
end
function cm.spcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(cm.cfilter,1,nil,tp) and Duel.GetFlagEffect(tp,17060866)==0
end
function c17060866.pencon(e,tp,eg,ep,ev,re,r,rp)
return not e:GetHandler():IsReason(REASON_DRAW)
end
function c17060866.pcfilter(c)
return c:IsFaceup() and c:IsType(TYPE_PENDULUM) and not c:IsForbidden()
end
function c17060866.pentg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c17060866.pcfilter(chkc) end
if chk==0 then return (Duel.CheckLocation(tp,LOCATION_PZONE,0) or Duel.CheckLocation(tp,LOCATION_PZONE,1))
and Duel.IsExistingTarget(c17060866.pcfilter,tp,LOCATION_MZONE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD)
local g=Duel.SelectTarget(tp,c17060866.pcfilter,tp,LOCATION_MZONE,0,1,1,nil)
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
Duel.RegisterFlagEffect(tp,17060866,RESET_PHASE+PHASE_END,0,1)
end
function c17060866.penop(e,tp,eg,ep,ev,re,r,rp)
if not (Duel.CheckLocation(tp,LOCATION_PZONE,0) or Duel.CheckLocation(tp,LOCATION_PZONE,1))
or not e:GetHandler():IsRelateToEffect(e) then return end
local tc=Duel.GetFirstTarget()
if not tc:IsRelateToEffect(e) then return end
if Duel.MoveToField(tc,tp,tp,LOCATION_SZONE,POS_FACEUP,true)~=0 then
if e:GetHandler():IsRelateToEffect(e) then
Duel.SpecialSummon(e:GetHandler(),0,tp,tp,false,false,POS_FACEUP)
end
end
function cm.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
end
function c17060866.sptcon(e,tp,eg,ep,ev,re,r,rp)
function cm.sptcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetSummonLocation()==LOCATION_SZONE
end
function c17060866.spttg(e,tp,eg,ep,ev,re,r,rp,chk)
function cm.spttg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetMZoneCount(tp)>0
and Duel.IsPlayerCanSpecialSummonMonster(tp,17060867,0,0x4011,0,0,1,RACE_PSYCHO,ATTRIBUTE_FIRE) end
Duel.SetOperationInfo(0,CATEGORY_TOKEN,nil,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,0)
end
function c17060866.sptop(e,tp,eg,ep,ev,re,r,rp)
function cm.sptop(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e)
or Duel.GetMZoneCount(tp)<=0
or not Duel.IsPlayerCanSpecialSummonMonster(tp,17060867,0,0x4011,0,0,1,RACE_PSYCHO,ATTRIBUTE_FIRE) then return end
......
--圣夜型多莫维依
local m=17060885
local cm=_G["c"..m]
function cm.initial_effect(c)
--link summon
aux.AddLinkProcedure(c,nil,2)
c:EnableReviveLimit()
--extra link
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE+EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetRange(LOCATION_EXTRA)
e1:SetTarget(cm.mattg)
e1:SetCode(EFFECT_EXTRA_LINK_MATERIAL)
e1:SetTargetRange(0,LOCATION_PZONE)
e1:SetValue(cm.matval)
c:RegisterEffect(e1)
--control
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(17060885,0))
e2:SetCategory(CATEGORY_CONTROL)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1)
e2:SetTarget(cm.cttg)
e2:SetOperation(cm.ctop)
c:RegisterEffect(e2)
--atkup
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(17060885,1))
e3:SetCategory(CATEGORY_ATKCHANGE)
e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1,17060885)
e3:SetCost(cm.cost)
e3:SetTarget(cm.target)
e3:SetOperation(cm.activate)
c:RegisterEffect(e3)
end
cm.is_named_with_domovo_i=1
cm.is_named_with_Ma_Elf=1
function cm.matval(e,c,mg)
return c:IsCode(17060885)
end
function cm.mattg(e,c)
return c:IsType(TYPE_PENDULUM)
end
function cm.ctfilter(c)
return c:IsType(TYPE_PENDULUM) and c:IsControlerCanBeChanged()
end
function cm.cttg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(1-tp) and cm.ctfilter(chkc) end
if chk==0 then return Duel.IsExistingTarget(cm.ctfilter,tp,0,LOCATION_MZONE,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONTROL)
local g=Duel.SelectTarget(tp,cm.ctfilter,tp,0,LOCATION_MZONE,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_CONTROL,g,1,0,0)
end
function cm.ctop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then
Duel.GetControl(tc,tp)
end
end
function cm.cfilter(c)
return c:IsType(TYPE_PENDULUM) and c:IsAbleToRemoveAsCost()
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.cfilter,tp,LOCATION_MZONE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,cm.cfilter,tp,LOCATION_MZONE,0,1,1,nil)
Duel.Remove(g,POS_FACEUP,REASON_COST)
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
local off=1
local ops={aux.Stringid(17060885,2),aux.Stringid(17060885,3)}
local op=Duel.SelectOption(tp,table.unpack(ops))
e:SetLabel(op)
e:SetCategory(CATEGORY_TOHAND)
end
function cm.activate(e,tp,eg,ep,ev,re,r,rp)
local sel=e:GetLabel()
if sel==0 then
--negate
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_CHAIN_SOLVING)
e1:SetProperty(EFFECT_FLAG_NO_TURN_RESET)
e1:SetCountLimit(1)
e1:SetCondition(cm.negcon)
e1:SetOperation(cm.negop)
Duel.RegisterEffect(e1,tp)
elseif sel==1 and Duel.GetFlagEffect(tp,17060885)==0 then
--damage reduce
local e3=Effect.CreateEffect(e:GetHandler())
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_CHANGE_DAMAGE)
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e3:SetTargetRange(1,0)
e3:SetValue(cm.val)
Duel.RegisterEffect(e3,tp)
local e4=e3:Clone()
e4:SetCode(EFFECT_NO_EFFECT_DAMAGE)
e4:SetCondition(cm.damcon)
Duel.RegisterEffect(e4,tp)
Duel.RegisterFlagEffect(tp,17060885,0,0,0)
Duel.RegisterFlagEffect(tp,17060886,0,0,0)
else
Duel.RegisterFlagEffect(tp,17060886,0,0,0)
end
end
function cm.negcon(e,tp,eg,ep,ev,re,r,rp)
return rp==1-tp and re:IsActiveType(TYPE_MONSTER) and Duel.IsChainDisablable(ev)
end
function cm.negop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_CARD,0,17060885)
Duel.NegateEffect(ev)
end
function cm.val(e,re,dam,r,rp,rc)
local ct=Duel.GetFlagEffect(1-rp,17060886)
if bit.band(r,REASON_BATTLE+REASON_EFFECT)~=0 and ct>0 then
Duel.Hint(HINT_CARD,0,17060885)
if ct-1==0 then
Duel.ResetFlagEffect(1-rp,17060886)
else Duel.ResetFlagEffect(1-rp,17060886)
Duel.RegisterFlagEffect(1-rp,17060886,0,0,ct-1)
end
return 0
else return dam end
end
function cm.damcon(e)
return Duel.GetFlagEffect(1-rp,17060886)>0
end
--黛冬优子
--心结·风野灯织
function c26805005.initial_effect(c)
--negate
local e1=Effect.CreateEffect(c)
......
--十二月短篇·杜野凛世
c26805015.card_code_list={81010004}
function c26805015.initial_effect(c)
--special summon
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,26805015)
e1:SetCondition(c26805015.spcon)
e1:SetCost(c26805015.spcost)
e1:SetTarget(c26805015.sptg)
e1:SetOperation(c26805015.spop)
c:RegisterEffect(e1)
end
function c26805015.spcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsEnvironment(81010004)
end
function c26805015.cfilter(c)
return c:IsAttribute(ATTRIBUTE_WIND) and c:IsAbleToGraveAsCost()
end
function c26805015.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.IsExistingMatchingCard(c26805015.cfilter,tp,LOCATION_HAND,0,1,c) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,c26805015.cfilter,tp,LOCATION_HAND,0,1,1,c)
Duel.SendtoGrave(g,REASON_COST)
end
function c26805015.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and c:IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
end
function c26805015.spop(e,tp,eg,ep,ev,re,r,rp)
if not Duel.IsEnvironment(81010004) then return end
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
end
end
--Racing Game
function c26806062.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DRAW)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,26806062+EFFECT_COUNT_CODE_OATH)
e1:SetCondition(c26806062.condition)
e1:SetCost(c26806062.cost)
e1:SetTarget(c26806062.target)
e1:SetOperation(c26806062.activate)
c:RegisterEffect(e1)
end
function c26806062.cfilter(c)
return c:IsFaceup() and c:IsAttack(3200) and c:IsType(TYPE_LINK)
end
function c26806062.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(c26806062.cfilter,tp,LOCATION_MZONE,0,1,nil)
end
function c26806062.costfilter(c)
return c:IsAttack(2200) and c:IsDefense(600) and (c:IsFaceup() or not c:IsLocation(LOCATION_MZONE)) and c:IsAbleToGraveAsCost()
end
function c26806062.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c26806062.costfilter,tp,LOCATION_HAND+LOCATION_MZONE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,c26806062.costfilter,tp,LOCATION_HAND+LOCATION_MZONE,0,1,1,nil)
Duel.SendtoGrave(g,REASON_COST)
end
function c26806062.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsPlayerCanDraw(tp,2) end
Duel.SetTargetPlayer(tp)
Duel.SetTargetParam(2)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,2)
end
function c26806062.activate(e,tp,eg,ep,ev,re,r,rp)
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
Duel.Draw(p,d,REASON_EFFECT)
end
--海浪之舞
function c26806063.initial_effect(c)
--activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,26806063+EFFECT_COUNT_CODE_OATH)
e1:SetCondition(c26806063.condition)
e1:SetTarget(c26806063.target)
e1:SetOperation(c26806063.activate)
c:RegisterEffect(e1)
end
function c26806063.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetCurrentPhase()==PHASE_MAIN2 or Duel.GetCurrentPhase()==PHASE_MAIN1
end
function c26806063.filter(c,e,tp)
return c:IsAttack(2200) and c:IsDefense(600) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c26806063.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
local zone=Duel.GetLinkedZone(tp)
local ct=Duel.GetLocationCount(tp,LOCATION_MZONE,tp,LOCATION_REASON_TOFIELD,zone)
return ct>0 and Duel.IsExistingMatchingCard(c26806063.filter,tp,LOCATION_HAND+LOCATION_DECK+LOCATION_GRAVE,0,1,nil,e,tp)
end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND+LOCATION_DECK+LOCATION_GRAVE)
end
function c26806063.activate(e,tp,eg,ep,ev,re,r,rp)
local zone=Duel.GetLinkedZone(tp)
local ct=Duel.GetLocationCount(tp,LOCATION_MZONE,tp,LOCATION_REASON_TOFIELD,zone)
if ct<=0 then return end
if Duel.IsPlayerAffectedByEffect(tp,59822133) then ct=1 end
local g=Duel.GetMatchingGroup(aux.NecroValleyFilter(c26806063.filter),tp,LOCATION_HAND+LOCATION_DECK+LOCATION_GRAVE,0,nil,e,tp)
if g:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=g:SelectSubGroup(tp,aux.dncheck,false,1,ct)
Duel.SpecialSummon(sg,0,tp,tp,false,false,POS_FACEUP,zone)
end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(1,0)
e1:SetTarget(c26806063.ssplimit)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
function c26806063.ssplimit(e,c,sump,sumtype,sumpos,targetp,se)
return not ((c:IsAttack(2200) and c:IsDefense(600)) or (c:IsAttack(3200) and c:IsType(TYPE_LINK)))
end
--假装是圣诞老人
function c26809033.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_EQUIP)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetCountLimit(1,26809033)
e1:SetCost(c26809033.cost)
e1:SetTarget(c26809033.target)
e1:SetOperation(c26809033.operation)
c:RegisterEffect(e1)
end
function c26809033.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
local c=e:GetHandler()
local cid=Duel.GetChainInfo(0,CHAININFO_CHAIN_ID)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_REMAIN_FIELD)
e1:SetProperty(EFFECT_FLAG_OATH)
e1:SetReset(RESET_CHAIN)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_CHAIN_DISABLED)
e2:SetOperation(c26809033.tgop)
e2:SetLabel(cid)
e2:SetReset(RESET_CHAIN)
Duel.RegisterEffect(e2,tp)
end
function c26809033.tgop(e,tp,eg,ep,ev,re,r,rp)
local cid=Duel.GetChainInfo(ev,CHAININFO_CHAIN_ID)
if cid~=e:GetLabel() then return end
if e:GetOwner():IsRelateToChain(ev) then
e:GetOwner():CancelToGrave(false)
end
end
function c26809033.filter(c)
return c:IsFaceup()
end
function c26809033.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and c26809033.filter(chkc) end
if chk==0 then return e:IsHasType(EFFECT_TYPE_ACTIVATE)
and Duel.IsExistingTarget(c26809033.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
Duel.SelectTarget(tp,c26809033.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_EQUIP,e:GetHandler(),1,0,0)
end
function c26809033.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsLocation(LOCATION_SZONE) then return end
if not c:IsRelateToEffect(e) or c:IsStatus(STATUS_LEAVE_CONFIRMED) then return end
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and tc:IsFaceup() then
Duel.Equip(tp,c,tc)
--
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_EQUIP_LIMIT)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetValue(1)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
c:RegisterEffect(e1)
--
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(26809033,0))
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetCode(EVENT_PHASE+PHASE_STANDBY)
e2:SetRange(LOCATION_MZONE)
e2:SetReset(RESET_EVENT+RESETS_STANDARD)
e2:SetCountLimit(1)
e2:SetTarget(c26809033.indtg)
e2:SetOperation(c26809033.indop)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_GRANT)
e3:SetRange(LOCATION_SZONE)
e3:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE)
e3:SetTarget(c26809033.eftg)
e3:SetLabelObject(e2)
c:RegisterEffect(e3)
--
local e4=Effect.CreateEffect(c)
e4:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_FUSION_SUMMON)
e4:SetType(EFFECT_TYPE_QUICK_O)
e4:SetRange(LOCATION_SZONE)
e4:SetCode(EVENT_FREE_CHAIN)
e4:SetCountLimit(1,26809933)
e4:SetCondition(c26809033.spcon)
e4:SetCost(c26809033.spcost)
e4:SetTarget(c26809033.sptg)
e4:SetOperation(c26809033.spop)
e4:SetReset(RESET_EVENT+RESETS_STANDARD)
c:RegisterEffect(e4)
else
c:CancelToGrave(false)
end
end
function c26809033.eftg(e,c)
return e:GetHandler():GetEquipTarget()==c
end
function c26809033.nmfilter(c,cd)
return c:IsFaceup() and not c:IsCode(cd)
end
function c26809033.indtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local cd=e:GetHandler():GetCode()
if chkc then return chkc:IsLocation(LOCATION_MZONE) and c26809033.nmfilter(chkc,cd) end
if chk==0 then return true end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
Duel.SelectTarget(tp,c26809033.nmfilter,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil,cd)
end
function c26809033.indop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if not tc then return end
local c=e:GetHandler()
if c:IsRelateToEffect(e) and c:IsFaceup() and tc:IsRelateToEffect(e) and tc:IsFaceup() then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CHANGE_CODE)
e1:SetValue(tc:GetCode())
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
c:RegisterEffect(e1)
end
end
function c26809033.spcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetEquipTarget()
end
function c26809033.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToGraveAsCost() end
e:SetLabelObject(e:GetHandler():GetEquipTarget())
Duel.SendtoGrave(e:GetHandler(),REASON_COST)
end
function c26809033.filter0(c)
return c:IsFaceup() and c:IsCanBeFusionMaterial()
end
function c26809033.filter1(c,e)
return c:IsFaceup() and c:IsCanBeFusionMaterial() and not c:IsImmuneToEffect(e)
end
function c26809033.filter2(c,e,tp,m,f,chkf)
return c:IsType(TYPE_FUSION) and c:IsRace(RACE_PLANT) and c:IsAttribute(ATTRIBUTE_EARTH) and (not f or f(c))
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false) and c:CheckFusionMaterial(m,nil,chkf)
end
function c26809033.filter3(c,e)
return not c:IsImmuneToEffect(e)
end
function c26809033.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
local chkf=tp
local mg1=Duel.GetFusionMaterial(tp)
local mg2=Duel.GetMatchingGroup(c26809033.filter0,tp,0,LOCATION_MZONE,nil)
mg1:Merge(mg2)
local res=Duel.IsExistingMatchingCard(c26809033.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf)
if not res then
local ce=Duel.GetChainMaterial(tp)
if ce~=nil then
local fgroup=ce:GetTarget()
local mg3=fgroup(ce,e,tp)
local mf=ce:GetValue()
res=Duel.IsExistingMatchingCard(c26809033.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg3,mf,chkf)
end
end
return res
end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end
function c26809033.spop(e,tp,eg,ep,ev,re,r,rp)
local chkf=tp
local mg1=Duel.GetFusionMaterial(tp):Filter(c26809033.filter3,nil,e)
local mg2=Duel.GetMatchingGroup(c26809033.filter1,tp,0,LOCATION_MZONE,nil,e)
mg1:Merge(mg2)
local sg1=Duel.GetMatchingGroup(c26809033.filter2,tp,LOCATION_EXTRA,0,nil,e,tp,mg1,nil,chkf)
local mg3=nil
local sg2=nil
local ce=Duel.GetChainMaterial(tp)
if ce~=nil then
local fgroup=ce:GetTarget()
mg3=fgroup(ce,e,tp)
local mf=ce:GetValue()
sg2=Duel.GetMatchingGroup(c26809033.filter2,tp,LOCATION_EXTRA,0,nil,e,tp,mg3,mf,chkf)
end
if sg1:GetCount()>0 or (sg2~=nil and sg2:GetCount()>0) then
local sg=sg1:Clone()
if sg2 then sg:Merge(sg2) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tg=sg:Select(tp,1,1,nil)
local tc=tg:GetFirst()
if sg1:IsContains(tc) and (sg2==nil or not sg2:IsContains(tc) or not Duel.SelectYesNo(tp,ce:GetDescription())) then
local mat1=Duel.SelectFusionMaterial(tp,tc,mg1,nil,chkf)
tc:SetMaterial(mat1)
Duel.SendtoGrave(mat1,REASON_EFFECT+REASON_MATERIAL+REASON_FUSION)
Duel.BreakEffect()
Duel.SpecialSummon(tc,SUMMON_TYPE_FUSION,tp,tp,false,false,POS_FACEUP)
else
local mat2=Duel.SelectFusionMaterial(tp,tc,mg3,nil,chkf)
local fop=ce:GetOperation()
fop(ce,e,tp,tc,mat2)
end
tc:CompleteProcedure()
end
end
--Nightmare
function c26809034.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,26809034+EFFECT_COUNT_CODE_OATH)
e1:SetTarget(c26809034.target)
e1:SetOperation(c26809034.activate)
c:RegisterEffect(e1)
end
function c26809034.filter(c)
return c:IsType(TYPE_RITUAL) and c:IsAbleToHand()
end
function c26809034.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:GetControler()==tp and chkc:GetLocation()==LOCATION_GRAVE and c26809034.filter(chkc) end
if chk==0 then return Duel.IsExistingTarget(c26809034.filter,tp,LOCATION_GRAVE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectTarget(tp,c26809034.filter,tp,LOCATION_GRAVE,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,g,1,0,0)
end
function c26809034.activate(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then
Duel.SendtoHand(tc,nil,REASON_EFFECT)
end
end
--Black Cat Labyrinth
function c26809035.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,26809035)
e1:SetTarget(c26809035.target)
e1:SetOperation(c26809035.activate)
c:RegisterEffect(e1)
--to hand
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_TOHAND)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DELAY)
e2:SetCode(EVENT_TO_GRAVE)
e2:SetCountLimit(1,26809035)
e2:SetTarget(c26809035.thtg)
e2:SetOperation(c26809035.thop)
c:RegisterEffect(e2)
end
function c26809035.spfilter(c,e,tp,mc)
return c:IsType(TYPE_PENDULUM) and bit.band(c:GetType(),0x81)==0x81 and (not c.mat_filter or c.mat_filter(mc,tp))
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_RITUAL,tp,false,true)
and mc:IsCanBeRitualMaterial(c)
end
function c26809035.rfilter(c,mc)
local mlv=mc:GetRitualLevel(c)
if mlv==mc:GetLevel() then return false end
local lv=c:GetLevel()
return lv==bit.band(mlv,0xffff) or lv==bit.rshift(mlv,16)
end
function c26809035.filter(c,e,tp)
local sg=Duel.GetMatchingGroup(c26809035.spfilter,tp,LOCATION_HAND,0,c,e,tp,c)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
if c:IsLocation(LOCATION_MZONE) then ft=ft+1 end
if Duel.IsPlayerAffectedByEffect(tp,59822133) then ft=1 end
return sg:IsExists(c26809035.rfilter,1,nil,c) or sg:CheckWithSumEqual(Card.GetLevel,c:GetLevel(),1,ft)
end
function c26809035.mfilter(c)
return c:GetLevel()>0 and c:IsFaceup() and c:IsType(TYPE_PENDULUM) and c:IsType(TYPE_RITUAL) and c:IsAbleToGrave()
end
function c26809035.mzfilter(c,tp)
return c:IsLocation(LOCATION_MZONE) and c:IsControler(tp) and c:GetSequence()<5
end
function c26809035.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
if ft<0 then return false end
local mg=Duel.GetRitualMaterial(tp)
if ft>0 then
local mg2=Duel.GetMatchingGroup(c26809035.mfilter,tp,LOCATION_EXTRA,0,nil)
mg:Merge(mg2)
else
mg=mg:Filter(c26809035.mzfilter,nil,tp)
end
return mg:IsExists(c26809035.filter,1,nil,e,tp)
end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND)
end
function c26809035.activate(e,tp,eg,ep,ev,re,r,rp)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
if ft<0 then return end
local mg=Duel.GetRitualMaterial(tp)
if ft>0 then
local mg2=Duel.GetMatchingGroup(c26809035.mfilter,tp,LOCATION_EXTRA,0,nil)
mg:Merge(mg2)
else
mg=mg:Filter(Card.IsLocation,nil,LOCATION_MZONE)
end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local mat=mg:FilterSelect(tp,c26809035.filter,1,1,nil,e,tp)
local mc=mat:GetFirst()
if not mc then return end
local sg=Duel.GetMatchingGroup(c26809035.spfilter,tp,LOCATION_HAND,0,mc,e,tp,mc)
if mc:IsLocation(LOCATION_MZONE) then ft=ft+1 end
if Duel.IsPlayerAffectedByEffect(tp,59822133) then ft=1 end
local b1=sg:IsExists(c26809035.rfilter,1,nil,mc)
local b2=sg:CheckWithSumEqual(Card.GetLevel,mc:GetLevel(),1,ft)
if b1 and (not b2 or Duel.SelectYesNo(tp,aux.Stringid(26809035,0))) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tg=sg:FilterSelect(tp,c26809035.rfilter,1,1,nil,mc)
local tc=tg:GetFirst()
tc:SetMaterial(mat)
if not mc:IsLocation(LOCATION_EXTRA) then
Duel.ReleaseRitualMaterial(mat)
else
Duel.SendtoGrave(mat,REASON_EFFECT+REASON_MATERIAL+REASON_RITUAL)
end
Duel.BreakEffect()
Duel.SpecialSummon(tc,SUMMON_TYPE_RITUAL,tp,tp,false,true,POS_FACEUP)
tc:CompleteProcedure()
else
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tg=sg:SelectWithSumEqual(tp,Card.GetLevel,mc:GetLevel(),1,ft)
local tc=tg:GetFirst()
while tc do
tc:SetMaterial(mat)
tc=tg:GetNext()
end
if not mc:IsLocation(LOCATION_EXTRA) then
Duel.ReleaseRitualMaterial(mat)
else
Duel.SendtoGrave(mat,REASON_EFFECT+REASON_MATERIAL+REASON_RITUAL)
end
Duel.BreakEffect()
tc=tg:GetFirst()
while tc do
Duel.SpecialSummonStep(tc,SUMMON_TYPE_RITUAL,tp,tp,false,true,POS_FACEUP)
tc:CompleteProcedure()
tc=tg:GetNext()
end
Duel.SpecialSummonComplete()
end
end
function c26809035.thfilter(c)
return c:IsFaceup() and bit.band(c:GetType(),0x82)==0x82 and c:IsAbleToHand()
end
function c26809035.thtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsControler(tp) and chkc:IsLocation(LOCATION_REMOVED) and c26809035.thfilter(chkc) end
if chk==0 then return Duel.IsExistingTarget(c26809035.thfilter,tp,LOCATION_REMOVED,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectTarget(tp,c26809035.thfilter,tp,LOCATION_REMOVED,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,g,1,0,0)
end
function c26809035.thop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then
Duel.SendtoHand(tc,nil,REASON_EFFECT)
end
end
......@@ -4,7 +4,7 @@ local m,cm=rsof.DefineCard(33310101)
function cm.initial_effect(c)
local e1=rsef.ACT(c)
local e2=rsef.QO(c,nil,{m,0},{1,0x1},"tg",nil,LOCATION_SZONE,nil,nil,rsop.target2(cm.fun,cm.copyfilter,"tg",LOCATION_DECK),cm.copyop)
local e3=rsef.QO(c,nil,{m,1},{1,0x1},"dis",nil,LOCATION_SZONE,rscon.excard2(Card.IsType,LOCATION_MZONE,0,1,nil,TYPE_RITUAL),nil,rsop.target(aux.disfilter1,"dis",0,LOCATION_ONFIELD),cm.disop)
local e3=rsef.QO(c,nil,{m,1},{1,0x1},"dis",nil,LOCATION_SZONE,nil,nil,rsop.target(aux.disfilter1,"dis",0,LOCATION_ONFIELD),cm.disop)
local e4=rsef.QO(c,nil,{m,2},{1,0x1},nil,nil,LOCATION_SZONE,cm.skipcon,nil,nil,cm.skipop)
end
function cm.copyfilter(c,e,tp)
......@@ -25,13 +25,13 @@ function cm.disop(e,tp)
local tc=Duel.SelectMatchingCard(tp,aux.disfilter1,tp,0,LOCATION_ONFIELD,1,1,nil):GetFirst()
if not tc then return end
Duel.HintSelection(rsgf.Mix2(tc))
local e1,e2=rsef.SV_LIMIT({c,tc},"dis,dise",nil,nil,rsreset.est_pend)
local e1,e2=rsef.SV_LIMIT({c,tc},"dis,dise",nil,nil,rsreset.est)
Duel.AdjustInstantly(c)
if tc:IsDisabled() and tc:IsType(TYPE_MONSTER) then
local e3=rsef.SV_INDESTRUCTABLE({c,tc},"battle",nil,nil,rsreset.est_pend)
local e3=rsef.SV_INDESTRUCTABLE({c,tc},"battle",nil,nil,rsreset.est)
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetReset(rsreset.est_pend)
e4:SetReset(rsreset.est)
e4:SetCode(EFFECT_MUST_ATTACK)
tc:RegisterEffect(e4)
end
......
--可可莉柯特·兽耳布偶
if not pcall(function() require("expansions/script/c10199990") end) then require("script/c10199990") end
local m,cm=rsof.DefineCard(33310103,"Cochrot")
function cm.initial_effect(c)
c:EnableReviveLimit()
local e1=rsef.I(c,{m,0},{1,m},"se,th,sp,dish,ga",nil,LOCATION_HAND,nil,nil,rsop.target({aux.FilterBoolFunction(Card.IsDiscardable,REASON_EFFECT),"dish",LOCATION_HAND },{cm.thfilter,"th",LOCATION_DECK }),cm.thop)
local e2=rsef.FC(c,EVENT_SPSUMMON_SUCCESS)
e2:SetOperation(cm.limitop)
local e3=rsef.RegisterClone(c,e2,"code",EVENT_SUMMON_SUCCESS)
local e4=rsef.RegisterClone(c,e2,"code",EVENT_FLIP_SUMMON_SUCCESS)
local e5=rsef.RegisterClone(c,e2,"code",EVENT_TO_GRAVE,"op",cm.limitop2)
local e6=rsef.STO(c,EVENT_REMOVE,{m,1},{1,m+100},"th","de,dsp",nil,nil,rsop.target(cm.thfilter2,"th",LOCATION_GRAVE),cm.thop2)
end
function cm.thfilter(c)
return c:IsCode(33310102) and c:IsAbleToHand()
end
function cm.thop(e,tp)
local ct=Duel.DiscardHand(tp,Card.IsDiscardable,1,1,REASON_EFFECT,nil,REASON_EFFECT)
if ct==0 then return end
rsof.SelectHint(tp,"th")
local g=Duel.SelectMatchingCard(tp,cm.thfilter,tp,LOCATION_DECK,0,1,1,nil)
if #g<=0 or Duel.SendtoHand(g,nil,REASON_EFFECT)<=0 then return end
Duel.ConfirmCards(1-tp,g)
local sg=Duel.GetMatchingGroup(aux.NecroValleyFilter(cm.spfilter),tp,0,LOCATION_GRAVE,nil,e,tp)
if #sg>0 and Duel.SelectYesNo(tp,aux.Stringid(m,2)) then
Duel.BreakEffect()
rsof.SelectHint(tp,"sp")
local sc=sg:Select(tp,1,1,nil):GetFirst()
if Duel.SpecialSummon(sc,0,tp,1-tp,false,false,POS_FACEUP)>0 then
local e1,e2=rsef.SV_LIMIT({e:GetHandler(),sc,true},"dis,dise",nil,nil,rsreset.est)
end
end
end
function cm.spfilter(c,e,tp)
return c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP,1-tp) and Duel.GetLocationCount(1-tp,LOCATION_MZONE)>0
end
function cm.cfilter(c,tp)
return c:GetSummonPlayer()~=tp
end
function cm.limitop(e,tp,eg,ep,ev,re,r,rp)
if eg:IsExists(cm.cfilter,1,nil,tp) then
Duel.SetChainLimitTillChainEnd(cm.chlimit)
end
end
function cm.cfilter2(c,tp)
return c:GetOwner()~=tp
end
function cm.limitop2(e,tp,eg,ep,ev,re,r,rp)
if eg:IsExists(cm.cfilter2,1,nil,tp) then
Duel.SetChainLimitTillChainEnd(cm.chlimit)
end
end
function cm.chlimit(e,ep,tp)
return tp==ep
end
function cm.thfilter2(c)
return c:IsAbleToHand() and c:GetType()&0x82==0x82
end
function cm.thop2(e,tp)
rsof.SelectHint(tp,"th")
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.thfilter2),tp,LOCATION_GRAVE,0,1,1,nil)
rsof.SendtoHand(g)
end
\ No newline at end of file
--可可莉柯特·地狱尖啸者
if not pcall(function() require("expansions/script/c10199990") end) then require("script/c10199990") end
local m,cm=rsof.DefineCard(33310104,"Cochrot")
function cm.initial_effect(c)
c:EnableReviveLimit()
local e1=rsef.QO(c,nil,{m,0},{1,m},"se,th,rm,dish,ga",nil,LOCATION_HAND,nil,nil,rsop.target({aux.FilterBoolFunction(Card.IsDiscardable,REASON_EFFECT),"dish",LOCATION_HAND },{cm.thfilter,"th",LOCATION_DECK }),cm.thop)
--act limit
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetCode(EFFECT_CANNOT_ACTIVATE)
e2:SetCondition(cm.con)
e2:SetRange(LOCATION_MZONE)
e2:SetTargetRange(0,1)
e2:SetValue(cm.aclimit)
c:RegisterEffect(e2)
local e6=rsef.STO(c,EVENT_REMOVE,{m,1},{1,m+100},"td","de,dsp",nil,nil,rsop.target(Card.IsAbleToDeck,"td",LOCATION_GRAVE+LOCATION_REMOVED),cm.tdop)
end
function cm.thfilter(c)
return c:IsCode(33310101) and c:IsAbleToHand()
end
function cm.thop(e,tp)
local ct=Duel.DiscardHand(tp,Card.IsDiscardable,1,1,REASON_EFFECT,nil,REASON_EFFECT)
if ct==0 then return end
rsof.SelectHint(tp,"th")
local g=Duel.SelectMatchingCard(tp,cm.thfilter,tp,LOCATION_DECK,0,1,1,nil)
if #g<=0 or Duel.SendtoHand(g,nil,REASON_EFFECT)<=0 then return end
Duel.ConfirmCards(1-tp,g)
local rg=Duel.GetMatchingGroup(aux.NecroValleyFilter(Card.IsAbleToRemove),tp,LOCATION_GRAVE,0,nil)
if #rg>0 and Duel.SelectYesNo(tp,aux.Stringid(m,2)) then
Duel.BreakEffect()
rsof.SelectHint(tp,"rm")
rg=rg:Select(tp,1,1,nil)
rsof.Remove(rg)
end
end
function cm.con(e)
local ph=Duel.GetCurrentPhase()
return ph>=PHASE_BATTLE_START and ph<=PHASE_BATTLE
end
function cm.aclimit(e,re,tp)
return not re:GetOwnerPlayer()~=e:GetOwnerPlayer()
end
function cm.tdop(e,tp)
rsof.SelectHint(tp,"td")
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(Card.IsAbleToDeck),tp,LOCATION_GRAVE+LOCATION_REMOVED,0,1,1,nil)
rsof.SendtoDeck(g)
end
\ No newline at end of file
......@@ -996,6 +996,11 @@ function cm.PConditionFilterNanahira(c,e,tp,lscale,rscale,f,tc,eset)
and (PENDULUM_CHECKLIST&(0x1<<tp)==0 or aux.PConditionExtraFilter(c,e,tp,lscale,rscale,eset))
and not c:IsForbidden() and (not f or f(c,tc))
end
function cm.SetForceExtra(tp,res)
if forced_to_extra then
forced_to_extra[tp]=res
end
end
function cm.PendConditionNanahira()
return function(e,c,og)
if c==nil then return true end
......@@ -1010,7 +1015,9 @@ function cm.PendConditionNanahira()
local ft=Duel.GetUsableMZoneCount(tp)
if ft<=0 then return false end
local mft=Duel.GetMZoneCount(tp)
cm.SetForceExtra(tp,true)
local eft=Duel.GetLocationCountFromEx(tp)
cm.SetForceExtra(tp,false)
local g=nil
if og then
g=og:Filter(aux.PConditionFilter,1,nil,e,tp,lscale,rscale,eset)
......@@ -1056,7 +1063,9 @@ function cm.PendOperationNanahira()
local eset={Duel.IsPlayerAffectedByEffect(tp,EFFECT_EXTRA_PENDULUM_SUMMON)}
local ft=Duel.GetUsableMZoneCount(tp)
local mft=Duel.GetMZoneCount(tp)
cm.SetForceExtra(tp,true)
local eft=Duel.GetLocationCountFromEx(tp)
cm.SetForceExtra(tp,false)
if Duel.IsPlayerAffectedByEffect(tp,59822133) then
mft=math.min(1,mft)
mft=math.min(1,eft)
......@@ -1138,6 +1147,7 @@ function cm.PendOperationNanahira()
sg:Merge(g)
Duel.HintSelection(Group.FromCards(c))
Duel.HintSelection(Group.FromCards(rpz))
cm.SetForceExtra(tp,true)
end
end
function cm.NanahiraPCardFilter(c)
......
--神奇术士 炙炎侍者
function c65020154.initial_effect(c)
--counter
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetCost(c65020154.cost)
e1:SetTarget(c65020154.tg)
e1:SetOperation(c65020154.op)
c:RegisterEffect(e1)
--cannot trigger
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_CANNOT_TRIGGER)
e3:SetRange(LOCATION_MZONE)
e3:SetTargetRange(0,LOCATION_ONFIELD)
e3:SetTarget(c65020154.target)
c:RegisterEffect(e3)
end
function c65020154.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetCounter(tp,LOCATION_ONFIELD,0,0x12da)>0 end
Duel.RemoveCounter(tp,LOCATION_ONFIELD,0,0x12da,1,REASON_COST)
end
function c65020154.tg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsOnField() and chkc:IsControler(1-tp) and chkc:IsFaceup() end
if chk==0 then return Duel.IsExistingTarget(Card.IsFaceup,tp,0,LOCATION_ONFIELD,1,nil) end
Duel.SelectTarget(tp,Card.IsFaceup,tp,0,LOCATION_ONFIELD,1,1,nil)
end
function c65020154.op(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and tc:IsFaceup() then
tc:AddCounter(0x12da,1)
end
end
function c65020154.target(e,c)
return c:GetCounter(0x12da)>0
end
\ No newline at end of file
--神奇术士 流水少女
function c65020155.initial_effect(c)
--counter
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetCost(c65020155.cost)
e1:SetTarget(c65020155.tg)
e1:SetOperation(c65020155.op)
c:RegisterEffect(e1)
--cannot trigger
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_DISABLE)
e3:SetRange(LOCATION_MZONE)
e3:SetTargetRange(0,LOCATION_ONFIELD)
e3:SetTarget(c65020155.target)
c:RegisterEffect(e3)
end
function c65020155.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetCounter(tp,LOCATION_ONFIELD,0,0x12da)>0 end
Duel.RemoveCounter(tp,LOCATION_ONFIELD,0,0x12da,1,REASON_COST)
end
function c65020155.tg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsOnField() and chkc:IsControler(1-tp) and chkc:IsFaceup() end
if chk==0 then return Duel.IsExistingTarget(Card.IsFaceup,tp,0,LOCATION_ONFIELD,1,nil) end
Duel.SelectTarget(tp,Card.IsFaceup,tp,0,LOCATION_ONFIELD,1,1,nil)
end
function c65020155.op(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and tc:IsFaceup() then
tc:AddCounter(0x12da,1)
end
end
function c65020155.target(e,c)
return c:GetCounter(0x12da)>0
end
--神奇术士 星光公主
function c65020156.initial_effect(c)
--counter
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetCost(c65020156.cost)
e1:SetTarget(c65020156.tg)
e1:SetOperation(c65020156.op)
c:RegisterEffect(e1)
--cannot trigger
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_SET_ATTACK)
e3:SetRange(LOCATION_MZONE)
e3:SetTargetRange(0,LOCATION_MZONE)
e3:SetTarget(c65020156.target)
e3:SetValue(0)
c:RegisterEffect(e3)
local e2=e3:Clone()
e2:SetCode(EFFECT_SET_DEFENSE)
c:RegisterEffect(e2)
end
function c65020156.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetCounter(tp,LOCATION_ONFIELD,0,0x12da)>0 end
Duel.RemoveCounter(tp,LOCATION_ONFIELD,0,0x12da,1,REASON_COST)
end
function c65020156.tg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsOnField() and chkc:IsControler(1-tp) and chkc:IsFaceup() end
if chk==0 then return Duel.IsExistingTarget(Card.IsFaceup,tp,0,LOCATION_ONFIELD,1,nil) end
Duel.SelectTarget(tp,Card.IsFaceup,tp,0,LOCATION_ONFIELD,1,1,nil)
end
function c65020156.op(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and tc:IsFaceup() then
tc:AddCounter(0x12da,1)
end
end
function c65020156.target(e,c)
return c:GetCounter(0x12da)>0
end
--神奇术士 漫游法师
function c65020157.initial_effect(c)
--summon with s/t
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetCode(EFFECT_ADD_EXTRA_TRIBUTE)
e0:SetTargetRange(LOCATION_SZONE,0)
e0:SetTarget(c65020157.ettg)
e0:SetValue(POS_FACEUP_ATTACK)
c:RegisterEffect(e0)
--counter
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1)
e1:SetCost(c65020157.cost)
e1:SetTarget(c65020157.tg)
e1:SetOperation(c65020157.op)
c:RegisterEffect(e1)
--Add counter2
local e6=Effect.CreateEffect(c)
e6:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e6:SetCode(EVENT_LEAVE_FIELD_P)
e6:SetRange(LOCATION_MZONE)
e6:SetCondition(c65020157.addcon)
e6:SetOperation(c65020157.addop)
c:RegisterEffect(e6)
end
function c65020157.ettg(e,c)
return c:IsType(TYPE_CONTINUOUS) and c:IsType(TYPE_SPELL)
end
function c65020157.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetCounter(tp,LOCATION_ONFIELD,0,0x12da)>0 end
Duel.RemoveCounter(tp,LOCATION_ONFIELD,0,0x12da,1,REASON_COST)
end
function c65020157.tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsFaceup,tp,0,LOCATION_ONFIELD,1,nil) end
end
function c65020157.op(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(Card.IsFaceup,tp,0,LOCATION_ONFIELD,nil)
local tc=g:GetFirst()
while tc do
tc:AddCounter(0x12da,1)
tc=g:GetNext()
end
end
function c65020157.addcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(c65020157.addfil,tp,LOCATION_SZONE,0,1,nil) and e:GetHandler():GetFlagEffect(65020157)==0
end
function c65020157.addfil(c)
return c:IsFaceup() and c:IsType(TYPE_SPELL) and c:IsType(TYPE_CONTINUOUS)
end
function c65020157.addop(e,tp,eg,ep,ev,re,r,rp)
local count=0
local c=eg:GetFirst()
while c~=nil do
if c:IsLocation(LOCATION_ONFIELD) then
count=count+c:GetCounter(0x12da)
end
c=eg:GetNext()
end
if count>0 and Duel.SelectYesNo(tp,aux.Stringid(65020157,0)) then
local g=Duel.SelectMatchingCard(tp,c65020157.addfil,tp,LOCATION_SZONE,0,1,1,nil)
local tc=g:GetFirst()
tc:AddCounter(0x12da,count)
e:GetHandler():RegisterFlagEffect(65020157,RESET_PHASE+PHASE_END,0,1)
end
end
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
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