Commit 1f486c78 authored by POLYMER's avatar POLYMER

update 251027 std

parent 303c263a
......@@ -2805,6 +2805,17 @@
98373992 0
98373995 0
98373998 0
#「化龙」 - 格林
95101210 0
95101211 0
95101212 0
95101213 0
95101214 0
95101215 0
95101216 0
95101217 0
95101218 0
95101219 0
#Tears are now in Japari Park Again!
572850 1
4928565 0
......@@ -3520,13 +3531,6 @@
67200432 1
67200455 1
#230122
14000301 0
14000302 0
14000303 0
14000304 0
14000305 0
14000306 0
14000307 0
14050002 0
15000904 0
33200712 0
......@@ -4175,7 +4179,7 @@
#220417
14010111 0
22520010 0
3000070 2
3000070 0
#220410
33701317 0
40009259 0
......@@ -7120,6 +7124,8 @@
95101174 0
95101180 0
71688208 0
22024690 0
71688492 0
#limit
33403513 1
82204250 0
......@@ -7319,6 +7325,11 @@
69015963 0 --Cyber-Stein
62320425 0 --Agido the Ancient Sentry
25926710 0 --Kelbek the Ancient Vanguard
6728559 0 --Archnemeses Protos
80237445 0 --Artifact Mjollnir
19740112 0 --Barrier Statue of the Drought
47961808 0 --Barrier Statue of the Inferno
42009836 0 --Fossil Dyna Pachycephalo
41855169 0
55204071 0
##EXTRA DECK MONSTERS
......@@ -7362,6 +7373,7 @@
04280258 0 --Apollousa, Bow of the Goddess
62242678 0 --Hot Red Dragon Archfiend King Calamity
27552504 0 --Beatrice, Lady of the Eternal
38273745 0 --Evilswarm Ouroboros
65330383 0
30342076 0
21044178 0
......@@ -7408,6 +7420,7 @@
43262273 0 --Appointer of the Red Lotus
1041278 0 --Branded Expulsion
23516703 0 --Summon Limit
83326048 0 --Dimensional Barrier
#Limited TCG
##MAIN DECK MONSTERS
7902349 1 --Left Arm of the forbidden one
......@@ -7442,7 +7455,6 @@
73539069 1 --Striker Dragon
93896655 1 --Sunavalon Dryas
65563871 1 --Sunvine Healer
6728559 1 --Archnemeses Protos
75433814 1 --Number 40: Gimmick Puppet of Strings
69170557 1 --Number C40: Gimmick Puppet of Dark Strings
46640168 1 --Fiendsmith's Lacrima
......@@ -7714,6 +7726,11 @@
69015963 1 --Cyber-Stein
62320425 1 --Agido the Ancient Sentry
25926710 1 --Kelbek the Ancient Vanguard
6728559 1 --Archnemeses Protos
80237445 1 --Artifact Mjollnir
19740112 1 --Barrier Statue of the Drought
47961808 1 --Barrier Statue of the Inferno
42009836 1 --Fossil Dyna Pachycephalo
41855169 1
55204071 1
71818935 1
......@@ -7761,6 +7778,7 @@
04280258 1 --Apollousa, Bow of the Goddess
62242678 1 --Hot Red Dragon Archfiend King Calamity
27552504 1 --Beatrice, Lady of the Eternal
38273745 1 --Evilswarm Ouroboros
65330383 1
30342076 1
21044178 1
......@@ -7803,6 +7821,7 @@
43262273 1 --Appointer of the Red Lotus
1041278 1 --Branded Expulsion
23516703 1 --Summon Limit
83326048 1 --Dimensional Barrier
98942051 0
53796106 0
14824018 0
......
No preview for this file type
expansions/pics/14000301.jpg

11.4 KB | W: | H:

expansions/pics/14000301.jpg

48.7 KB | W: | H:

expansions/pics/14000301.jpg
expansions/pics/14000301.jpg
expansions/pics/14000301.jpg
expansions/pics/14000301.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/14000302.jpg

10.9 KB | W: | H:

expansions/pics/14000302.jpg

49.2 KB | W: | H:

expansions/pics/14000302.jpg
expansions/pics/14000302.jpg
expansions/pics/14000302.jpg
expansions/pics/14000302.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/14000303.jpg

9.67 KB | W: | H:

expansions/pics/14000303.jpg

45.2 KB | W: | H:

expansions/pics/14000303.jpg
expansions/pics/14000303.jpg
expansions/pics/14000303.jpg
expansions/pics/14000303.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/14000304.jpg

11.9 KB | W: | H:

expansions/pics/14000304.jpg

51.2 KB | W: | H:

expansions/pics/14000304.jpg
expansions/pics/14000304.jpg
expansions/pics/14000304.jpg
expansions/pics/14000304.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/14000305.jpg

13.2 KB | W: | H:

expansions/pics/14000305.jpg

50.8 KB | W: | H:

expansions/pics/14000305.jpg
expansions/pics/14000305.jpg
expansions/pics/14000305.jpg
expansions/pics/14000305.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/14000306.jpg

11.8 KB | W: | H:

expansions/pics/14000306.jpg

52.7 KB | W: | H:

expansions/pics/14000306.jpg
expansions/pics/14000306.jpg
expansions/pics/14000306.jpg
expansions/pics/14000306.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/14000307.jpg

12.4 KB | W: | H:

expansions/pics/14000307.jpg

50.2 KB | W: | H:

expansions/pics/14000307.jpg
expansions/pics/14000307.jpg
expansions/pics/14000307.jpg
expansions/pics/14000307.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/66670310.jpg

55.3 KB | W: | H:

expansions/pics/66670310.jpg

56.6 KB | W: | H:

expansions/pics/66670310.jpg
expansions/pics/66670310.jpg
expansions/pics/66670310.jpg
expansions/pics/66670310.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/66690110.jpg

65.1 KB | W: | H:

expansions/pics/66690110.jpg

64.2 KB | W: | H:

expansions/pics/66690110.jpg
expansions/pics/66690110.jpg
expansions/pics/66690110.jpg
expansions/pics/66690110.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/66690130.jpg

62.7 KB | W: | H:

expansions/pics/66690130.jpg

61.6 KB | W: | H:

expansions/pics/66690130.jpg
expansions/pics/66690130.jpg
expansions/pics/66690130.jpg
expansions/pics/66690130.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/93050041.jpg

107 KB | W: | H:

expansions/pics/93050041.jpg

35.4 KB | W: | H:

expansions/pics/93050041.jpg
expansions/pics/93050041.jpg
expansions/pics/93050041.jpg
expansions/pics/93050041.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/93050043.jpg

76 KB | W: | H:

expansions/pics/93050043.jpg

35.7 KB | W: | H:

expansions/pics/93050043.jpg
expansions/pics/93050043.jpg
expansions/pics/93050043.jpg
expansions/pics/93050043.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/93050100.jpg

28.5 KB | W: | H:

expansions/pics/93050100.jpg

39.1 KB | W: | H:

expansions/pics/93050100.jpg
expansions/pics/93050100.jpg
expansions/pics/93050100.jpg
expansions/pics/93050100.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/93050101.jpg

25.9 KB | W: | H:

expansions/pics/93050101.jpg

37.8 KB | W: | H:

expansions/pics/93050101.jpg
expansions/pics/93050101.jpg
expansions/pics/93050101.jpg
expansions/pics/93050101.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/93050102.jpg

27.2 KB | W: | H:

expansions/pics/93050102.jpg

38 KB | W: | H:

expansions/pics/93050102.jpg
expansions/pics/93050102.jpg
expansions/pics/93050102.jpg
expansions/pics/93050102.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/93050103.jpg

26.6 KB | W: | H:

expansions/pics/93050103.jpg

36.3 KB | W: | H:

expansions/pics/93050103.jpg
expansions/pics/93050103.jpg
expansions/pics/93050103.jpg
expansions/pics/93050103.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/93050104.jpg

26.6 KB | W: | H:

expansions/pics/93050104.jpg

35.5 KB | W: | H:

expansions/pics/93050104.jpg
expansions/pics/93050104.jpg
expansions/pics/93050104.jpg
expansions/pics/93050104.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/93050105.jpg

32.2 KB | W: | H:

expansions/pics/93050105.jpg

37.6 KB | W: | H:

expansions/pics/93050105.jpg
expansions/pics/93050105.jpg
expansions/pics/93050105.jpg
expansions/pics/93050105.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/93050106.jpg

24.7 KB | W: | H:

expansions/pics/93050106.jpg

32.7 KB | W: | H:

expansions/pics/93050106.jpg
expansions/pics/93050106.jpg
expansions/pics/93050106.jpg
expansions/pics/93050106.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/93050107.jpg

26.6 KB | W: | H:

expansions/pics/93050107.jpg

35.6 KB | W: | H:

expansions/pics/93050107.jpg
expansions/pics/93050107.jpg
expansions/pics/93050107.jpg
expansions/pics/93050107.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/93050108.jpg

38.8 KB | W: | H:

expansions/pics/93050108.jpg

32.9 KB | W: | H:

expansions/pics/93050108.jpg
expansions/pics/93050108.jpg
expansions/pics/93050108.jpg
expansions/pics/93050108.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/95015000.jpg

27 KB | W: | H:

expansions/pics/95015000.jpg

27.1 KB | W: | H:

expansions/pics/95015000.jpg
expansions/pics/95015000.jpg
expansions/pics/95015000.jpg
expansions/pics/95015000.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/95015010.jpg

33.9 KB | W: | H:

expansions/pics/95015010.jpg

34 KB | W: | H:

expansions/pics/95015010.jpg
expansions/pics/95015010.jpg
expansions/pics/95015010.jpg
expansions/pics/95015010.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/95015020.jpg

33.2 KB | W: | H:

expansions/pics/95015020.jpg

33.3 KB | W: | H:

expansions/pics/95015020.jpg
expansions/pics/95015020.jpg
expansions/pics/95015020.jpg
expansions/pics/95015020.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/95015030.jpg

31.9 KB | W: | H:

expansions/pics/95015030.jpg

32 KB | W: | H:

expansions/pics/95015030.jpg
expansions/pics/95015030.jpg
expansions/pics/95015030.jpg
expansions/pics/95015030.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/95015040.jpg

33.3 KB | W: | H:

expansions/pics/95015040.jpg

33.4 KB | W: | H:

expansions/pics/95015040.jpg
expansions/pics/95015040.jpg
expansions/pics/95015040.jpg
expansions/pics/95015040.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/95015050.jpg

32.9 KB | W: | H:

expansions/pics/95015050.jpg

33 KB | W: | H:

expansions/pics/95015050.jpg
expansions/pics/95015050.jpg
expansions/pics/95015050.jpg
expansions/pics/95015050.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/95015060.jpg

34.4 KB | W: | H:

expansions/pics/95015060.jpg

34.5 KB | W: | H:

expansions/pics/95015060.jpg
expansions/pics/95015060.jpg
expansions/pics/95015060.jpg
expansions/pics/95015060.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/95015070.jpg

31.9 KB | W: | H:

expansions/pics/95015070.jpg

31.9 KB | W: | H:

expansions/pics/95015070.jpg
expansions/pics/95015070.jpg
expansions/pics/95015070.jpg
expansions/pics/95015070.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/95015080.jpg

35 KB | W: | H:

expansions/pics/95015080.jpg

35 KB | W: | H:

expansions/pics/95015080.jpg
expansions/pics/95015080.jpg
expansions/pics/95015080.jpg
expansions/pics/95015080.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/95015100.jpg

30.6 KB | W: | H:

expansions/pics/95015100.jpg

30.7 KB | W: | H:

expansions/pics/95015100.jpg
expansions/pics/95015100.jpg
expansions/pics/95015100.jpg
expansions/pics/95015100.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/95015110.jpg

34.1 KB | W: | H:

expansions/pics/95015110.jpg

34.2 KB | W: | H:

expansions/pics/95015110.jpg
expansions/pics/95015110.jpg
expansions/pics/95015110.jpg
expansions/pics/95015110.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/95015120.jpg

26.2 KB | W: | H:

expansions/pics/95015120.jpg

26.3 KB | W: | H:

expansions/pics/95015120.jpg
expansions/pics/95015120.jpg
expansions/pics/95015120.jpg
expansions/pics/95015120.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/95015130.jpg

31.9 KB | W: | H:

expansions/pics/95015130.jpg

32.1 KB | W: | H:

expansions/pics/95015130.jpg
expansions/pics/95015130.jpg
expansions/pics/95015130.jpg
expansions/pics/95015130.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/95015140.jpg

26.7 KB | W: | H:

expansions/pics/95015140.jpg

26.8 KB | W: | H:

expansions/pics/95015140.jpg
expansions/pics/95015140.jpg
expansions/pics/95015140.jpg
expansions/pics/95015140.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/95015150.jpg

34.1 KB | W: | H:

expansions/pics/95015150.jpg

34.2 KB | W: | H:

expansions/pics/95015150.jpg
expansions/pics/95015150.jpg
expansions/pics/95015150.jpg
expansions/pics/95015150.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/95015160.jpg

31.1 KB | W: | H:

expansions/pics/95015160.jpg

31.2 KB | W: | H:

expansions/pics/95015160.jpg
expansions/pics/95015160.jpg
expansions/pics/95015160.jpg
expansions/pics/95015160.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/95015170.jpg

28.3 KB | W: | H:

expansions/pics/95015170.jpg

28.4 KB | W: | H:

expansions/pics/95015170.jpg
expansions/pics/95015170.jpg
expansions/pics/95015170.jpg
expansions/pics/95015170.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/95016020.jpg

29.4 KB | W: | H:

expansions/pics/95016020.jpg

29.5 KB | W: | H:

expansions/pics/95016020.jpg
expansions/pics/95016020.jpg
expansions/pics/95016020.jpg
expansions/pics/95016020.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/95016030.jpg

28 KB | W: | H:

expansions/pics/95016030.jpg

28.1 KB | W: | H:

expansions/pics/95016030.jpg
expansions/pics/95016030.jpg
expansions/pics/95016030.jpg
expansions/pics/95016030.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/95016110.jpg

27.8 KB | W: | H:

expansions/pics/95016110.jpg

27.9 KB | W: | H:

expansions/pics/95016110.jpg
expansions/pics/95016110.jpg
expansions/pics/95016110.jpg
expansions/pics/95016110.jpg
  • 2-up
  • Swipe
  • Onion skin
--星绘·启明
function c11185070.initial_effect(c)
aux.AddCodeList(c,0x452)
--pendulum summon
aux.EnablePendulumAttribute(c)
--spsummon
......@@ -38,7 +39,7 @@ function c11185070.initial_effect(c)
Duel.AddCustomActivityCounter(11185070,ACTIVITY_SPSUMMON,c11185070.counterfilter)
end
function c11185070.counterfilter(c)
return c:IsSetCard(0x452) or c:IsType(TYPE_TUNER)
return c:IsRace(RACE_FAIRY) or aux.IsCodeListed(c,0x452)
end
function c11185070.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
......@@ -82,7 +83,7 @@ function c11185070.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.RegisterEffect(e2,tp)
end
function c11185070.splimit(e,c)
return not (c:IsSetCard(0x452) or c:IsType(TYPE_TUNER))
return not (c:IsRace(RACE_FAIRY) or aux.IsCodeListed(c,0x452))
end
function c11185070.thfilter(c,e,tp,ck)
return c:IsSetCard(0x452) and c:IsType(TYPE_MONSTER) and (c:IsAbleToHand()
......
--星绘·汐澜
function c11185080.initial_effect(c)
aux.AddCodeList(c,0x452)
--pendulum summon
aux.EnablePendulumAttribute(c)
--Activate
......@@ -40,7 +41,7 @@ function c11185080.initial_effect(c)
Duel.AddCustomActivityCounter(11185080,ACTIVITY_SPSUMMON,c11185080.counterfilter)
end
function c11185080.counterfilter(c)
return c:IsSetCard(0x452) or c:IsType(TYPE_TUNER)
return c:IsRace(RACE_FAIRY) or aux.IsCodeListed(c,0x452)
end
function c11185080.filter(c)
return c:IsFaceup() and c:IsCanAddCounter(0x452,1) and c:IsSetCard(0x452)
......@@ -97,7 +98,7 @@ function c11185080.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.RegisterEffect(e2,tp)
end
function c11185080.splimit(e,c)
return not (c:IsSetCard(0x452) or c:IsType(TYPE_TUNER))
return not (c:IsRace(RACE_FAIRY) or aux.IsCodeListed(c,0x452))
end
function c11185080.thfilter(c)
return c:IsSetCard(0x452) and c:IsType(TYPE_SPELL) and c:IsAbleToHand()
......
--星绘·赤尧
function c11185085.initial_effect(c)
aux.AddCodeList(c,0x452)
c:EnableCounterPermit(0x452)
--pendulum summon
aux.EnablePendulumAttribute(c)
......
--星绘·风阊
function c11185090.initial_effect(c)
aux.AddCodeList(c,0x452)
c:EnableCounterPermit(0x452)
--pendulum summon
aux.EnablePendulumAttribute(c)
......@@ -41,7 +42,7 @@ function c11185090.initial_effect(c)
Duel.AddCustomActivityCounter(11185090,ACTIVITY_SPSUMMON,c11185090.counterfilter)
end
function c11185090.counterfilter(c)
return c:IsSetCard(0x452) or c:IsType(TYPE_TUNER)
return c:IsRace(RACE_FAIRY) or aux.IsCodeListed(c,0x452)
end
function c11185090.tgcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsMainPhase()
......@@ -62,7 +63,7 @@ function c11185090.tgcost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.RegisterEffect(e2,tp)
end
function c11185090.splimit(e,c)
return not (c:IsSetCard(0x452) or c:IsType(TYPE_TUNER))
return not (c:IsRace(RACE_FAIRY) or aux.IsCodeListed(c,0x452))
end
function c11185090.tgfilter(c)
return c:IsSetCard(0x452) and c:IsType(0x6) and (c:IsAbleToGrave() or c:IsAbleToRemove())
......
--星绘·鄢暨
function c11185095.initial_effect(c)
aux.AddCodeList(c,0x452)
c:EnableCounterPermit(0x452)
--pendulum summon
aux.EnablePendulumAttribute(c)
......
--星绘·星谛
function c11185100.initial_effect(c)
aux.AddCodeList(c,0x452)
c:EnableCounterPermit(0x452)
--pendulum summon
aux.EnablePendulumAttribute(c)
......@@ -41,7 +42,7 @@ function c11185100.initial_effect(c)
Duel.AddCustomActivityCounter(11185100,ACTIVITY_SPSUMMON,c11185100.counterfilter)
end
function c11185100.counterfilter(c)
return c:IsSetCard(0x452) or c:IsType(TYPE_TUNER)
return c:IsRace(RACE_FAIRY) or aux.IsCodeListed(c,0x452)
end
function c11185100.tgcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsMainPhase()
......@@ -62,7 +63,7 @@ function c11185100.tgcost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.RegisterEffect(e2,tp)
end
function c11185100.splimit(e,c)
return not (c:IsSetCard(0x452) or c:IsType(TYPE_TUNER))
return not (c:IsRace(RACE_FAIRY) or aux.IsCodeListed(c,0x452))
end
function c11185100.tgfilter(c)
return c:IsSetCard(0x452) and c:IsType(0x1) and (c:IsAbleToGrave() or c:IsAbleToRemove())
......
--星绘·澪
function c11185105.initial_effect(c)
aux.AddCodeList(c,0x452)
aux.AddMaterialCodeList(c,11185070,11185080)
--synchro summon
aux.AddSynchroProcedure(c,aux.FilterBoolFunction(Card.IsCode,11185070),aux.FilterBoolFunction(Card.IsCode,11185080),1,1)
......
--星绘颂章
function c11185110.initial_effect(c)
aux.AddCodeList(c,0x452)
c:EnableCounterPermit(0x452)
--Activate
local e0=Effect.CreateEffect(c)
......
--星绘·颂曲
function c11185115.initial_effect(c)
aux.AddCodeList(c,0x452)
--
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SEARCH+CATEGORY_TOHAND+CATEGORY_SPECIAL_SUMMON)
......@@ -24,7 +25,7 @@ function c11185115.initial_effect(c)
Duel.AddCustomActivityCounter(11185115,ACTIVITY_SPSUMMON,c11185115.counterfilter)
end
function c11185115.counterfilter(c)
return c:IsSetCard(0x452) or c:IsType(TYPE_TUNER)
return c:IsRace(RACE_FAIRY) or aux.IsCodeListed(c,0x452)
end
function c11185115.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetCustomActivityCount(11185115,tp,ACTIVITY_SUMMON)==0
......@@ -42,7 +43,7 @@ function c11185115.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.RegisterEffect(e2,tp)
end
function c11185115.splimit(e,c)
return not (c:IsSetCard(0x452) or c:IsType(TYPE_TUNER))
return not (c:IsRace(RACE_FAIRY) or aux.IsCodeListed(c,0x452))
end
function c11185115.thfilter(c,e,tp)
if not (c:IsSetCard(0x452) and c:IsType(TYPE_MONSTER)) then return false end
......
--星绘·奏曲
function c11185120.initial_effect(c)
aux.AddCodeList(c,0x452)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,11185120)
e1:SetTarget(c11185120.target1)
e1:SetTarget(c11185120.target)
e1:SetOperation(c11185120.operation)
c:RegisterEffect(e1)
--
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_GRAVE+LOCATION_REMOVED)
e2:SetCountLimit(1,11185120+1)
e2:SetCost(c11185120.cost)
e2:SetTarget(c11185120.target)
e2:SetOperation(c11185120.activate)
......@@ -22,7 +21,7 @@ end
function c11185120.filter(c)
return c:IsSetCard(0x452) and not c:IsCode(11185120) and c:IsAbleToHand()
end
function c11185120.target1(e,tp,eg,ep,ev,re,r,rp,chk)
function c11185120.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c11185120.filter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
......
--虹龍·朔
function c11185205.initial_effect(c)
aux.AddCodeList(c,0x452)
c:EnableCounterPermit(0x452)
--spsummon
local e1=Effect.CreateEffect(c)
......@@ -68,7 +69,7 @@ function c11185205.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterEffect(e1,tp)
end
function c11185205.splimit(e,c)
return not (c:IsRace(RACE_WYRM) or c:IsType(TYPE_TUNER))
return not (c:IsRace(RACE_WYRM) or aux.IsCodeListed(c,0x452))
end
function c11185205.tfcfilter(c)
return not c:IsPublic()
......
--虹龍·護
function c11185210.initial_effect(c)
c:EnableCounterPermit(0x452)
aux.AddCodeList(c,0x452)
--spsummon
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_SEARCH+CATEGORY_TOHAND+CATEGORY_COUNTER)
......@@ -68,7 +69,7 @@ function c11185210.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterEffect(e1,tp)
end
function c11185210.splimit(e,c)
return not (c:IsRace(RACE_WYRM) or c:IsType(TYPE_TUNER))
return not (c:IsRace(RACE_WYRM) or aux.IsCodeListed(c,0x452))
end
function c11185210.rmfilter(c)
return c:IsSetCard(0x453) and c:IsType(0x6) and c:IsAbleToRemove()
......
--虹龍·擺
function c11185215.initial_effect(c)
aux.AddCodeList(c,0x452)
c:EnableCounterPermit(0x452)
--spsummon
local e1=Effect.CreateEffect(c)
......@@ -67,7 +68,7 @@ function c11185215.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterEffect(e1,tp)
end
function c11185215.splimit(e,c)
return not (c:IsRace(RACE_WYRM) or c:IsType(TYPE_TUNER))
return not (c:IsRace(RACE_WYRM) or aux.IsCodeListed(c,0x452))
end
function c11185215.spfilter(c,e,tp)
return c:IsSetCard(0x453) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:IsFaceupEx()
......
--虹龍·鋼
function c11185220.initial_effect(c)
aux.AddCodeList(c,0x452)
c:EnableCounterPermit(0x452)
--spsummon
local e1=Effect.CreateEffect(c)
......@@ -68,7 +69,7 @@ function c11185220.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterEffect(e1,tp)
end
function c11185220.splimit(e,c)
return not (c:IsRace(RACE_WYRM) or c:IsType(TYPE_TUNER))
return not (c:IsRace(RACE_WYRM) or aux.IsCodeListed(c,0x452))
end
function c11185220.thfilter(c)
return c:IsSetCard(0x453) and c:IsAbleToHand() and c:IsFaceupEx()
......@@ -77,7 +78,7 @@ function c11185220.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c11185220.thfilter,tp,0x20,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,0x20)
end
function c11185220.spop2(e,tp,eg,ep,ev,re,r,rp)
function c11185220.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c11185220.thfilter,tp,0x20,0,1,1,nil,e,tp)
if g:GetCount()>0 then
......
--虹龍·辉龙
function c11185225.initial_effect(c)
aux.AddCodeList(c,0x452)
c:EnableCounterPermit(0x452)
--link summon
c:EnableReviveLimit()
......
--虹龍·源龙
function c11185230.initial_effect(c)
aux.AddCodeList(c,0x452)
c:EnableCounterPermit(0x452)
c:SetUniqueOnField(1,0,50223345)
--link summon
......
--虹龍·海龙
function c11185235.initial_effect(c)
aux.AddCodeList(c,0x452)
c:EnableCounterPermit(0x452)
--link summon
c:EnableReviveLimit()
......
--虹龍·星龙
function c11185240.initial_effect(c)
aux.AddCodeList(c,0x452)
c:EnableCounterPermit(0x452)
c:SetUniqueOnField(1,0,50223345)
--link summon
......
--虹龍·双头龙
function c11185245.initial_effect(c)
aux.AddCodeList(c,0x452)
c:EnableCounterPermit(0x452)
--link summon
c:EnableReviveLimit()
......
--虹龍圣域
function c11185255.initial_effect(c)
aux.AddCodeList(c,0x452)
c:EnableCounterPermit(0x452)
--Activate
local e0=Effect.CreateEffect(c)
......
--虹龍之谷
function c11185265.initial_effect(c)
aux.AddCodeList(c,0x452)
--Activate(summon)
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DISABLE_SUMMON+CATEGORY_DESTROY)
......
--虹龍·墨龙
function c11185275.initial_effect(c)
aux.AddCodeList(c,0x452)
--synchro summon
aux.AddSynchroProcedure(c,aux.FilterBoolFunction(Card.IsSynchroType,TYPE_SYNCHRO),aux.TargetBoolFunction(Card.IsSetCard,0x453),1)
c:EnableReviveLimit()
......
--虹龍·月龙
function c11185290.initial_effect(c)
aux.AddCodeList(c,0x452)
--xyz summon
aux.AddXyzProcedure(c,nil,8,10,c11185290.ovfilter,aux.Stringid(11185290,0),10,c11185290.xyzop)
c:EnableReviveLimit()
......
--虹龍·
--虹龍·
function c11185300.initial_effect(c)
aux.AddCodeList(c,0x452)
c:EnableCounterPermit(0x452)
--pendulum summon
aux.EnablePendulumAttribute(c,false)
......
--虹龍·朔月
function c11185305.initial_effect(c)
aux.AddCodeList(c,0x452)
c:EnableCounterPermit(0x452)
--link summon
c:EnableReviveLimit()
......
--虹龍的敕令
function c11185310.initial_effect(c)
aux.AddCodeList(c,0x452)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(11185310,0))
......
--虹龍·神龙
function c11185315.initial_effect(c)
aux.AddCodeList(c,0x452)
c:EnableCounterPermit(0x452)
--fusion material
c:EnableReviveLimit()
......
--传说之龙
function c11185325.initial_effect(c)
c:SetSPSummonOnce(11185325)
aux.AddCodeList(c,0x452)
c:EnableCounterPermit(0x452)
c:EnableReviveLimit()
--spsummon
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_FIELD)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetCode(EFFECT_SPSUMMON_PROC)
e0:SetRange(LOCATION_EXTRA)
e0:SetCondition(c11185325.hspcon)
e0:SetTarget(c11185325.hsptg)
e0:SetOperation(c11185325.hspop)
c:RegisterEffect(e0)
--to hand
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SEARCH+CATEGORY_TOHAND)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetCountLimit(1,11185325)
e1:SetTarget(c11185325.thtg)
e1:SetOperation(c11185325.thop)
c:RegisterEffect(e1)
--add counter
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_COUNTER)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,11185325+1)
e2:SetTarget(c11185325.countertg)
e2:SetOperation(c11185325.counterop)
c:RegisterEffect(e2)
--nontuner
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e3:SetRange(LOCATION_MZONE)
e3:SetCode(EFFECT_NONTUNER)
e3:SetValue(c11185325.tnval)
c:RegisterEffect(e3)
end
function c11185325.tnval(e,c)
return e:GetHandler():IsControler(c:GetControler())
end
function c11185325.hspfilter(c,tp,sc)
return aux.IsCodeListed(c,0x452) and c:IsFaceup()
and c:IsControler(tp) and Duel.GetLocationCountFromEx(tp,tp,c,sc)>0
end
function c11185325.hspcon(e,c)
if c==nil then return true end
return Duel.CheckReleaseGroupEx(c:GetControler(),c11185325.hspfilter,1,REASON_SPSUMMON,false,nil,c:GetControler(),c)
end
function c11185325.hsptg(e,tp,eg,ep,ev,re,r,rp,chk,c)
local g=Duel.GetReleaseGroup(tp,false,REASON_SPSUMMON):Filter(c11185325.hspfilter,nil,tp,c)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local tc=g:SelectUnselect(nil,tp,false,true,1,1)
if tc then
e:SetLabelObject(tc)
return true
else return false end
end
function c11185325.hspop(e,tp,eg,ep,ev,re,r,rp,c)
local tc=e:GetLabelObject()
Duel.Release(tc,REASON_SPSUMMON)
end
function c11185325.thfilter(c)
return aux.IsCodeListed(c,0x452) and c:IsAbleToHand()
end
function c11185325.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c11185325.thfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function c11185325.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c11185325.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 c11185325.countertg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return c:IsCanAddCounter(0x452,1) end
local g=Duel.GetMatchingGroup(Card.IsCanAddCounter,tp,LOCATION_ONFIELD,0,c,0x452,1)
g:AddCard(c)
Duel.SetOperationInfo(0,CATEGORY_COUNTER,g,#g,0,0)
end
function c11185325.counterop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=Duel.GetMatchingGroup(Card.IsCanAddCounter,tp,LOCATION_ONFIELD,0,c,0x452,1)
if c:IsRelateToEffect(e) then g:AddCard(c) end
for tc in aux.Next(g) do
if tc:IsCanAddCounter(0x452,1) then
tc:AddCounter(0x452,1)
end
end
end
\ No newline at end of file
--龙仙
function c11185330.initial_effect(c)
aux.AddCodeList(c,0x452)
c:EnableCounterPermit(0x452)
--search
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,11185330)
e1:SetCost(c11185330.cost)
e1:SetTarget(c11185330.target)
e1:SetOperation(c11185330.operation)
c:RegisterEffect(e1)
--spsummon
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_COUNTER)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_SUMMON_SUCCESS)
e2:SetCountLimit(1,11185330+1)
e2:SetTarget(c11185330.sptg)
e2:SetOperation(c11185330.spop)
c:RegisterEffect(e2)
end
function c11185330.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return c:IsDiscardable() end
Duel.SendtoGrave(c,REASON_COST+REASON_DISCARD)
end
function c11185330.filter(c)
return c:IsCanHaveCounter(0x452,1) and c:IsAbleToHand()
end
function c11185330.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c11185330.filter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function c11185330.operation(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c11185330.filter,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 c11185330.spfilter(c,e,tp)
return c:IsCanHaveCounter(0x452,1) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c11185330.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c11185330.spfilter,tp,LOCATION_DECK,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
end
function c11185330.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c11185330.spfilter,tp,LOCATION_DECK,0,1,1,nil,e,tp)
if g:GetCount()>0 and Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP) then
if c:IsRelateToEffect(e) and c:IsFaceup() and Duel.SelectYesNo(tp,aux.Stringid(11185330,0)) then
c:AddCounter(0x452,1)
end
end
end
\ No newline at end of file
......@@ -8,7 +8,6 @@ function c11560715.initial_effect(c)
e1:SetDescription(aux.Stringid(11560715,1))
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_CHAINING)
-- e1:SetProperty(EFFECT_FLAG_NO_TURN_RESET)
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1,11560715)
e1:SetCondition(c11560715.ovcon)
......@@ -66,21 +65,26 @@ end
function c11560715.ovcon(e,tp,eg,ep,ev,re,r,rp)
return rp==1-tp-- and e:GetHandler():GetFlagEffect(11560715)==0
return rp==1-tp
end
function c11560715.ovtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsCanOverlay,tp,0,LOCATION_ONFIELD+LOCATION_GRAVE+LOCATION_REMOVED,1,nil) end
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsCanOverlay,tp,0,LOCATION_ONFIELD+LOCATION_GRAVE+LOCATION_REMOVED,1,nil) and e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_EFFECT) end
end
function c11560715.loccheck(g)
return g:GetClassCount(Card.GetLocation)==1
end
function c11560715.ovop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local ct=0
if not c:IsRelateToEffect(e) then return end
local g=Duel.GetMatchingGroup(aux.NecroValleyFilter(Card.IsCanOverlay),tp,0,LOCATION_ONFIELD+LOCATION_GRAVE+LOCATION_REMOVED,nil)
if Duel.IsExistingMatchingCard(aux.NecroValleyFilter(Card.IsCanOverlay),tp,0,LOCATION_GRAVE,1,nil) then ct=ct+1 end
if Duel.IsExistingMatchingCard(Card.IsCanOverlay,tp,0,LOCATION_ONFIELD,1,nil) then ct=ct+1 end
if Duel.IsExistingMatchingCard(Card.IsCanOverlay,tp,0,LOCATION_REMOVED,1,nil) then ct=ct+1 end
if g:GetCount()>0 then
ctt=c:RemoveOverlayCard(tp,1,ct,REASON_EFFECT)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_XMATERIAL)
local og=g:SelectSubGroup(tp,c11560715.loccheck,false,1,3)
local og=g:SelectSubGroup(tp,c11560715.loccheck,false,ctt,ctt)
Duel.HintSelection(og)
for tc in aux.Next(og) do
if tc:IsImmuneToEffect(e) then
......@@ -111,26 +115,7 @@ function c11560715.xxop(e,tp,eg,ep,ev,re,r,rp)
local tc=og:Select(tp,1,1,nil):GetFirst()
Duel.SendtoGrave(tc,REASON_EFFECT)
if tc:IsType(TYPE_MONSTER) then
local code=tc:GetOriginalCodeRule()
local cid=0
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+RESETS_STANDARD+RESET_PHASE+PHASE_END)
c:RegisterEffect(e1)
if not tc:IsType(TYPE_TRAPMONSTER) then
cid=c:CopyEffect(code,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,1)
end
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetRange(LOCATION_MZONE)
e1:SetValue(tc:GetBaseAttack()/2)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE+RESET_PHASE+PHASE_END)
c:RegisterEffect(e1)
if Duel.IsExistingMatchingCard(c11560715.mxfilter,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,1,nil) and c:IsRelateToEffect(e) and Duel.SelectYesNo(tp,aux.Stringid(11560715,0)) then
if Duel.SendtoHand(tc,tp,REASON_EFFECT)~=0 and Duel.IsExistingMatchingCard(c11560715.mxfilter,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,1,nil) and c:IsRelateToEffect(e) and Duel.SelectYesNo(tp,aux.Stringid(11560715,0)) then
Duel.BreakEffect()
local oc=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c11560715.mxfilter),tp,LOCATION_GRAVE+LOCATION_REMOVED,0,1,1,c):GetFirst()
if oc and not oc:IsImmuneToEffect(e) then
......
......@@ -22,25 +22,18 @@ function s.initial_effect(c)
e2:SetTarget(s.target)
e2:SetOperation(s.activate)
c:RegisterEffect(e2)
--spsummon
--to hand
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(id,0))
e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetCategory(CATEGORY_TODECK)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetCode(EVENT_SPSUMMON_SUCCESS)
e3:SetRange(LOCATION_GRAVE)
e3:SetCountLimit(1,id+2)
e3:SetTarget(s.ovtg)
e3:SetOperation(s.ovop)
e3:SetCountLimit(1,11569002)
e3:SetCondition(c11569000.ovcon)
e3:SetTarget(c11569000.ovtg)
e3:SetOperation(c11569000.ovop)
c:RegisterEffect(e3)
--SpecialSummon
local e5=Effect.CreateEffect(c)
e5:SetDescription(aux.Stringid(id,1))
e5:SetCategory(CATEGORY_TODECK)
e5:SetType(EFFECT_TYPE_IGNITION)
e5:SetRange(LOCATION_GRAVE)
e5:SetCountLimit(1,id+2)
e5:SetTarget(s.tdtg)
e5:SetOperation(s.tdop)
c:RegisterEffect(e5)
end
function s.spfilter(c,e,tp)
return c:IsSetCard(0x1b4) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_ATTACK,1-tp)
......@@ -60,8 +53,7 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp)
end
function s.thcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:IsReason(REASON_COST) and re:IsActivated() and re:IsActiveType(TYPE_XYZ)
and c:IsPreviousLocation(LOCATION_OVERLAY)
return c:IsPreviousLocation(LOCATION_OVERLAY)
end
function s.filter1(c,e,tp)
local rk=c:GetRank()
......@@ -101,36 +93,37 @@ function s.activate(e,tp,eg,ep,ev,re,r,rp)
sc:CompleteProcedure()
end
end
function s.ovfilter(c)
return c:IsFaceup() and c:IsAttribute(ATTRIBUTE_LIGHT) and c:IsType(TYPE_XYZ)
function c11569000.ovfilter(c,tp)
return c:IsFaceup() and c:IsSetCard(0x107b) and c:IsControler(tp)
end
function s.ovtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingTarget(s.ovfilter,tp,LOCATION_MZONE,0,1,nil)
and e:GetHandler():IsCanOverlay() end
function c11569000.ovcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c11569000.ovfilter,1,nil,tp)
end
function c11569000.ovfilter(c)
return c:IsFaceup() and c:IsType(TYPE_XYZ)
end
function c11569000.ovtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c11569000.ovfilter,tp,LOCATION_MZONE,0,1,nil) and e:GetHandler():IsCanOverlay() end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
Duel.SelectTarget(tp,s.ovfilter,tp,LOCATION_MZONE,0,1,1,nil)
Duel.SelectTarget(tp,c11569000.ovfilter,tp,LOCATION_MZONE,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_LEAVE_GRAVE,e:GetHandler(),1,0,0)
end
function s.ovop(e,tp,eg,ep,ev,re,r,rp)
function c11569000.tdfilter(c)
return c:IsSetCard(0x1b4) or c:IsAttribute(ATTRIBUTE_LIGHT)
end
function c11569000.ovop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if c:IsRelateToEffect(e) and tc:IsRelateToEffect(e) and not c:IsImmuneToEffect(e) and not tc:IsImmuneToEffect(e) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SELF)
local tc=Duel.SelectMatchingCard(tp,c11569000.ovfilter,tp,LOCATION_MZONE,0,1,1,nil,e,tp):GetFirst()
if c:IsRelateToEffect(e) and not c:IsImmuneToEffect(e) and not tc:IsImmuneToEffect(e) then
Duel.Overlay(tc,Group.FromCards(c))
end
end
function s.tdfilter(c)
return (c:IsSetCard(0x1b4) or c:IsSetCard(0x307b) or c:IsAttribute(ATTRIBUTE_LIGHT)) and c:IsAbleToDeck()
end
function s.tdtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return Duel.IsExistingTarget(s.tdfilter,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,5,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectTarget(tp,s.tdfilter,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,5,5,nil)
g:AddCard(c)
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,g:GetCount(),0,0)
end
function s.tdop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS):Filter(Card.IsRelateToEffect,nil,e)
if g:GetCount()>0 then
Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)
if Duel.IsExistingMatchingCard(c11569000.tdfilter,tp,LOCATION_GRAVE,0,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(11569000,2)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c11569000.tdfilter),tp,LOCATION_GRAVE,0,1,3,nil)
if #g>0 then
Duel.HintSelection(g)
Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)
end
end
end
\ No newline at end of file
......@@ -212,7 +212,7 @@ function cm.operation(e, tp, eg, ep, ev, re, r, rp)
-- Debug.Message(aux.GetValueType(tg))
if ie and tg and aux.GetValueType(tg) == "function" then
local c1, c2 = pcall(function()
tg(ie, tp, eg, ep, ev, re, r, rp, 0)
return tg(ie, tp, eg, ep, ev, re, r, rp, 0)
end)
if c2 == true then
local op = ie:GetOperation()
......
......@@ -7,11 +7,12 @@ function cm.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,m+EFFECT_COUNT_CODE_OATH)
e1:SetHintTiming(TIMING_DRAW_PHASE)
e1:SetCountLimit(1,m)
e1:SetCost(cm.spcost)
e1:SetCondition(cm.spcon)
e1:SetTarget(cm.sptg)
e1:SetOperation(cm.spop)
c:RegisterEffect(e1)
......@@ -43,7 +44,7 @@ function cm.ND(c)
return m and m.named_with_NextDraw
end
function cm.costfilter(c)
return cm.ND(c) and not c:IsPublic()
return cm.ND(c) and c:IsType(TYPE_MONSTER) 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.costfilter,tp,LOCATION_HAND,0,1,e:GetHandler()) end
......@@ -51,12 +52,10 @@ function cm.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
local g=Duel.SelectMatchingCard(tp,cm.costfilter,tp,LOCATION_HAND,0,1,1,e:GetHandler())
local tc=g:GetFirst()
Duel.ConfirmCards(1-tp,tc)
e:SetLabelObject(tc)
tc:CreateEffectRelation(e)
Duel.ShuffleHand(tp)
end
function cm.spcon(e,tp,eg,ep,ev,re,r,rp)
return not Duel.IsExistingMatchingCard(function(c) return c:GetSequence()<5 and c:IsFaceup() end,tp,LOCATION_MZONE,0,1,nil)
function cm.spfilter(c,e,tp)
return c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEDOWN_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
......@@ -66,14 +65,22 @@ function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
end
function cm.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=e:GetLabelObject()
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 or not c:IsRelateToEffect(e) then return end
local ct=Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEDOWN_DEFENSE)
Duel.ConfirmCards(1-tp,c)
if ct~=0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and tc:IsRelateToEffect(e) and tc:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEDOWN_DEFENSE) and Duel.SelectYesNo(tp,aux.Stringid(m,1)) then
if ct~=0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsExistingMatchingCard(cm.spfilter,tp,LOCATION_HAND,0,1,nil,e,tp) and not Duel.IsPlayerAffectedByEffect(tp,EFFECT_DIVINE_LIGHT) and Duel.SelectYesNo(tp,aux.Stringid(m,1)) then
Duel.BreakEffect()
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEDOWN_DEFENSE)
Duel.ConfirmCards(1-tp,tc)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,cm.spfilter,tp,LOCATION_HAND,0,1,1,nil,e,tp)
Duel.ShuffleHand(tp)
if g:GetCount()>0 then
local sc=g:GetFirst()
local hint=sc:IsPublic()
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEDOWN_DEFENSE)
if hint then
Duel.ConfirmCards(1-tp,g)
end
end
end
end
function cm.filter(c)
......@@ -103,8 +110,8 @@ function cm.fpop(e,tp,eg,ep,ev,re,r,rp)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
if not re:IsHasProperty(EFFECT_FLAG_CARD_TARGET) then return false end
local tg=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS)
return tg and tg:IsContains(e:GetHandler()) and e:GetHandler():IsFacedown()
local g=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS)
return g and g:IsExists(Card.IsFacedown,1,nil) and e:GetHandler():IsFacedown() and Duel.IsChainNegatable(ev)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
......
......@@ -7,11 +7,12 @@ function cm.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,m+EFFECT_COUNT_CODE_OATH)
e1:SetHintTiming(TIMING_DRAW_PHASE)
e1:SetCountLimit(1,m)
e1:SetCost(cm.spcost)
e1:SetCondition(cm.spcon)
e1:SetTarget(cm.sptg)
e1:SetOperation(cm.spop)
c:RegisterEffect(e1)
......@@ -43,7 +44,7 @@ function cm.ND(c)
return m and m.named_with_NextDraw
end
function cm.costfilter(c)
return cm.ND(c) and not c:IsPublic()
return cm.ND(c) and c:IsType(TYPE_MONSTER) 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.costfilter,tp,LOCATION_HAND,0,1,e:GetHandler()) end
......@@ -51,12 +52,10 @@ function cm.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
local g=Duel.SelectMatchingCard(tp,cm.costfilter,tp,LOCATION_HAND,0,1,1,e:GetHandler())
local tc=g:GetFirst()
Duel.ConfirmCards(1-tp,tc)
e:SetLabelObject(tc)
tc:CreateEffectRelation(e)
Duel.ShuffleHand(tp)
end
function cm.spcon(e,tp,eg,ep,ev,re,r,rp)
return not Duel.IsExistingMatchingCard(function(c) return c:GetSequence()<5 and c:IsFaceup() end,tp,LOCATION_MZONE,0,1,nil)
function cm.spfilter(c,e,tp)
return c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEDOWN_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
......@@ -66,14 +65,22 @@ function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
end
function cm.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=e:GetLabelObject()
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 or not c:IsRelateToEffect(e) then return end
local ct=Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEDOWN_DEFENSE)
Duel.ConfirmCards(1-tp,c)
if ct~=0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and tc:IsRelateToEffect(e) and tc:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEDOWN_DEFENSE) and Duel.SelectYesNo(tp,aux.Stringid(m,1)) then
if ct~=0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsExistingMatchingCard(cm.spfilter,tp,LOCATION_HAND,0,1,nil,e,tp) and not Duel.IsPlayerAffectedByEffect(tp,EFFECT_DIVINE_LIGHT) and Duel.SelectYesNo(tp,aux.Stringid(m,1)) then
Duel.BreakEffect()
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEDOWN_DEFENSE)
Duel.ConfirmCards(1-tp,tc)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,cm.spfilter,tp,LOCATION_HAND,0,1,1,nil,e,tp)
Duel.ShuffleHand(tp)
if g:GetCount()>0 then
local sc=g:GetFirst()
local hint=sc:IsPublic()
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEDOWN_DEFENSE)
if hint then
Duel.ConfirmCards(1-tp,g)
end
end
end
end
function cm.filter(c)
......@@ -98,8 +105,8 @@ function cm.fpop(e,tp,eg,ep,ev,re,r,rp)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
if not re:IsHasProperty(EFFECT_FLAG_CARD_TARGET) then return false end
local tg=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS)
return tg and tg:IsContains(e:GetHandler()) and e:GetHandler():IsFacedown()
local g=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS)
return g and g:IsExists(Card.IsFacedown,1,nil) and e:GetHandler():IsFacedown() and Duel.IsChainNegatable(ev)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
......
......@@ -11,7 +11,8 @@ function cm.initial_effect(c)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,m+EFFECT_COUNT_CODE_OATH)
e1:SetHintTiming(TIMING_DRAW_PHASE)
e1:SetCountLimit(1,m)
e1:SetTarget(cm.sptg)
e1:SetOperation(cm.spop)
c:RegisterEffect(e1)
......@@ -86,8 +87,8 @@ function cm.fpop(e,tp,eg,ep,ev,re,r,rp)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
if not re:IsHasProperty(EFFECT_FLAG_CARD_TARGET) then return false end
local tg=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS)
return tg and tg:IsContains(e:GetHandler()) and e:GetHandler():IsFacedown()
local g=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS)
return g and g:IsExists(Card.IsFacedown,1,nil) and e:GetHandler():IsFacedown() and Duel.IsChainNegatable(ev)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
......
......@@ -11,7 +11,8 @@ function cm.initial_effect(c)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,m+EFFECT_COUNT_CODE_OATH)
e1:SetHintTiming(TIMING_DRAW_PHASE)
e1:SetCountLimit(1,m)
e1:SetTarget(cm.sptg)
e1:SetOperation(cm.spop)
c:RegisterEffect(e1)
......@@ -78,7 +79,10 @@ end
function cm.fpop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then
if Duel.SendtoDeck(tc,nil,2,REASON_EFFECT)~=0 and Duel.IsPlayerCanDraw(tp,1) and Duel.SelectYesNo(tp,aux.Stringid(m,3)) then
if Duel.SendtoDeck(tc,nil,2,REASON_EFFECT)~=0 and tc:IsLocation(LOCATION_DECK+LOCATION_EXTRA) and Duel.IsPlayerCanDraw(tp,1) and Duel.SelectYesNo(tp,aux.Stringid(m,3)) then
if tc:IsLocation(LOCATION_DECK) and tc:IsControler(tp) then
Duel.ShuffleDeck(tp)
end
Duel.BreakEffect()
Duel.Draw(tp,1,REASON_EFFECT)
end
......@@ -86,8 +90,8 @@ function cm.fpop(e,tp,eg,ep,ev,re,r,rp)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
if not re:IsHasProperty(EFFECT_FLAG_CARD_TARGET) then return false end
local tg=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS)
return tg and tg:IsContains(e:GetHandler()) and e:GetHandler():IsFacedown()
local g=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS)
return g and g:IsExists(Card.IsFacedown,1,nil) and e:GetHandler():IsFacedown() and Duel.IsChainNegatable(ev)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
......
......@@ -7,11 +7,12 @@ function cm.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOHAND)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,m+EFFECT_COUNT_CODE_OATH)
e1:SetHintTiming(TIMING_DRAW_PHASE)
e1:SetCountLimit(1,m)
e1:SetCost(cm.spcost)
e1:SetCondition(cm.spcon)
e1:SetTarget(cm.sptg)
e1:SetOperation(cm.spop)
c:RegisterEffect(e1)
......@@ -55,9 +56,6 @@ function cm.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
e:SetLabelObject(tc)
tc:CreateEffectRelation(e)
end
function cm.spcon(e,tp,eg,ep,ev,re,r,rp)
return not Duel.IsExistingMatchingCard(function(c) return c:GetSequence()<5 and c:IsFacedown() end,tp,LOCATION_MZONE,0,1,nil)
end
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEDOWN_DEFENSE) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
......@@ -111,8 +109,8 @@ function cm.fpop(e,tp,eg,ep,ev,re,r,rp)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
if not re:IsHasProperty(EFFECT_FLAG_CARD_TARGET) then return false end
local tg=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS)
return tg and tg:IsContains(e:GetHandler()) and e:GetHandler():IsFacedown()
local g=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS)
return g and g:IsExists(Card.IsFacedown,1,nil) and e:GetHandler():IsFacedown() and Duel.IsChainNegatable(ev)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
......
......@@ -6,100 +6,66 @@ function cm.initial_effect(c)
--link summon
c:EnableReviveLimit()
aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkRace,RACE_FIEND),2,2)
--pos change
--SearchCard
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_POSITION)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1,m+EFFECT_COUNT_CODE_OATH)
e1:SetTarget(cm.postg)
e1:SetOperation(cm.posop)
e1:SetCategory(CATEGORY_REMOVE)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP)
e1:SetCountLimit(1,m)
e1:SetTarget(cm.thtg)
e1:SetOperation(cm.thop)
c:RegisterEffect(e1)
--search
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(m,2))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_SEARCH+CATEGORY_TOHAND)
e2:SetType(EFFECT_TYPE_IGNITION)
local e2=e1:Clone()
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1)
e2:SetCost(cm.thcost)
e2:SetCondition(cm.thcon)
e2:SetTarget(cm.thtg)
e2:SetOperation(cm.thop)
c:RegisterEffect(e2)
--immune
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetRange(LOCATION_MZONE)
e2:SetCode(EFFECT_IMMUNE_EFFECT)
e2:SetTargetRange(LOCATION_MZONE,0)
e2:SetTarget(cm.etarget)
e2:SetValue(cm.efilter)
c:RegisterEffect(e2)
end
function cm.ND(c)
local m=_G["c"..c:GetCode()]
return m and m.named_with_NextDraw
end
function cm.cfilter(c,lg)
return c:IsFacedown() and lg:IsContains(c)
end
function cm.spfilter(c,e,tp)
return cm.ND(c) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEDOWN_DEFENSE)
end
function cm.postg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local c=e:GetHandler()
local lg=c:GetLinkedGroup()
if chkc then return chkc:IsLocation(LOCATION_MZONE) and cm.cfilter(chkc,lg) end
if chk==0 then return Duel.IsExistingTarget(cm.cfilter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil,lg) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
local g=Duel.SelectTarget(tp,cm.cfilter,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil,lg)
Duel.SetOperationInfo(0,CATEGORY_POSITION,g,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
end
function cm.posop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if not tc:IsRelateToEffect(e) or tc:IsFaceup() then return end
if Duel.ChangePosition(tc,POS_FACEUP_DEFENSE)~=0 and tc:IsFaceup() and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsExistingMatchingCard(cm.spfilter,tp,LOCATION_DECK,0,1,nil,e,tp) and Duel.SelectYesNo(tp,aux.Stringid(m,1)) then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,cm.spfilter,tp,LOCATION_DECK,0,1,1,nil,e,tp)
if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEDOWN_DEFENSE)
Duel.ConfirmCards(1-tp,g)
end
end
end
function cm.costfilter(c)
return cm.ND(c) and not c:IsPublic()
end
function cm.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.costfilter,tp,LOCATION_HAND,0,1,e:GetHandler()) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONFIRM)
local g=Duel.SelectMatchingCard(tp,cm.costfilter,tp,LOCATION_HAND,0,1,1,e:GetHandler())
local tc=g:GetFirst()
Duel.ConfirmCards(1-tp,tc)
e:SetLabelObject(tc)
tc:CreateEffectRelation(e)
Duel.ShuffleHand(tp)
function cm.cfilter(c,tp)
return c:IsFacedown() and c:IsType(TYPE_MONSTER)
end
function cm.thcon(e,tp,eg,ep,ev,re,r,rp)
return not Duel.IsExistingMatchingCard(function(c) return c:GetSequence()<5 and c:IsFaceup() end,tp,LOCATION_MZONE,0,1,nil)
return eg:IsExists(cm.cfilter,1,nil,tp)
end
function cm.filter(c)
return c:IsLevelAbove(6) and c:IsRace(RACE_FIEND) and c:IsType(TYPE_MONSTER) and c:IsAbleToHand()
function cm.thfilter(c)
return cm.ND(c) and c:IsAbleToHand()
end
function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,LOCATION_HAND)
if chk==0 then return Duel.IsExistingMatchingCard(cm.thfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,0,LOCATION_DECK)
end
function cm.thop(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetLabelObject()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,cm.filter,tp,LOCATION_DECK,0,1,1,nil)
local g=Duel.SelectMatchingCard(tp,cm.thfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
local ct=Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
if ct~=0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and tc:IsRelateToEffect(e) and tc:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEDOWN_DEFENSE) and Duel.SelectYesNo(tp,aux.Stringid(m,3)) then
Duel.BreakEffect()
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEDOWN_DEFENSE)
Duel.ConfirmCards(1-tp,tc)
end
end
function cm.etarget(e,c)
return c:IsType(TYPE_MONSTER) and c:IsFacedown()
end
function cm.efcfilter(c)
return c:IsType(TYPE_MONSTER) and c:IsFacedown()
end
function cm.efilter(e,te)
if te:GetOwnerPlayer()==e:GetHandlerPlayer() or not te:IsActivated() then return false end
if not te:IsHasProperty(EFFECT_FLAG_CARD_TARGET) then return true end
local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS)
return not g or not g:IsExists(cm.efcfilter,1,nil)
end
\ No newline at end of file
......@@ -15,8 +15,7 @@ function cm.initial_effect(c)
e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1,m+EFFECT_COUNT_CODE_OATH)
e1:SetCost(cm.setcost)
e1:SetCountLimit(1,m)
e1:SetTarget(cm.settg)
e1:SetOperation(cm.setop)
c:RegisterEffect(e1)
......@@ -47,10 +46,6 @@ function cm.ND(c)
local m=_G["c"..c:GetCode()]
return m and m.named_with_NextDraw
end
function cm.setcost(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 cm.setfilter(c)
return c:IsFaceup() and c:IsCanTurnSet()
end
......@@ -93,6 +88,7 @@ function cm.fpop(e,tp,eg,ep,ev,re,r,rp)
if og:GetCount()>0 then
Duel.SendtoGrave(og,REASON_RULE)
end
tc:CancelToGrave()
Duel.Overlay(c,Group.FromCards(tc))
if Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsExistingMatchingCard(cm.spfilter,tp,LOCATION_GRAVE,0,1,nil,e,tp) and Duel.SelectYesNo(tp,aux.Stringid(m,2)) then
Duel.BreakEffect()
......@@ -107,8 +103,8 @@ function cm.fpop(e,tp,eg,ep,ev,re,r,rp)
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
if not re:IsHasProperty(EFFECT_FLAG_CARD_TARGET) then return false end
local tg=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS)
return tg and tg:IsContains(e:GetHandler()) and e:GetHandler():IsFacedown()
local g=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS)
return g and g:IsExists(Card.IsFacedown,1,nil) and e:GetHandler():IsFacedown() and Duel.IsChainNegatable(ev)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
......
--暗绘鬼·绘流恶鬼
local m=14000308
local cm=_G["c"..m]
cm.named_with_NextDraw=1
function cm.initial_effect(c)
--xyz
c:EnableReviveLimit()
aux.AddXyzProcedure(c,aux.FilterBoolFunction(Card.IsRace,RACE_FIEND),6,2)
--position
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_POSITION+CATEGORY_DISABLE)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1,m)
e1:SetTarget(cm.settg)
e1:SetOperation(cm.setop)
c:RegisterEffect(e1)
--flip
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(m,1))
e2:SetCategory(CATEGORY_POSITION)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_FLIP+EFFECT_TYPE_TRIGGER_O)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DELAY)
e2:SetTarget(cm.fptg)
e2:SetOperation(cm.fpop)
c:RegisterEffect(e2)
--be target
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(m,3))
e3:SetCategory(CATEGORY_NEGATE)
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetCode(EVENT_CHAINING)
e3:SetProperty(EFFECT_FLAG_SET_AVAILABLE+EFFECT_FLAG_DAMAGE_STEP)
e3:SetRange(LOCATION_MZONE)
e3:SetCondition(cm.con)
e3:SetCost(cm.cost)
e3:SetTarget(cm.tg)
e3:SetOperation(cm.op)
c:RegisterEffect(e3)
end
function cm.ND(c)
local m=_G["c"..c:GetCode()]
return m and m.named_with_NextDraw
end
function cm.setfilter(c)
return c:IsFaceup() and c:IsCanTurnSet()
end
function cm.settg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local c=e:GetHandler()
if chkc then return chkc:IsOnField() and aux.NegateAnyFilter(chkc) and chkc~=c end
if chk==0 then return cm.setfilter(c)
and Duel.IsExistingTarget(aux.NegateAnyFilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,c) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DISABLE)
Duel.SelectTarget(tp,aux.NegateAnyFilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,c)
Duel.SetOperationInfo(0,CATEGORY_POSITION,c,1,0,0)
end
function cm.setop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if tc:IsFaceup() and tc:IsRelateToEffect(e) and not tc:IsDisabled() then
Duel.NegateRelatedChain(tc,RESET_TURN_SET)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_DISABLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_DISABLE_EFFECT)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetValue(RESET_TURN_SET)
e2:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e2)
if tc:IsType(TYPE_TRAPMONSTER) then
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e3:SetCode(EFFECT_DISABLE_TRAPMONSTER)
e3:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e3)
end
if c:IsFaceup() and c:IsRelateToEffect(e) then
Duel.ChangePosition(c,POS_FACEDOWN_DEFENSE)
end
end
end
function cm.filter(c)
return c:IsAbleToChangeControler() and not c:IsType(TYPE_TOKEN)
end
function cm.fptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_ONFIELD) and cm.filter(chkc) and chkc~=e:GetHandler() end
if chk==0 then return Duel.IsExistingTarget(cm.filter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,e:GetHandler()) and e:GetHandler():IsType(TYPE_XYZ) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
local g=Duel.SelectTarget(tp,cm.filter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,e:GetHandler())
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE)
Duel.SetOperationInfo(0,CATEGORY_POSITION,nil,1,PLAYER_ALL,LOCATION_MZONE)
end
function cm.cpfilter(c)
return c:IsCanChangePosition()
end
function cm.fpop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if c:IsRelateToEffect(e) and tc:IsRelateToEffect(e) and not tc:IsImmuneToEffect(e) then
local og=tc:GetOverlayGroup()
if og:GetCount()>0 then
Duel.SendtoGrave(og,REASON_RULE)
end
tc:CancelToGrave()
Duel.Overlay(c,Group.FromCards(tc))
if Duel.IsExistingMatchingCard(cm.cpfilter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(m,2)) then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_POSCHANGE)
local g=Duel.SelectMatchingCard(tp,cm.cpfilter,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil)
if g:GetCount()>0 then
Duel.ChangePosition(g,POS_FACEUP_DEFENSE,POS_FACEDOWN_DEFENSE,POS_FACEUP_ATTACK,POS_FACEUP_ATTACK)
end
end
end
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
if not re:IsHasProperty(EFFECT_FLAG_CARD_TARGET) then return false end
local g=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS)
return g and g:IsExists(Card.IsFacedown,1,nil) and e:GetHandler():IsFacedown() and Duel.IsChainNegatable(ev)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.ChangePosition(e:GetHandler(),POS_FACEUP_DEFENSE)
end
function cm.tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_NEGATE,eg,1,0,0)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
Duel.NegateActivation(ev)
end
\ No newline at end of file
--暗绘师·绘暗根源
local m=14000309
local cm=_G["c"..m]
cm.named_with_NextDraw=1
function cm.initial_effect(c)
--special summon
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_HAND)
e1:SetHintTiming(TIMING_DRAW_PHASE)
e1:SetCountLimit(1,m)
e1:SetCost(cm.spcost)
e1:SetTarget(cm.sptg)
e1:SetOperation(cm.spop)
c:RegisterEffect(e1)
--flip
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(m,2))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DELAY)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetRange(LOCATION_HAND)
e2:SetCondition(cm.fpcon)
e2:SetTarget(cm.fptg)
e2:SetOperation(cm.fpop)
c:RegisterEffect(e2)
end
function cm.ND(c)
local m=_G["c"..c:GetCode()]
return m and m.named_with_NextDraw
end
function cm.costfilter(c)
return cm.ND(c) and not c:IsPublic()
end
function cm.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.IsExistingMatchingCard(cm.costfilter,tp,LOCATION_HAND,0,1,e:GetHandler()) and not c:IsPublic() end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONFIRM)
local g=Duel.SelectMatchingCard(tp,cm.costfilter,tp,LOCATION_HAND,0,1,1,c)
g:AddCard(c)
Duel.ConfirmCards(1-tp,g)
Duel.ShuffleHand(tp)
end
function cm.thfilter(c)
return cm.ND(c) and c:IsAbleToHand()
end
function cm.spfilter(c,e,tp)
return c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEDOWN_DEFENSE)
end
function cm.sptg(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,0,LOCATION_DECK)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,LOCATION_HAND)
end
function cm.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=e:GetLabelObject()
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
local ct=Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
if ct~=0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsExistingMatchingCard(cm.spfilter,tp,LOCATION_HAND,0,1,nil,e,tp) and not Duel.IsPlayerAffectedByEffect(tp,EFFECT_DIVINE_LIGHT) and Duel.SelectYesNo(tp,aux.Stringid(m,1)) then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,cm.spfilter,tp,LOCATION_HAND,0,1,1,nil,e,tp)
Duel.ShuffleHand(tp)
if g:GetCount()>0 then
local sc=g:GetFirst()
local hint=sc:IsPublic()
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEDOWN_DEFENSE)
if hint then
Duel.ConfirmCards(1-tp,g)
end
end
end
end
end
function cm.cfilter(c,tp)
return c:IsPosition(POS_FACEDOWN_DEFENSE) and c:IsControler(tp)
end
function cm.fpcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(cm.cfilter,1,nil,tp)
end
function cm.posfilter(c)
return c:IsCanChangePosition()
end
function cm.xyzfilter(c)
return c:IsRace(RACE_FIEND) and c:IsXyzSummonable(nil)
end
function cm.fptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and cm.posfilter(chkc) end
if chk==0 then return Duel.IsExistingTarget(cm.posfilter,tp,LOCATION_MZONE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_POSCHANGE)
local g=Duel.SelectTarget(tp,cm.posfilter,tp,LOCATION_MZONE,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_POSITION,g,1,0,0)
end
function cm.fpop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if not tc:IsRelateToEffect(e) then return end
if cm.ND(tc) then
Duel.ChangePosition(tc,POS_FACEUP_DEFENSE,POS_FACEUP_ATTACK,POS_FACEUP_ATTACK,POS_FACEUP_ATTACK)
else
Duel.ChangePosition(tc,POS_FACEUP_DEFENSE,POS_FACEUP_ATTACK,POS_FACEUP_ATTACK,POS_FACEUP_ATTACK,true)
end
local g=Duel.GetMatchingGroup(cm.xyzfilter,tp,LOCATION_EXTRA,0,nil)
if g:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(m,3)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tg=g:Select(tp,1,1,nil)
Duel.XyzSummon(tp,tg:GetFirst(),nil)
end
end
\ No newline at end of file
--暗绘展览馆
local m=14000310
local cm=_G["c"..m]
cm.named_with_NextDraw=1
function cm.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
c:RegisterEffect(e1)
--search
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(m,0))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_SEARCH+CATEGORY_TOHAND)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_FZONE)
e2:SetCountLimit(1)
e2:SetCost(cm.thcost)
e2:SetTarget(cm.thtg)
e2:SetOperation(cm.thop)
c:RegisterEffect(e2)
--field todeck
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(m,1))
e3:SetCategory(CATEGORY_TODECK)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_PHASE+PHASE_BATTLE_START)
e3:SetRange(LOCATION_FZONE)
e3:SetCountLimit(1)
e3:SetTarget(cm.ftdtg)
e3:SetOperation(cm.ftdop)
c:RegisterEffect(e3)
--gy todeck
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(m,2))
e4:SetCategory(CATEGORY_TODECK)
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
--e4:SetProperty(EFFECT_FLAG_DELAY)
e4:SetCode(EVENT_TO_GRAVE)
e4:SetTarget(cm.tdtg)
e4:SetOperation(cm.tdop)
c:RegisterEffect(e4)
end
function cm.ND(c)
local m=_G["c"..c:GetCode()]
return m and m.named_with_NextDraw
end
function cm.costfilter(c)
return cm.ND(c) and c:IsType(TYPE_MONSTER) and not c:IsPublic()
end
function cm.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.costfilter,tp,LOCATION_HAND,0,1,e:GetHandler()) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONFIRM)
local g=Duel.SelectMatchingCard(tp,cm.costfilter,tp,LOCATION_HAND,0,1,1,e:GetHandler())
local tc=g:GetFirst()
Duel.ConfirmCards(1-tp,tc)
Duel.ShuffleHand(tp)
end
function cm.filter(c)
return c:IsRace(RACE_FIEND) and c:IsType(TYPE_MONSTER) and c:IsAbleToHand()
end
function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,LOCATION_HAND)
end
function cm.thop(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetLabelObject()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,cm.filter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
local ct=Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
function cm.ftdfilter(c)
return c:IsAbleToDeck() and c:IsFaceup()
end
function cm.ftdtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.ftdfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,e:GetHandler()) end
local g=Duel.GetMatchingGroup(cm.ftdfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,e:GetHandler())
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,g:GetCount(),0,0)
end
function cm.ftdop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) and c:IsCanTurnSet() then
c:CancelToGrave()
Duel.ChangePosition(c,POS_FACEDOWN)
Duel.RaiseEvent(c,EVENT_SSET,e,REASON_EFFECT,tp,tp,0)
end
local g=Duel.GetMatchingGroup(cm.ftdfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil)
if #g>0 then
Duel.SendtoDeck(g,nil,2,REASON_EFFECT)
end
end
function cm.tdfilter(c)
return cm.ND(c) and c:IsType(TYPE_MONSTER) and c:IsAbleToDeck()
end
function cm.tdtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
local g=Duel.GetMatchingGroup(cm.tdfilter,tp,LOCATION_GRAVE,0,nil)
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,#g,tp,LOCATION_GRAVE)
end
function cm.tdop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(cm.tdfilter,tp,LOCATION_GRAVE,0,nil)
if #g>0 then
Duel.SendtoDeck(g,nil,2,REASON_EFFECT)
end
end
\ No newline at end of file
local m=15000069
local cm=_G["c"..m]
cm.name="色带神·克赛克修克鲁斯"
function cm.initial_effect(c)
--pendulum summon
aux.EnablePendulumAttribute(c)
--change Pscale
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CHANGE_LSCALE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_PZONE)
e1:SetCondition(cm.cpcon)
e1:SetValue(cm.p1val)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_CHANGE_RSCALE)
e2:SetValue(cm.p2val)
c:RegisterEffect(e2)
--des
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_DESTROY+CATEGORY_SPECIAL_SUMMON+CATEGORY_DECKDES)
e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetRange(LOCATION_PZONE)
e3:SetCountLimit(1,m)
e3:SetTarget(cm.destg)
e3:SetOperation(cm.desop)
c:RegisterEffect(e3)
--spsummon
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD)
e4:SetCode(EFFECT_SPSUMMON_PROC)
e4:SetProperty(EFFECT_FLAG_UNCOPYABLE)
e4:SetRange(LOCATION_HAND)
e4:SetCountLimit(1,m+1)
e4:SetCondition(cm.sd2con)
c:RegisterEffect(e4)
--remove
local e5=Effect.CreateEffect(c)
e5:SetCategory(CATEGORY_REMOVE)
e5:SetProperty(EFFECT_FLAG_CARD_TARGET)
e5:SetType(EFFECT_TYPE_QUICK_O)
e5:SetCode(EVENT_FREE_CHAIN)
e5:SetRange(LOCATION_MZONE)
e5:SetCountLimit(1,m+3)
e5:SetTarget(cm.target)
e5:SetOperation(cm.operation)
c:RegisterEffect(e5)
end
function cm.cpcon(e)
local g=Duel.GetMatchingGroup(nil,e:GetHandlerPlayer(),LOCATION_PZONE,0,e:GetHandler())
return g:GetCount()~=0 and (g:GetFirst():GetLeftScale()~=e:GetHandler():GetLeftScale() or g:GetFirst():GetRightScale()~=e:GetHandler():GetRightScale())
end
function cm.p1val(e,tp)
local g=Duel.GetMatchingGroup(nil,e:GetHandlerPlayer(),LOCATION_PZONE,0,e:GetHandler())
if g:GetCount()==0 then return 4 end
local tc=g:GetFirst()
if not tc:GetType(TYPE_PENDULUM) then return 4 end
if tc:IsSetCard(0x3f33) then return 4 end
return tc:GetLeftScale()
end
function cm.p2val(e,tp)
local g=Duel.GetMatchingGroup(nil,e:GetHandlerPlayer(),LOCATION_PZONE,0,e:GetHandler())
if g:GetCount()==0 then return 4 end
local tc=g:GetFirst()
if not tc:GetType(TYPE_PENDULUM) then return 4 end
if tc:IsSetCard(0x3f33) then return 4 end
return tc:GetRightScale()
end
function cm.rpfilter(c,e,tp,b1,b2)
return c:IsLevel(3) and c:IsSetCard(0xf33) and c:IsFaceupEx() and c:IsType(TYPE_MONSTER) and not c:IsForbidden()
and (b1 or (b2 and c:IsCanBeSpecialSummoned(e,0,tp,false,false)))
end
function cm.destg(e,tp,eg,ep,ev,re,r,rp,chk)
local g=Duel.GetMatchingGroup(nil,tp,LOCATION_ONFIELD,0,nil,e,tp)
if chk==0 then return #g>0 end
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0)
end
function cm.desop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g=Duel.SelectMatchingCard(tp,nil,tp,LOCATION_ONFIELD,0,1,1,nil,e,tp)
Duel.HintSelection(g)
if Duel.Destroy(g,REASON_EFFECT)>0 and g:GetFirst():IsType(TYPE_PENDULUM) then
local b1=Duel.CheckLocation(tp,LOCATION_PZONE,0) or Duel.CheckLocation(tp,LOCATION_PZONE,1)
local b2=Duel.GetLocationCount(tp,LOCATION_MZONE)>0
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SELF)
local g=Duel.SelectMatchingCard(tp,cm.rpfilter,tp,LOCATION_EXTRA+LOCATION_DECK,0,1,1,nil,e,tp,b1,b2)
local tc=g:GetFirst()
if not tc then return end
b2=Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and tc:IsCanBeSpecialSummoned(e,0,tp,false,false)
local op=0
op=aux.SelectFromOptions(tp,
{b1,aux.Stringid(m,0)},
{b2,aux.Stringid(m,1)})
if op==1 then
Duel.MoveToField(tc,tp,tp,LOCATION_PZONE,POS_FACEUP,true)
else
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)
end
end
end
function cm.sd2filter(c)
return c:IsSetCard(0x3f33) and c:IsFaceup()
end
function cm.c3filter(c)
return c:IsType(TYPE_PENDULUM) and c:IsFaceup()
end
function cm.sd2con(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(cm.c3filter,e:GetHandlerPlayer(),LOCATION_PZONE,0,nil)
if g:GetCount()~=2 then return false end
local cc=g:GetFirst()
local lsc=cc:GetLeftScale()
local dc=g:GetNext()
local l2sc=dc:GetLeftScale()
return (lsc==l2sc or lsc==l2sc-1 or lsc==l2sc+1) and Duel.GetLocationCount(e:GetHandlerPlayer(),LOCATION_MZONE)>0 and not Duel.IsExistingMatchingCard(cm.sd2filter,e:GetHandlerPlayer(),LOCATION_MZONE,0,1,nil)
end
function cm.filter(c)
return c:IsFaceup() and c:IsAbleToRemove() and (c:IsType(TYPE_MONSTER) or c:IsType(TYPE_CONTINUOUS))
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsControler(tp) and chkc:IsLocation(LOCATION_ONFIELD) and cm.filter(chkc) end
local debug=1
local o=0
if debug==1 then o=LOCATION_ONFIELD end
if chk==0 then return Duel.IsExistingTarget(cm.filter,tp,LOCATION_ONFIELD,o,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectTarget(tp,cm.filter,tp,LOCATION_ONFIELD,o,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,g,1,0,0)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and tc:IsFaceup() and Duel.Remove(tc,0,REASON_EFFECT+REASON_TEMPORARY)~=0 then
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetLabelObject(tc)
e1:SetCountLimit(1)
e1:SetOperation(cm.retop)
Duel.RegisterEffect(e1,tp)
end
end
function cm.retop(e,tp,eg,ep,ev,re,r,rp)
Duel.ReturnToField(e:GetLabelObject())
end
\ No newline at end of file
local m=15000632
local cm=_G["c"..m]
cm.name="幻智的黑翼·淬羽赫默"
function cm.initial_effect(c)
--special summon
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_HAND+LOCATION_GRAVE)
e1:SetCountLimit(1,m)
e1:SetCost(cm.spcost)
e1:SetTarget(cm.sptg)
e1:SetOperation(cm.spop)
c:RegisterEffect(e1)
--atk&def
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(m,1))
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_TO_GRAVE)
e2:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_CARD_TARGET)
e2:SetCountLimit(1,m+1)
e2:SetCondition(cm.adcon)
e2:SetTarget(cm.adtg)
e2:SetOperation(cm.adop)
c:RegisterEffect(e2)
end
function cm.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
e:SetLabel(100)
return true
end
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
local res=(Duel.GetLP(tp)>2000)
local g=Duel.GetFieldGroup(tp,LOCATION_HAND,0):Filter(Card.IsAbleToDeck,e:GetHandler())
if chk==0 then
if e:GetLabel()~=100 then return false end
e:SetLabel(0)
return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP) and ((not res) or #g>0)
end
Duel.PayLPCost(tp,math.floor(Duel.GetLP(tp)/2))
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
if res then
e:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TODECK)
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,1,0,0)
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
if Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)~=0 then
local g=Duel.GetFieldGroup(tp,LOCATION_HAND,0):Filter(Card.IsAbleToDeck,nil)
if e:GetCategory()&CATEGORY_TODECK~=0 and #g>0 then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local rg=g:Select(tp,1,1,nil)
if rg:GetCount()>0 then
Duel.SendtoDeck(rg,nil,2,REASON_EFFECT)
end
end
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CHANGE_LEVEL)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetValue(4)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetProperty(EFFECT_FLAG_SET_AVAILABLE+EFFECT_FLAG_SINGLE_RANGE+EFFECT_FLAG_CANNOT_DISABLE)
e2:SetCode(EFFECT_CANNOT_BE_SYNCHRO_MATERIAL)
e2:SetRange(LOCATION_MZONE)
e2:SetValue(cm.synlimit)
e2:SetReset(RESET_EVENT+RESETS_STANDARD)
c:RegisterEffect(e2)
local e3=e2:Clone()
e3:SetValue(cm.fsynlimit)
e3:SetCode(EFFECT_CANNOT_BE_FUSION_MATERIAL)
c:RegisterEffect(e3)
local e4=e2:Clone()
e4:SetCode(EFFECT_CANNOT_BE_XYZ_MATERIAL)
c:RegisterEffect(e4)
local e5=e2:Clone()
e5:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL)
c:RegisterEffect(e5)
end
end
function cm.synlimit(e,c)
if not c then return false end
return not c:IsSetCard(0xf36)
end
function cm.fsynlimit(e,c,sumtype)
if not c then return false end
return sumtype==SUMMON_TYPE_FUSION and not c:IsSetCard(0xf36)
end
function cm.adcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsPreviousLocation(LOCATION_HAND+LOCATION_ONFIELD)
end
function cm.adfilter(c)
return c:IsFaceup() and c:IsSetCard(0xf36) and c:IsSummonLocation(LOCATION_EXTRA)
end
function cm.adtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsControler(tp) and chkc:IsLocation(LOCATION_MZONE) and cm.adfilter(chkc) end
if chk==0 then return Duel.IsExistingTarget(cm.adfilter,tp,LOCATION_MZONE,0,1,nil) and Duel.GetLP(tp)~=Duel.GetLP(1-tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
Duel.SelectTarget(tp,cm.adfilter,tp,LOCATION_MZONE,0,1,1,nil)
end
function cm.adop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and tc:IsFaceup() then
local atk=math.abs(Duel.GetLP(tp)-Duel.GetLP(1-tp))
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
e1:SetValue(atk)
tc:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_UPDATE_DEFENSE)
tc:RegisterEffect(e2)
end
end
\ No newline at end of file
local m=15004434
local cm=_G["c"..m]
cm.name="织炎鸟-星火之王 荣光"
function cm.initial_effect(c)
c:EnableReviveLimit()
--spsummon condition
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetCode(EFFECT_SPSUMMON_CONDITION)
e1:SetValue(cm.splimit)
c:RegisterEffect(e1)
--cannot target
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetRange(LOCATION_MZONE)
e2:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e2:SetValue(aux.tgoval)
c:RegisterEffect(e2)
--indes
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e3:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
e3:SetRange(LOCATION_MZONE)
e3:SetValue(aux.indoval)
c:RegisterEffect(e3)
--des
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(m,0))
e4:SetCategory(CATEGORY_DESTROY)
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e4:SetCode(EVENT_SPSUMMON_SUCCESS)
e4:SetProperty(EFFECT_FLAG_DELAY)
e4:SetCountLimit(1,m)
e4:SetTarget(cm.des1tg)
e4:SetOperation(cm.des1op)
c:RegisterEffect(e4)
local e5=Effect.CreateEffect(c)
e5:SetDescription(aux.Stringid(m,0))
e5:SetCategory(CATEGORY_DESTROY)
e5:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e5:SetCode(EVENT_DESTROYED)
e5:SetRange(LOCATION_MZONE)
e5:SetProperty(EFFECT_FLAG_DELAY)
e5:SetCountLimit(1,m)
e5:SetCondition(cm.des1con)
e5:SetTarget(cm.des1tg)
e5:SetOperation(cm.des1op)
c:RegisterEffect(e5)
--special summon
local e6=Effect.CreateEffect(c)
e6:SetDescription(aux.Stringid(m,1))
e6:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TODECK)
e6:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e6:SetCode(EVENT_DESTROYED)
e6:SetRange(LOCATION_GRAVE)
e6:SetProperty(EFFECT_FLAG_DELAY)
e6:SetCountLimit(1,m+1)
e6:SetCondition(cm.spcon)
e6:SetTarget(cm.sptg)
e6:SetOperation(cm.spop)
c:RegisterEffect(e6)
end
function cm.splimit(e,se,sp,st)
return se:GetHandler():IsCode(15004400)
end
function cm.des1con(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(Card.IsAttribute,1,nil,ATTRIBUTE_FIRE)
end
function cm.des1filter(c)
return c:IsSetCard(0xaf31) and c:IsType(TYPE_MONSTER)
end
function cm.des1tg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.IsExistingMatchingCard(cm.des1filter,tp,LOCATION_DECK+LOCATION_HAND,0,1,nil) end
local g=Duel.GetMatchingGroup(cm.des1filter,tp,LOCATION_DECK+LOCATION_HAND,0,nil)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0)
end
function cm.des1op(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g=Duel.SelectMatchingCard(tp,cm.des1filter,tp,LOCATION_DECK+LOCATION_HAND,0,1,1,nil)
local sg=Duel.GetMatchingGroup(nil,tp,0,LOCATION_ONFIELD,nil)
if g:GetCount()>0 and Duel.Destroy(g,REASON_EFFECT)~=0 and sg:GetCount()>0
and Duel.SelectYesNo(tp,aux.Stringid(m,2)) then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local tg=sg:Select(tp,1,1,nil)
Duel.HintSelection(tg)
Duel.Destroy(tg,REASON_EFFECT)
end
end
function cm.cfilter(c,tp)
return c:IsPreviousControler(tp) and c:IsType(TYPE_MONSTER) and (c:IsPreviousLocation(LOCATION_MZONE) or c:IsPreviousLocation(LOCATION_HAND) or c:IsPreviousLocation(LOCATION_DECK))
end
function cm.spcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(cm.cfilter,1,nil,tp) and not eg:IsContains(e:GetHandler())
end
function cm.spfilter(c,e,tp)
return c:IsSetCard(0xaf31) and c:IsType(TYPE_MONSTER) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP)
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 e:GetHandler():IsAbleToDeck() and Duel.IsExistingMatchingCard(cm.spfilter,tp,LOCATION_DECK,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_TODECK,e:GetHandler(),1,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
end
function cm.spop(e,tp,eg,ep,ev,re,r,rp)
if e:GetHandler():IsRelateToEffect(e) and Duel.SendtoDeck(e:GetHandler(),nil,2,REASON_EFFECT) then
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,cm.spfilter,tp,LOCATION_DECK,0,1,1,nil,e,tp)
if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
end
end
\ No newline at end of file
local m=15005613
local cm=_G["c"..m]
cm.name="枯绿授忆者-明王哲凌希亚"
function cm.initial_effect(c)
aux.AddCodeList(c,15005627)
c:EnableReviveLimit()
--spsummon condition
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetCode(EFFECT_SPSUMMON_CONDITION)
e1:SetValue(aux.ritlimit)
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_BATTLE)
e2:SetCondition(cm.indcon)
e2:SetValue(1)
c:RegisterEffect(e2)
local e3=e2:Clone()
e3:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
c:RegisterEffect(e3)
--des
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(m,0))
e4:SetCategory(CATEGORY_TODECK)
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e4:SetCode(EVENT_SPSUMMON_SUCCESS)
e4:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_CARD_TARGET)
e4:SetCountLimit(1,m)
e4:SetCondition(cm.tdcon)
e4:SetTarget(cm.tdtg)
e4:SetOperation(cm.tdop)
c:RegisterEffect(e4)
local e5=Effect.CreateEffect(c)
e5:SetDescription(aux.Stringid(m,0))
e5:SetCategory(CATEGORY_TODECK)
e5:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e5:SetCode(EVENT_REMOVE)
e5:SetRange(LOCATION_MZONE)
e5:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_CARD_TARGET)
e5:SetCountLimit(1,m)
e5:SetTarget(cm.tdtg)
e5:SetOperation(cm.tdop)
c:RegisterEffect(e5)
--special summon
local e6=Effect.CreateEffect(c)
e6:SetDescription(aux.Stringid(m,1))
e6:SetCategory(CATEGORY_SPECIAL_SUMMON)
e6:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e6:SetCode(EVENT_LEAVE_FIELD)
e6:SetProperty(EFFECT_FLAG_DELAY)
e6:SetCountLimit(1,m+1)
e6:SetCondition(cm.spcon)
e6:SetTarget(cm.sptg)
e6:SetOperation(cm.spop)
c:RegisterEffect(e6)
end
function cm.indcon(e)
return e:GetHandler():IsLinkState()
end
function cm.tdcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_RITUAL)
end
function cm.tdtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsControler(1-tp) and chkc:IsLocation(LOCATION_ONFIELD) end
if chk==0 then return Duel.IsExistingTarget(Card.IsAbleToDeck,tp,0,LOCATION_ONFIELD,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectTarget(tp,Card.IsAbleToDeck,tp,0,LOCATION_ONFIELD,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,1,0,0)
end
function cm.tdop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if not tc:IsRelateToEffect(e) then return end
local b1=tc:IsAbleToDeck()
if b1 then
Duel.SendtoDeck(tc,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)
end
end
function cm.spcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:IsPreviousLocation(LOCATION_MZONE)
and c:IsPreviousPosition(POS_FACEUP) and c:IsPreviousControler(tp) and c:GetReasonPlayer()==1-tp
end
function cm.spfilter(c,e,tp)
return c:IsSetCard(0x5f42) and c:IsType(TYPE_LINK) and c:IsLinkBelow(4) and c:IsCanBeSpecialSummoned(e,0,tp,true,false)
and Duel.GetLocationCountFromEx(tp,tp,nil,c)>0
end
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.spfilter,tp,LOCATION_EXTRA,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end
function cm.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,cm.spfilter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp)
if #g>0 then
Duel.SpecialSummon(g,0,tp,tp,true,false,POS_FACEUP)
end
end
\ No newline at end of file
local m=15005627
local cm=_G["c"..m]
cm.name="枯绿追忆术-『矶翰纳遗梦』"
function cm.initial_effect(c)
aux.AddCodeList(c,15005613)
--Activate deck
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,m)
e1:SetTarget(cm.r1tg)
e1:SetOperation(cm.r1op)
c:RegisterEffect(e1)
--Activate hand
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(m,1))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_ACTIVATE)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetCountLimit(1,m)
e2:SetTarget(cm.r2tg)
e2:SetOperation(cm.r2op)
c:RegisterEffect(e2)
--salvage
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_TOHAND)
e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetRange(LOCATION_GRAVE)
e3:SetCountLimit(1,m+1)
e3:SetCost(cm.thcost)
e3:SetTarget(cm.thtg)
e3:SetOperation(cm.thop)
c:RegisterEffect(e3)
end
function cm.filter(c,e,tp)
return c:IsCode(15005613) and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_RITUAL,tp,false,true)
end
function cm.rmfilter(c)
return c:IsType(TYPE_LINK) and c:IsLinkBelow(4) and c:IsAbleToRemove()
end
function cm.fselect(g,tp)
return g:GetSum(Card.GetLink)==4 and Duel.GetMZoneCount(tp,g)>0
end
function cm.r1tg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
local g=Duel.GetMatchingGroup(cm.rmfilter,tp,LOCATION_MZONE,0,nil)
if chk==0 then
return g:CheckSubGroup(cm.fselect,1,#g,tp) and Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_DECK,0,1,nil,e,tp)
end
Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription())
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
end
function cm.r1op(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(cm.rmfilter,tp,LOCATION_MZONE,0,nil)
if g:CheckSubGroup(cm.fselect,1,#g,tp) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local sg=g:SelectSubGroup(tp,cm.fselect,false,1,#g,tp)
Duel.HintSelection(sg)
if Duel.Remove(sg,POS_FACEUP,REASON_EFFECT)==0 then return end
local mg=Duel.GetOperatedGroup()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tg=Duel.SelectMatchingCard(tp,cm.filter,tp,LOCATION_DECK,0,1,1,nil,e,tp)
local tc=tg:GetFirst()
Duel.BreakEffect()
tc:SetMaterial(mg)
Duel.SpecialSummon(tc,SUMMON_TYPE_RITUAL,tp,tp,false,true,POS_FACEUP)
tc:CompleteProcedure()
end
end
function cm.r2tg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
local g=Duel.GetMatchingGroup(cm.rmfilter,tp,LOCATION_EXTRA,0,nil)
if chk==0 then
return g:CheckSubGroup(cm.fselect,1,#g,tp) and Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_HAND,0,1,nil,e,tp)
end
Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription())
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND)
end
function cm.r2op(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(cm.rmfilter,tp,LOCATION_EXTRA,0,nil)
if g:CheckSubGroup(cm.fselect,1,#g,tp) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local sg=g:SelectSubGroup(tp,cm.fselect,false,1,#g,tp)
if Duel.Remove(sg,POS_FACEUP,REASON_EFFECT)==0 then return end
local mg=Duel.GetOperatedGroup()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tg=Duel.SelectMatchingCard(tp,cm.filter,tp,LOCATION_HAND,0,1,1,nil,e,tp)
local tc=tg:GetFirst()
Duel.BreakEffect()
tc:SetMaterial(mg)
Duel.SpecialSummon(tc,SUMMON_TYPE_RITUAL,tp,tp,false,true,POS_FACEUP)
tc:CompleteProcedure()
end
end
function cm.thfilter(c)
return c:IsSetCard(0xf42) and c:IsType(TYPE_MONSTER) and c:IsAbleToRemoveAsCost()
end
function cm.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.thfilter,tp,LOCATION_GRAVE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,cm.thfilter,tp,LOCATION_GRAVE,0,1,1,nil)
Duel.Remove(g,POS_FACEUP,REASON_COST)
end
function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToHand() end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,e:GetHandler(),1,0,0)
end
function cm.thop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
Duel.SendtoHand(c,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,c)
end
end
\ No newline at end of file
local m=15005645
local cm=_G["c"..m]
cm.name="枯绿界-避时的遗迹"
function cm.initial_effect(c)
--Activate
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_ACTIVATE)
e0:SetCode(EVENT_FREE_CHAIN)
c:RegisterEffect(e0)
--atkup
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetRange(LOCATION_FZONE)
e1:SetTargetRange(LOCATION_MZONE,0)
e1:SetTarget(aux.TargetBoolFunction(Card.IsSetCard,0xf42))
e1:SetValue(cm.atkval)
c:RegisterEffect(e1)
--spsummon
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(m,1))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_FZONE)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetCountLimit(1,m)
e2:SetTarget(cm.sptg)
e2:SetOperation(cm.spop)
c:RegisterEffect(e2)
--negate
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(m,2))
e3:SetCategory(CATEGORY_DISABLE)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_CHAIN_SOLVING)
e3:SetRange(LOCATION_FZONE)
e3:SetCondition(cm.discon)
e3:SetOperation(cm.disop)
c:RegisterEffect(e3)
end
function cm.atkvalfilter(c)
return c:GetMutualLinkedGroupCount()>0
end
function cm.atkval(e,c)
return Duel.GetMatchingGroupCount(cm.atkvalfilter,0,LOCATION_MZONE,LOCATION_MZONE,nil)*100
end
function cm.spfilter(c,e,tp)
return c:IsSetCard(0x3f42) and c:IsType(TYPE_MONSTER)
and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and cm.spfilter(chkc,e,tp) end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingTarget(cm.spfilter,tp,LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectTarget(tp,cm.spfilter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,0,0)
end
function cm.spop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and aux.NecroValleyFilter()(tc) then
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)
end
end
function cm.disfilter(c)
return c:IsType(TYPE_LINK) and c:IsFaceup() and c:IsAbleToGrave() and c:IsExtraLinkState()
end
function cm.discon(e,tp,eg,ep,ev,re,r,rp)
return rp==1-tp and Duel.IsChainDisablable(ev) and re:IsActiveType(TYPE_MONSTER)
and Duel.IsExistingMatchingCard(cm.disfilter,tp,LOCATION_MZONE,0,1,nil)
and Duel.GetFlagEffect(tp,m)<=0
end
function cm.disop(e,tp,eg,ep,ev,re,r,rp)
if Duel.SelectEffectYesNo(tp,e:GetHandler(),aux.Stringid(m,3)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DEATTACHFROM)
local tc=Duel.SelectMatchingCard(tp,cm.disfilter,tp,LOCATION_MZONE,0,1,1,nil):GetFirst()
if tc and Duel.SendtoGrave(tc,REASON_EFFECT)~=0 and tc:IsLocation(LOCATION_GRAVE) then
Duel.Hint(HINT_CARD,0,m)
Duel.NegateEffect(ev)
Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1)
end
end
end
\ No newline at end of file
local m=15005660
local cm=_G["c"..m]
cm.name="枯绿授忆者-影王厄剌伯斯凯撒"
function cm.initial_effect(c)
--link summon
c:EnableReviveLimit()
aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkType,TYPE_LINK),5,5)
--spsummon condition
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetCode(EFFECT_SPSUMMON_CONDITION)
e1:SetValue(aux.linklimit)
c:RegisterEffect(e1)
--immune
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_IMMUNE_EFFECT)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetRange(LOCATION_MZONE)
e2:SetCondition(cm.incon)
e2:SetValue(cm.efilter)
c:RegisterEffect(e2)
--add effect
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e3:SetCode(EVENT_SPSUMMON_SUCCESS)
e3:SetCondition(cm.tncon)
e3:SetOperation(cm.tnop)
c:RegisterEffect(e3)
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetCode(EFFECT_MATERIAL_CHECK)
e4:SetValue(cm.valcheck)
e4:SetLabelObject(e3)
c:RegisterEffect(e4)
end
function cm.incon(e)
local c=e:GetHandler()
return c:IsType(TYPE_LINK) and c:GetLinkedGroupCount()==0
end
function cm.efilter(e,te)
return te:GetOwner()~=e:GetOwner()
end
function cm.valcheck(e,c)
local flag=0
local g=c:GetMaterial()
if g:GetCount()>0 and not g:IsExists(cm.mfilter,1,nil) then
flag=1
end
e:GetLabelObject():SetLabel(flag)
if flag==1 then
local ct=g:Filter(Card.IsType,nil,TYPE_LINK):GetSum(Card.GetLink)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_BASE_ATTACK)
e1:SetValue(ct*500)
e1:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TOFIELD+RESET_DISABLE)
c:RegisterEffect(e1)
end
end
function cm.mfilter(c)
return not c:IsExtraLinkState()
end
function cm.tncon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_LINK) and e:GetLabel()>0
end
function cm.tnop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
--destroy
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(m,0))
e2:SetCategory(CATEGORY_DESTROY+CATEGORY_DAMAGE)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetTarget(cm.destg)
e2:SetOperation(cm.desop)
e2:SetReset(RESET_EVENT+RESETS_STANDARD)
c:RegisterEffect(e2)
c:RegisterFlagEffect(m,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(m,1))
end
function cm.destg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local c=e:GetHandler()
if chkc then return false end
if chk==0 then return Duel.IsExistingTarget(nil,tp,LOCATION_ONFIELD,0,1,c)
and Duel.IsExistingTarget(nil,tp,0,LOCATION_ONFIELD,1,c) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g1=Duel.SelectTarget(tp,nil,tp,LOCATION_ONFIELD,0,1,1,c)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g2=Duel.SelectTarget(tp,nil,tp,0,LOCATION_ONFIELD,1,1,c)
g1:Merge(g2)
g1:KeepAlive()
Duel.SetChainLimit(cm.limit(g1))
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g1,2,0,0)
end
function cm.limit(g)
return function (e,lp,tp)
return not g:IsContains(e:GetHandler())
end
end
function cm.desop(e,tp,eg,ep,ev,re,r,rp)
Duel.Destroy(Duel.GetTargetsRelateToChain(),REASON_EFFECT)
local dg=Duel.GetOperatedGroup():Filter(Card.IsType,nil,TYPE_LINK)
if #dg>0 then
Duel.BreakEffect()
local ct=dg:GetSum(Card.GetLink)
Duel.Damage(1-tp,ct*1000,REASON_EFFECT)
end
end
\ No newline at end of file
local m=15006120
local cm=_G["c"..m]
cm.name="星主变"
function cm.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetCountLimit(1,m+EFFECT_COUNT_CODE_OATH)
e1:SetTarget(cm.thtg)
e1:SetOperation(cm.thop)
c:RegisterEffect(e1)
end
function cm.thfilter(c)
return c:IsType(TYPE_TUNER) and c:IsType(TYPE_MONSTER) and c:IsAbleToHand()
end
function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and cm.thfilter(chkc) end
if chk==0 then return Duel.IsExistingTarget(cm.thfilter,tp,LOCATION_GRAVE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectTarget(tp,cm.thfilter,tp,LOCATION_GRAVE,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,g,1,0,0)
end
function cm.spfilter(c,tc,mg)
return c:IsSynchroSummonable(tc,mg) and c:IsRace(RACE_DRAGON)
end
function cm.thop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then
Duel.SendtoHand(tc,nil,REASON_EFFECT)
if not tc:IsLocation(LOCATION_HAND) then return end
Duel.ConfirmCards(1-tp,tc)
local mg=Duel.GetSynchroMaterial(tp)
if mg:IsExists(Card.GetHandSynchro,1,nil) then
local mg2=Duel.GetMatchingGroup(nil,tp,LOCATION_HAND,0,nil)
if #mg2>0 then mg:Merge(mg2) end
end
mg:AddCard(tc)
if Duel.IsExistingMatchingCard(cm.spfilter,tp,LOCATION_EXTRA,0,1,nil,nil,mg) and Duel.SelectYesNo(tp,aux.Stringid(m,0)) then
local g=Duel.GetMatchingGroup(cm.spfilter,tp,LOCATION_EXTRA,0,nil,nil,mg)
if #g>0 then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=g:Select(tp,1,1,nil)
Duel.SynchroSummon(tp,sg:GetFirst(),nil,mg)
end
end
end
end
\ No newline at end of file
--幻想所有者
function c49811514.initial_effect(c)
--remove
local e1=Effect.CreateEffect(c)
e1:SetHintTiming(TIMING_END_PHASE)
e1:SetDescription(aux.Stringid(49811514,0))
e1:SetCategory(CATEGORY_DISABLE+CATEGORY_REMOVE+CATEGORY_TOGRAVE)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_CANNOT_INACTIVATE+EFFECT_FLAG_CAN_FORBIDDEN)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,49811514)
e1:SetCost(c49811514.cost)
e1:SetTarget(c49811514.target)
e1:SetOperation(c49811514.operation)
c:RegisterEffect(e1)
--spsummon
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(49811514,1))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_PHASE+PHASE_STANDBY)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_CANNOT_INACTIVATE+EFFECT_FLAG_CAN_FORBIDDEN)
e2:SetRange(LOCATION_GRAVE)
e2:SetCountLimit(1,49811514+1)
e2:SetCondition(c49811514.spcon)
e2:SetCost(aux.bfgcost)
e2:SetTarget(c49811514.sptg)
e2:SetOperation(c49811514.spop)
c:RegisterEffect(e2)
end
function c49811514.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsDiscardable() end
Duel.SendtoGrave(e:GetHandler(),REASON_COST+REASON_DISCARD)
end
function c49811514.cfilter(c,p)
return c:GetOwner()==p and c:IsFaceup() and c:IsAbleToRemove()
end
function c49811514.target(e,tp,eg,ep,ev,re,r,rp,chk)
local sg=Duel.GetMatchingGroup(c49811514.cfilter,tp,LOCATION_ONFIELD,0,nil,1-tp)
if chk==0 then return sg:GetCount()>0 end
Duel.SetOperationInfo(0,CATEGORY_REMOVE,sg,sg:GetCount(),0,0)
end
function c49811514.operation(e,tp,eg,ep,ev,re,r,rp)
local sg=Duel.GetMatchingGroup(c49811514.cfilter,tp,LOCATION_ONFIELD,0,nil,1-tp)
if Duel.Remove(sg,POS_FACEUP,REASON_EFFECT)==0 then return end
local og=Duel.GetOperatedGroup():Filter(Card.IsLocation,nil,LOCATION_REMOVED)
for tc in aux.Next(og) do
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_DISABLE)
e1:SetTargetRange(LOCATION_ONFIELD,LOCATION_ONFIELD)
e1:SetTarget(c49811514.distg)
e1:SetLabelObject(tc)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_CHAIN_SOLVING)
e2:SetCondition(c49811514.discon)
e2:SetOperation(c49811514.disop)
e2:SetLabelObject(tc)
e2:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e2,tp)
end
local tg=Duel.GetMatchingGroup(Card.IsAbleToGrave,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil)
if og:IsExists(Card.IsAttribute,1,nil,ATTRIBUTE_DARK) and tg:GetCount()>0 then
Duel.BreakEffect()
Duel.SendtoGrave(tg,REASON_EFFECT)
end
end
function c49811514.distg(e,c)
local tc=e:GetLabelObject()
return c:IsOriginalCodeRule(tc:GetOriginalCodeRule())
end
function c49811514.discon(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetLabelObject()
return re:GetHandler():IsOriginalCodeRule(tc:GetOriginalCodeRule())
end
function c49811514.disop(e,tp,eg,ep,ev,re,r,rp)
Duel.NegateEffect(ev)
end
function c49811514.spcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()==1-tp
end
function c49811514.spfilter(c,e,tp)
return (Duel.GetMZoneCount(tp)>0 and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_DEFENSE) or Duel.GetMZoneCount(1-tp)>0 and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_DEFENSE,1-tp)) and c:IsFaceup()
end
function c49811514.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c49811514.spfilter,tp,0,LOCATION_REMOVED,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,1-tp,LOCATION_REMOVED)
end
function c49811514.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tc=Duel.SelectTarget(tp,c49811514.spfilter,tp,0,LOCATION_REMOVED,1,1,nil,e,tp):GetFirst()
if not tc then return end
local s1=Duel.GetMZoneCount(tp)>0 and tc:IsCanBeSpecialSummoned(e,0,tp,false,false)
local s2=Duel.GetMZoneCount(1-tp)>0 and tc:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_DEFENSE,1-tp)
local toplayer=aux.SelectFromOptions(tp,
{s1,aux.Stringid(49811514,0),tp},
{s2,aux.Stringid(49811514,1),1-tp})
if toplayer~=nil then
Duel.SpecialSummon(tc,0,tp,toplayer,false,false,POS_FACEUP_DEFENSE)
end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CHANGE_DAMAGE)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(1,1)
e1:SetValue(0)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
local e2=e1:Clone()
e2:SetCode(EFFECT_NO_EFFECT_DAMAGE)
e2:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e2,tp)
end
--真王之印
local s,id,o=GetID()
local KOISHI_CHECK=false
if Card.SetCardData then KOISHI_CHECK=true end
function s.initial_effect(c)
if not KOISHI_CHECK then return end
local name0=Duel.GetRegistryValue("player_name_0")
local name1=Duel.GetRegistryValue("player_name_1")
local tp=0
if Duel.GetFieldGroupCount(0,0,LOCATION_DECK)>0 or Duel.GetFieldGroupCount(0,LOCATION_EXTRA,0)>0 then tp=1 end
if tp==0 and s.mfilter(name0) or tp==1 and s.mfilter(name1) then
c:SetEntityCode(10000040,true)
c:ReplaceEffect(10000040,0,0)
end
end
function s.mfilter(name)
return name=="阿图姆" or name=="Atem" or name=="atem" or name=="アテム"
end
\ No newline at end of file
......@@ -27,7 +27,7 @@ function s.thfilter(c)
end
function s.mfilter(c)
return c:IsType(TYPE_MONSTER)
return c:IsType(TYPE_MONSTER) and c:IsSetCard(0x666d)
end
function s.condition(e,tp,eg,ep,ev,re,r,rp)
......
......@@ -6,7 +6,6 @@ function s.initial_effect(c)
c:EnableReviveLimit()
--atkup
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,0))
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE)
......@@ -15,48 +14,36 @@ function s.initial_effect(c)
c:RegisterEffect(e1)
--negate
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(id,1))
e2:SetCategory(CATEGORY_TOGRAVE+CATEGORY_NEGATE+CATEGORY_DESTROY)
e2:SetCategory(CATEGORY_NEGATE+CATEGORY_EQUIP)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_CHAINING)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,EFFECT_COUNT_CODE_CHAIN)
e2:SetCondition(s.discon)
e2:SetTarget(s.distg)
e2:SetOperation(s.disop)
c:RegisterEffect(e2)
--equip
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(id,2))
e3:SetCategory(CATEGORY_EQUIP)
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetCode(EVENT_CHAINING)
e3:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e3:SetRange(LOCATION_MZONE)
e3:SetCondition(s.eqcon)
e3:SetTarget(s.eqtg)
e3:SetOperation(s.eqop)
c:RegisterEffect(e3)
end
function s.val(e,c)
return c:GetEquipCount()*500
end
function s.discon(e,tp,eg,ep,ev,re,r,rp)
return rp==1-tp and not e:GetHandler():IsStatus(STATUS_BATTLE_DESTROYED) and Duel.IsChainNegatable(ev)
and ((re:IsActiveType(TYPE_MONSTER) and Duel.GetFlagEffect(tp,id)==0)
return ((re:IsActiveType(TYPE_MONSTER) and Duel.GetFlagEffect(tp,id)==0)
or (re:IsActiveType(TYPE_SPELL) and Duel.GetFlagEffect(tp,id+o)==0)
or (re:IsActiveType(TYPE_TRAP) and Duel.GetFlagEffect(tp,id+o*2)==0))
end
function s.cfilter(c,tp)
return c:IsType(TYPE_EQUIP) and c:IsAbleToGrave()
function s.eqfilter(c,ec)
return c:IsType(TYPE_EQUIP) and c:CheckEquipTarget(ec)
end
function s.distg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
local cg=c:GetEquipGroup()
if chk==0 then return cg:IsExists(s.cfilter,1,nil,tp) end
local b1=c:GetEquipGroup():IsExists(Card.IsAbleToGraveAsCost,1,nil) and not c:IsStatus(STATUS_BATTLE_DESTROYED) and Duel.IsChainNegatable(ev)
local b2=Duel.GetLocationCount(tp,LOCATION_SZONE)>0 and Duel.IsExistingMatchingCard(s.eqfilter,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,nil,c)
if chk==0 then return b1 or b2 end
Duel.SetOperationInfo(0,CATEGORY_NEGATE,eg,1,0,0)
if re:IsActiveType(TYPE_MONSTER) then
Duel.RegisterFlagEffect(tp,id,RESET_PHASE+PHASE_END,0,1)
Duel.RegisterFlagEffect(tp,id,RESET_PHASE+PHASE_END,EFFECT_FLAG_OATH,1)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,3))
e1:SetType(EFFECT_TYPE_FIELD)
......@@ -65,90 +52,51 @@ function s.distg(e,tp,eg,ep,ev,re,r,rp,chk)
e1:SetTargetRange(1,0)
Duel.RegisterEffect(e1,tp)
elseif re:IsActiveType(TYPE_SPELL) then
Duel.RegisterFlagEffect(tp,id+o,RESET_PHASE+PHASE_END,0,1)
Duel.RegisterFlagEffect(tp,id+o,RESET_PHASE+PHASE_END,EFFECT_FLAG_OATH,1)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,4))
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CLIENT_HINT)
e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetTargetRange(1,0)
Duel.RegisterEffect(e1,tp)
elseif re:IsActiveType(TYPE_TRAP) then
Duel.RegisterFlagEffect(tp,id+o*2,RESET_PHASE+PHASE_END,0,1)
Duel.RegisterFlagEffect(tp,id+o*2,RESET_PHASE+PHASE_END,EFFECT_FLAG_OATH,1)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,5))
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CLIENT_HINT)
e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetTargetRange(1,0)
Duel.RegisterEffect(e1,tp)
end
if re:GetHandler():IsDestructable() and re:GetHandler():IsRelateToEffect(re) then
Duel.SetOperationInfo(0,CATEGORY_DESTROY,eg,1,0,0)
end
Duel.SetOperationInfo(0,CATEGORY_NEGATE,eg,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_EQUIP,nil,1,tp,LOCATION_HAND+LOCATION_GRAVE)
Duel.SetOperationInfo(0,CATEGORY_LEAVE_GRAVE,nil,1,tp,0)
end
function s.disop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local cg=c:GetEquipGroup()
if cg:IsExists(s.cfilter,1,nil,tp) then
local b1=c:GetEquipGroup():IsExists(Card.IsAbleToGraveAsCost,1,nil)
local b2=Duel.GetLocationCount(tp,LOCATION_SZONE)>0 and Duel.IsExistingMatchingCard(s.eqfilter,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,nil,c)
if b1 and b2 then
op=Duel.SelectOption(tp,aux.Stringid(id,0),aux.Stringid(id,1))
elseif b1 then
op=Duel.SelectOption(tp,aux.Stringid(id,0))
else
op=Duel.SelectOption(tp,aux.Stringid(id,1))+1
end
if op==0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=cg:FilterSelect(tp,s.cfilter,1,1,nil,tp)
local g=c:GetEquipGroup():FilterSelect(tp,Card.IsAbleToGraveAsCost,1,1,nil)
Duel.SendtoGrave(g,REASON_EFFECT)
if Duel.NegateActivation(ev) and re:GetHandler():IsRelateToEffect(re) then
Duel.Destroy(eg,REASON_EFFECT)
Duel.NegateActivation(ev)
else
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 or c:IsFacedown() or not c:IsRelateToEffect(e) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(s.eqfilter),tp,LOCATION_HAND+LOCATION_GRAVE,0,1,1,nil,c)
if g:GetCount()>0 then
Duel.Equip(tp,g:GetFirst(),c)
end
end
end
function s.eqcon(e,tp,eg,ep,ev,re,r,rp)
return rp==1-tp
and ((re:IsActiveType(TYPE_MONSTER) and Duel.GetFlagEffect(tp,id)==0)
or (re:IsActiveType(TYPE_SPELL) and Duel.GetFlagEffect(tp,id+o)==0)
or (re:IsActiveType(TYPE_TRAP) and Duel.GetFlagEffect(tp,id+o*2)==0))
end
function s.eqfilter(c,ec,tp)
return c:IsType(TYPE_EQUIP) and c:CheckEquipTarget(ec) and c:CheckUniqueOnField(tp,LOCATION_SZONE) and not c:IsForbidden()
end
function s.eqtg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0
and Duel.IsExistingMatchingCard(s.eqfilter,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,nil,c,tp) end
Duel.SetOperationInfo(0,CATEGORY_EQUIP,nil,1,tp,LOCATION_HAND+LOCATION_GRAVE)
if re:IsActiveType(TYPE_MONSTER) then
Duel.RegisterFlagEffect(tp,id,RESET_PHASE+PHASE_END,0,1)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,3))
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CLIENT_HINT)
e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetTargetRange(1,0)
Duel.RegisterEffect(e1,tp)
elseif re:IsActiveType(TYPE_SPELL) then
Duel.RegisterFlagEffect(tp,id+o,RESET_PHASE+PHASE_END,0,1)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,4))
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CLIENT_HINT)
e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetTargetRange(1,0)
Duel.RegisterEffect(e1,tp)
elseif re:IsActiveType(TYPE_TRAP) then
Duel.RegisterFlagEffect(tp,id+o*2,RESET_PHASE+PHASE_END,0,1)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,5))
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CLIENT_HINT)
e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetTargetRange(1,0)
Duel.RegisterEffect(e1,tp)
end
end
function s.eqop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 or c:IsFacedown() or not c:IsRelateToEffect(e) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(s.eqfilter),tp,LOCATION_HAND+LOCATION_GRAVE,0,1,1,nil,c,tp)
local tc=g:GetFirst()
if tc then
Duel.Equip(tp,tc,c)
end
function s.eqlimit(e,c)
return e:GetOwner()==c
end
--现世的守护龙 虹彩
--神圣白
local s,id,o=GetID()
function s.initial_effect(c)
--synchro summon
aux.AddSynchroProcedure(c,aux.FilterBoolFunction(Card.IsAttribute,ATTRIBUTE_LIGHT),aux.NonTuner(Card.IsAttribute,ATTRIBUTE_DARK),1)
aux.AddSynchroProcedure(c,nil,aux.NonTuner(nil),1)
c:EnableReviveLimit()
--cannot special summon
local e0=Effect.CreateEffect(c)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetCode(EFFECT_SPSUMMON_CONDITION)
e0:SetValue(aux.synlimit)
c:RegisterEffect(e0)
--to grave
--destroy
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,0))
e1:SetCategory(CATEGORY_TOGRAVE)
e1:SetCategory(CATEGORY_DESTROY)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetTarget(s.tgtg)
e1:SetOperation(s.tgop)
e1:SetCountLimit(1,id)
e1:SetTarget(s.destg)
e1:SetOperation(s.desop)
c:RegisterEffect(e1)
--activate limit
--spsummon limit
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetCode(EFFECT_CANNOT_ACTIVATE)
e2:SetRange(LOCATION_MZONE)
e2:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetTargetRange(1,1)
e2:SetValue(s.aclimit)
e2:SetTarget(s.sumlimit)
c:RegisterEffect(e2)
--negate
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e3:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e3:SetDescription(aux.Stringid(id,1))
e3:SetCategory(CATEGORY_NEGATE)
e3:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetRange(LOCATION_MZONE)
e3:SetTargetRange(1,1)
e3:SetTarget(s.sumlimit)
e3:SetCode(EVENT_CHAINING)
e3:SetCountLimit(1,id+1000)
e3:SetCondition(s.negcon)
e3:SetCost(s.negcost)
e3:SetTarget(s.negtg)
e3:SetOperation(s.negop)
c:RegisterEffect(e3)
--negate
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(id,1))
e4:SetCategory(CATEGORY_NEGATE+CATEGORY_DESTROY)
e4:SetType(EFFECT_TYPE_QUICK_O)
e4:SetCode(EVENT_CHAINING)
e4:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e4:SetRange(LOCATION_MZONE)
e4:SetCountLimit(1)
e4:SetCondition(s.discon)
e4:SetTarget(s.distg)
e4:SetOperation(s.disop)
c:RegisterEffect(e4)
end
function s.tgtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
local g=Duel.GetMatchingGroup(Card.IsSummonLocation,tp,LOCATION_MZONE,LOCATION_MZONE,nil,LOCATION_GRAVE)
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,g,g:GetCount(),0,0)
function s.desfilter(c)
return c:IsSummonLocation(LOCATION_GRAVE)
end
function s.tgop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(Card.IsSummonLocation,tp,LOCATION_MZONE,LOCATION_MZONE,nil,LOCATION_GRAVE)
if g:GetCount()>0 then
Duel.SendtoGrave(g,REASON_EFFECT)
end
function s.destg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
local g=Duel.GetMatchingGroup(s.desfilter,tp,LOCATION_MZONE,LOCATION_MZONE,nil)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,g:GetCount(),0,0)
end
function s.aclimit(e,re,tp)
return re:GetActivateLocation()==LOCATION_GRAVE
function s.desop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(s.desfilter,tp,LOCATION_MZONE,LOCATION_MZONE,nil)
Duel.Destroy(g,REASON_EFFECT)
end
function s.sumlimit(e,c,sump,sumtype,sumpos,targetp,se)
return c:IsLocation(LOCATION_GRAVE) and c:IsType(TYPE_MONSTER)
end
function s.discon(e,tp,eg,ep,ev,re,r,rp)
if e:GetHandler():IsStatus(STATUS_BATTLE_DESTROYED) then return false end
if not re:IsHasProperty(EFFECT_FLAG_CARD_TARGET) then return false end
local tg=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS)
return tg and tg:IsExists(Card.IsLocation,1,nil,LOCATION_GRAVE) and Duel.IsChainNegatable(ev)
function s.negcon(e,tp,eg,ep,ev,re,r,rp)
return re:GetActivateLocation()==LOCATION_GRAVE and Duel.IsChainNegatable(ev)
end
function s.negcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,nil) end
Duel.DiscardHand(tp,Card.IsDiscardable,1,1,REASON_COST+REASON_DISCARD)
end
function s.distg(e,tp,eg,ep,ev,re,r,rp,chk)
function s.negtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_NEGATE,eg,1,0,0)
if re:GetHandler():IsDestructable() and re:GetHandler():IsRelateToEffect(re) then
Duel.SetOperationInfo(0,CATEGORY_DESTROY,eg,1,0,0)
end
end
function s.disop(e,tp,eg,ep,ev,re,r,rp)
if Duel.NegateActivation(ev) and re:GetHandler():IsRelateToEffect(re) then
Duel.Destroy(eg,REASON_EFFECT)
end
function s.negop(e,tp,eg,ep,ev,re,r,rp)
Duel.NegateActivation(ev)
end
......@@ -30,15 +30,17 @@ end
function s.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local c=e:GetHandler()
if chkc then return chkc:IsLocation(LOCATION_MZONE) and s.filter(chkc) end
local b1=Duel.GetLocationCount(tp,LOCATION_SZONE)>0 and Duel.IsExistingTarget(s.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil)
local b2=Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
local b1=c:IsLocation(LOCATION_HAND)
and Duel.GetLocationCount(tp,LOCATION_SZONE)>0 and Duel.IsExistingTarget(s.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil)
local b2=c:IsLocation(LOCATION_SZONE)
and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
if chk==0 then return b1 or b2 end
if c:IsLocation(LOCATION_HAND) then
if b1 then
e:SetCategory(CATEGORY_EQUIP)
e:SetProperty(EFFECT_FLAG_CARD_TARGET)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
Duel.SelectTarget(tp,s.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil)
elseif c:IsLocation(LOCATION_SZONE) then
elseif b2 then
e:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_SEARCH+CATEGORY_TOHAND)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
......@@ -46,8 +48,8 @@ function s.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
end
function s.eqop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsLocation(LOCATION_HAND) then
local tc=Duel.GetFirstTarget()
local tc=Duel.GetFirstTarget()
if c:IsLocation(LOCATION_HAND) and tc then
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 or tc:IsFacedown() or not tc:IsRelateToEffect(e) then
Duel.SendtoGrave(c,REASON_EFFECT)
return
......
......@@ -26,15 +26,17 @@ end
function s.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local c=e:GetHandler()
if chkc then return chkc:IsLocation(LOCATION_MZONE) and s.filter(chkc) end
local b1=Duel.GetLocationCount(tp,LOCATION_SZONE)>0 and Duel.IsExistingTarget(s.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil)
local b2=Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
local b1=c:IsLocation(LOCATION_HAND)
and Duel.GetLocationCount(tp,LOCATION_SZONE)>0 and Duel.IsExistingTarget(s.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil)
local b2=c:IsLocation(LOCATION_SZONE)
and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
if chk==0 then return b1 or b2 end
if c:IsLocation(LOCATION_HAND) then
if b1 then
e:SetCategory(CATEGORY_EQUIP)
e:SetProperty(EFFECT_FLAG_CARD_TARGET)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
Duel.SelectTarget(tp,s.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil)
elseif c:IsLocation(LOCATION_SZONE) then
elseif b2 then
e:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_SEARCH+CATEGORY_TOHAND)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
......@@ -42,8 +44,8 @@ function s.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
end
function s.eqop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsLocation(LOCATION_HAND) then
local tc=Duel.GetFirstTarget()
local tc=Duel.GetFirstTarget()
if c:IsLocation(LOCATION_HAND) and tc then
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 or tc:IsFacedown() or not tc:IsRelateToEffect(e) then
Duel.SendtoGrave(c,REASON_EFFECT)
return
......
......@@ -26,15 +26,17 @@ end
function s.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local c=e:GetHandler()
if chkc then return chkc:IsLocation(LOCATION_MZONE) and s.filter(chkc) end
local b1=Duel.GetLocationCount(tp,LOCATION_SZONE)>0 and Duel.IsExistingTarget(s.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil)
local b2=Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
local b1=c:IsLocation(LOCATION_HAND)
and Duel.GetLocationCount(tp,LOCATION_SZONE)>0 and Duel.IsExistingTarget(s.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil)
local b2=c:IsLocation(LOCATION_SZONE)
and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
if chk==0 then return b1 or b2 end
if c:IsLocation(LOCATION_HAND) then
if b1 then
e:SetCategory(CATEGORY_EQUIP)
e:SetProperty(EFFECT_FLAG_CARD_TARGET)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
Duel.SelectTarget(tp,s.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil)
elseif c:IsLocation(LOCATION_SZONE) then
elseif b2 then
e:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOHAND)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_GRAVE)
......@@ -42,8 +44,8 @@ function s.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
end
function s.eqop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsLocation(LOCATION_HAND) then
local tc=Duel.GetFirstTarget()
local tc=Duel.GetFirstTarget()
if c:IsLocation(LOCATION_HAND) and tc then
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 or tc:IsFacedown() or not tc:IsRelateToEffect(e) then
Duel.SendtoGrave(c,REASON_EFFECT)
return
......
......@@ -37,15 +37,17 @@ end
function s.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local c=e:GetHandler()
if chkc then return chkc:IsLocation(LOCATION_MZONE) and s.filter(chkc) end
local b1=Duel.GetLocationCount(tp,LOCATION_SZONE)>0 and Duel.IsExistingTarget(s.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil)
local b2=Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
local b1=c:IsLocation(LOCATION_HAND)
and Duel.GetLocationCount(tp,LOCATION_SZONE)>0 and Duel.IsExistingTarget(s.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil)
local b2=c:IsLocation(LOCATION_SZONE)
and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
if chk==0 then return b1 or b2 end
if c:IsLocation(LOCATION_HAND) then
if b1 then
e:SetCategory(CATEGORY_EQUIP)
e:SetProperty(EFFECT_FLAG_CARD_TARGET)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
Duel.SelectTarget(tp,s.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil)
elseif c:IsLocation(LOCATION_SZONE) then
elseif b2 then
e:SetCategory(CATEGORY_SPECIAL_SUMMON)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,0,0,0)
......@@ -53,8 +55,8 @@ function s.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
end
function s.eqop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsLocation(LOCATION_HAND) then
local tc=Duel.GetFirstTarget()
local tc=Duel.GetFirstTarget()
if c:IsLocation(LOCATION_HAND) and tc then
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 or tc:IsFacedown() or not tc:IsRelateToEffect(e) then
Duel.SendtoGrave(c,REASON_EFFECT)
return
......@@ -85,6 +87,7 @@ end
function s.sfilter(c,e,tp)
return c:GetOriginalType()&TYPE_MONSTER>0 and c:GetType()&TYPE_EQUIP+TYPE_SPELL==TYPE_EQUIP+TYPE_SPELL
and c:IsFaceup() and c:IsSetCard(0xcf1) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
end
function s.fuslimit(e,c,st)
return st==SUMMON_TYPE_FUSION
......
......@@ -31,8 +31,9 @@ function s.eqfilter(c)
return c:IsSetCard(0xcf1) and c:IsType(TYPE_MONSTER) and not c:IsForbidden()
end
function s.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local g=Duel.GetMatchingGroup(aux.NecroValleyFilter(s.eqfilter),tp,LOCATION_HAND+LOCATION_GRAVE,0,nil)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and s.filter(chkc) end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0 and Duel.IsExistingTarget(s.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0 and Duel.IsExistingTarget(s.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) and #g>0 end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
Duel.SelectTarget(tp,s.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil)
end
......
......@@ -27,9 +27,9 @@ function s.initial_effect(c)
e2:SetOperation(s.sumop)
c:RegisterEffect(e2)
local e3=e1:Clone()
local e3=e2:Clone()
e3:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCondition(s.sumcon)
e3:SetCondition(s.sumcon)
c:RegisterEffect(e3)
end
......
--共难的远古造物
dofile("expansions/script/c9910700.lua")
function c9911751.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TODECK)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e1:SetCountLimit(1,9911751+EFFECT_COUNT_CODE_OATH)
e1:SetCost(c9911751.cost)
e1:SetTarget(c9911751.target)
e1:SetOperation(c9911751.activate)
c:RegisterEffect(e1)
--act in hand
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(9911751,3))
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_TRAP_ACT_IN_HAND)
c:RegisterEffect(e2)
end
function c9911751.cfilter(c)
return c:IsFacedown() and c:IsAbleToGraveAsCost()
end
function c9911751.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return (not c:IsLocation(LOCATION_HAND)
or Duel.IsExistingMatchingCard(c9911751.cfilter,tp,LOCATION_ONFIELD,0,1,c)) end
if c:IsStatus(STATUS_ACT_FROM_HAND) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,c9911751.cfilter,tp,LOCATION_ONFIELD,0,1,1,c)
Duel.SendtoGrave(g,REASON_COST)
e:SetLabel(1)
else
e:SetLabel(0)
end
end
function c9911751.tdfilter(c)
return c:IsType(TYPE_SPELL+TYPE_TRAP) and c:IsAbleToDeck()
end
function c9911751.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c9911751.tdfilter,tp,0,LOCATION_ONFIELD,1,nil) end
local g=Duel.GetMatchingGroup(c9911751.tdfilter,tp,0,LOCATION_ONFIELD,nil)
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,g:GetCount(),0,0)
end
function c9911751.activate(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(c9911751.tdfilter,tp,0,LOCATION_ONFIELD,nil)
if g:GetCount()>0 then
local ct=Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)
if ct>0 then
Duel.SetLP(tp,Duel.GetLP(tp)-ct*1100)
end
end
if e:IsHasType(EFFECT_TYPE_ACTIVATE) and e:GetLabel()~=0 then
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetCountLimit(1)
e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetOperation(c9911751.setop)
Duel.RegisterEffect(e1,tp)
end
end
function c9911751.setfilter(c,e,tp)
return c:IsType(TYPE_MONSTER) and QutryYgzw.SetFilter(c,e,tp)
end
function c9911751.setop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_CARD,0,9911751)
local ct=Duel.GetMatchingGroupCount(aux.NecroValleyFilter(c9911751.setfilter),tp,LOCATION_GRAVE,LOCATION_GRAVE,nil,e,tp)
local ft=Duel.GetLocationCount(tp,LOCATION_SZONE)
ct=math.min(ct,ft,3)
if ct<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET)
local sg=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c9911751.setfilter),tp,LOCATION_GRAVE,LOCATION_GRAVE,ct,ct,nil,e,tp)
if sg:GetCount()>0 then
Duel.HintSelection(sg)
QutryYgzw.Set2(sg,e,tp)
end
end
......@@ -1215,6 +1215,7 @@
!setname 0x9224 宝可·
!setname 0xa224 裂界
!setname 0x5225 绝海滋养
!setname 0x6225 璀璨原钻
#Qwe.3359™
!counter 0x6371 蓄电指示物
......@@ -1298,6 +1299,8 @@
!setname 0x96b 剑客
!setname 0x396b 神装
!setname 0x696b 神兵
!setname 0x396c 魂铸意志
!setname 0x696c 暗月
!setname 0x396e 鸣神
!counter 0x96e 剑气指示物
......@@ -1456,7 +1459,7 @@
#岸彼斐子 173 0xf50-0xf51
!setname 0x3f50 EMT阵营
!setname 0x5f50 菜月昴
!setname 0x6f50 ·艾米莉亚·
!setname 0x6f50 神座
!setname 0x9f50 ·帕克·
!setname 0x3f51 ·雷姆·
!setname 0x5f51 ·拉姆·
......@@ -1594,6 +1597,9 @@
!counter 0xe23 剑气指示物
#格林 951 0xbb0-0xbbf
!setname 0x5bb0 化龙
!setname 0x6bb0 失控磁盘
!setname 0xbbb0 暗黑能乐面具
!setname 0xbba 魔姬
!setname 0xbbb 黑之裁判
!setname 0xbbc 馄饨剩汤
......@@ -1649,6 +1655,7 @@
!setname 0x666a 绮奏
!setname 0x666b 蒸汽朋克
!setname 0x666c 堕福
!setname 0x666d 苍途
#???
......
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