Commit 1f486c78 authored by POLYMER's avatar POLYMER

update 251027 std

parent 303c263a
...@@ -2805,6 +2805,17 @@ ...@@ -2805,6 +2805,17 @@
98373992 0 98373992 0
98373995 0 98373995 0
98373998 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! #Tears are now in Japari Park Again!
572850 1 572850 1
4928565 0 4928565 0
...@@ -3520,13 +3531,6 @@ ...@@ -3520,13 +3531,6 @@
67200432 1 67200432 1
67200455 1 67200455 1
#230122 #230122
14000301 0
14000302 0
14000303 0
14000304 0
14000305 0
14000306 0
14000307 0
14050002 0 14050002 0
15000904 0 15000904 0
33200712 0 33200712 0
...@@ -4175,7 +4179,7 @@ ...@@ -4175,7 +4179,7 @@
#220417 #220417
14010111 0 14010111 0
22520010 0 22520010 0
3000070 2 3000070 0
#220410 #220410
33701317 0 33701317 0
40009259 0 40009259 0
...@@ -7120,6 +7124,8 @@ ...@@ -7120,6 +7124,8 @@
95101174 0 95101174 0
95101180 0 95101180 0
71688208 0 71688208 0
22024690 0
71688492 0
#limit #limit
33403513 1 33403513 1
82204250 0 82204250 0
...@@ -7319,6 +7325,11 @@ ...@@ -7319,6 +7325,11 @@
69015963 0 --Cyber-Stein 69015963 0 --Cyber-Stein
62320425 0 --Agido the Ancient Sentry 62320425 0 --Agido the Ancient Sentry
25926710 0 --Kelbek the Ancient Vanguard 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 41855169 0
55204071 0 55204071 0
##EXTRA DECK MONSTERS ##EXTRA DECK MONSTERS
...@@ -7362,6 +7373,7 @@ ...@@ -7362,6 +7373,7 @@
04280258 0 --Apollousa, Bow of the Goddess 04280258 0 --Apollousa, Bow of the Goddess
62242678 0 --Hot Red Dragon Archfiend King Calamity 62242678 0 --Hot Red Dragon Archfiend King Calamity
27552504 0 --Beatrice, Lady of the Eternal 27552504 0 --Beatrice, Lady of the Eternal
38273745 0 --Evilswarm Ouroboros
65330383 0 65330383 0
30342076 0 30342076 0
21044178 0 21044178 0
...@@ -7408,6 +7420,7 @@ ...@@ -7408,6 +7420,7 @@
43262273 0 --Appointer of the Red Lotus 43262273 0 --Appointer of the Red Lotus
1041278 0 --Branded Expulsion 1041278 0 --Branded Expulsion
23516703 0 --Summon Limit 23516703 0 --Summon Limit
83326048 0 --Dimensional Barrier
#Limited TCG #Limited TCG
##MAIN DECK MONSTERS ##MAIN DECK MONSTERS
7902349 1 --Left Arm of the forbidden one 7902349 1 --Left Arm of the forbidden one
...@@ -7442,7 +7455,6 @@ ...@@ -7442,7 +7455,6 @@
73539069 1 --Striker Dragon 73539069 1 --Striker Dragon
93896655 1 --Sunavalon Dryas 93896655 1 --Sunavalon Dryas
65563871 1 --Sunvine Healer 65563871 1 --Sunvine Healer
6728559 1 --Archnemeses Protos
75433814 1 --Number 40: Gimmick Puppet of Strings 75433814 1 --Number 40: Gimmick Puppet of Strings
69170557 1 --Number C40: Gimmick Puppet of Dark Strings 69170557 1 --Number C40: Gimmick Puppet of Dark Strings
46640168 1 --Fiendsmith's Lacrima 46640168 1 --Fiendsmith's Lacrima
...@@ -7714,6 +7726,11 @@ ...@@ -7714,6 +7726,11 @@
69015963 1 --Cyber-Stein 69015963 1 --Cyber-Stein
62320425 1 --Agido the Ancient Sentry 62320425 1 --Agido the Ancient Sentry
25926710 1 --Kelbek the Ancient Vanguard 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 41855169 1
55204071 1 55204071 1
71818935 1 71818935 1
...@@ -7761,6 +7778,7 @@ ...@@ -7761,6 +7778,7 @@
04280258 1 --Apollousa, Bow of the Goddess 04280258 1 --Apollousa, Bow of the Goddess
62242678 1 --Hot Red Dragon Archfiend King Calamity 62242678 1 --Hot Red Dragon Archfiend King Calamity
27552504 1 --Beatrice, Lady of the Eternal 27552504 1 --Beatrice, Lady of the Eternal
38273745 1 --Evilswarm Ouroboros
65330383 1 65330383 1
30342076 1 30342076 1
21044178 1 21044178 1
...@@ -7803,6 +7821,7 @@ ...@@ -7803,6 +7821,7 @@
43262273 1 --Appointer of the Red Lotus 43262273 1 --Appointer of the Red Lotus
1041278 1 --Branded Expulsion 1041278 1 --Branded Expulsion
23516703 1 --Summon Limit 23516703 1 --Summon Limit
83326048 1 --Dimensional Barrier
98942051 0 98942051 0
53796106 0 53796106 0
14824018 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) function c11185070.initial_effect(c)
aux.AddCodeList(c,0x452)
--pendulum summon --pendulum summon
aux.EnablePendulumAttribute(c) aux.EnablePendulumAttribute(c)
--spsummon --spsummon
...@@ -38,7 +39,7 @@ function c11185070.initial_effect(c) ...@@ -38,7 +39,7 @@ function c11185070.initial_effect(c)
Duel.AddCustomActivityCounter(11185070,ACTIVITY_SPSUMMON,c11185070.counterfilter) Duel.AddCustomActivityCounter(11185070,ACTIVITY_SPSUMMON,c11185070.counterfilter)
end end
function c11185070.counterfilter(c) function c11185070.counterfilter(c)
return c:IsSetCard(0x452) or c:IsType(TYPE_TUNER) return c:IsRace(RACE_FAIRY) or aux.IsCodeListed(c,0x452)
end end
function c11185070.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function c11185070.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
...@@ -82,7 +83,7 @@ function c11185070.thcost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -82,7 +83,7 @@ function c11185070.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.RegisterEffect(e2,tp) Duel.RegisterEffect(e2,tp)
end end
function c11185070.splimit(e,c) 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 end
function c11185070.thfilter(c,e,tp,ck) function c11185070.thfilter(c,e,tp,ck)
return c:IsSetCard(0x452) and c:IsType(TYPE_MONSTER) and (c:IsAbleToHand() return c:IsSetCard(0x452) and c:IsType(TYPE_MONSTER) and (c:IsAbleToHand()
......
--星绘·汐澜 --星绘·汐澜
function c11185080.initial_effect(c) function c11185080.initial_effect(c)
aux.AddCodeList(c,0x452)
--pendulum summon --pendulum summon
aux.EnablePendulumAttribute(c) aux.EnablePendulumAttribute(c)
--Activate --Activate
...@@ -40,7 +41,7 @@ function c11185080.initial_effect(c) ...@@ -40,7 +41,7 @@ function c11185080.initial_effect(c)
Duel.AddCustomActivityCounter(11185080,ACTIVITY_SPSUMMON,c11185080.counterfilter) Duel.AddCustomActivityCounter(11185080,ACTIVITY_SPSUMMON,c11185080.counterfilter)
end end
function c11185080.counterfilter(c) function c11185080.counterfilter(c)
return c:IsSetCard(0x452) or c:IsType(TYPE_TUNER) return c:IsRace(RACE_FAIRY) or aux.IsCodeListed(c,0x452)
end end
function c11185080.filter(c) function c11185080.filter(c)
return c:IsFaceup() and c:IsCanAddCounter(0x452,1) and c:IsSetCard(0x452) 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) ...@@ -97,7 +98,7 @@ function c11185080.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.RegisterEffect(e2,tp) Duel.RegisterEffect(e2,tp)
end end
function c11185080.splimit(e,c) 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 end
function c11185080.thfilter(c) function c11185080.thfilter(c)
return c:IsSetCard(0x452) and c:IsType(TYPE_SPELL) and c:IsAbleToHand() return c:IsSetCard(0x452) and c:IsType(TYPE_SPELL) and c:IsAbleToHand()
......
--星绘·赤尧 --星绘·赤尧
function c11185085.initial_effect(c) function c11185085.initial_effect(c)
aux.AddCodeList(c,0x452)
c:EnableCounterPermit(0x452) c:EnableCounterPermit(0x452)
--pendulum summon --pendulum summon
aux.EnablePendulumAttribute(c) aux.EnablePendulumAttribute(c)
......
--星绘·风阊 --星绘·风阊
function c11185090.initial_effect(c) function c11185090.initial_effect(c)
aux.AddCodeList(c,0x452)
c:EnableCounterPermit(0x452) c:EnableCounterPermit(0x452)
--pendulum summon --pendulum summon
aux.EnablePendulumAttribute(c) aux.EnablePendulumAttribute(c)
...@@ -41,7 +42,7 @@ function c11185090.initial_effect(c) ...@@ -41,7 +42,7 @@ function c11185090.initial_effect(c)
Duel.AddCustomActivityCounter(11185090,ACTIVITY_SPSUMMON,c11185090.counterfilter) Duel.AddCustomActivityCounter(11185090,ACTIVITY_SPSUMMON,c11185090.counterfilter)
end end
function c11185090.counterfilter(c) function c11185090.counterfilter(c)
return c:IsSetCard(0x452) or c:IsType(TYPE_TUNER) return c:IsRace(RACE_FAIRY) or aux.IsCodeListed(c,0x452)
end end
function c11185090.tgcon(e,tp,eg,ep,ev,re,r,rp) function c11185090.tgcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsMainPhase() return Duel.IsMainPhase()
...@@ -62,7 +63,7 @@ function c11185090.tgcost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -62,7 +63,7 @@ function c11185090.tgcost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.RegisterEffect(e2,tp) Duel.RegisterEffect(e2,tp)
end end
function c11185090.splimit(e,c) 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 end
function c11185090.tgfilter(c) function c11185090.tgfilter(c)
return c:IsSetCard(0x452) and c:IsType(0x6) and (c:IsAbleToGrave() or c:IsAbleToRemove()) return c:IsSetCard(0x452) and c:IsType(0x6) and (c:IsAbleToGrave() or c:IsAbleToRemove())
......
--星绘·鄢暨 --星绘·鄢暨
function c11185095.initial_effect(c) function c11185095.initial_effect(c)
aux.AddCodeList(c,0x452)
c:EnableCounterPermit(0x452) c:EnableCounterPermit(0x452)
--pendulum summon --pendulum summon
aux.EnablePendulumAttribute(c) aux.EnablePendulumAttribute(c)
......
--星绘·星谛 --星绘·星谛
function c11185100.initial_effect(c) function c11185100.initial_effect(c)
aux.AddCodeList(c,0x452)
c:EnableCounterPermit(0x452) c:EnableCounterPermit(0x452)
--pendulum summon --pendulum summon
aux.EnablePendulumAttribute(c) aux.EnablePendulumAttribute(c)
...@@ -41,7 +42,7 @@ function c11185100.initial_effect(c) ...@@ -41,7 +42,7 @@ function c11185100.initial_effect(c)
Duel.AddCustomActivityCounter(11185100,ACTIVITY_SPSUMMON,c11185100.counterfilter) Duel.AddCustomActivityCounter(11185100,ACTIVITY_SPSUMMON,c11185100.counterfilter)
end end
function c11185100.counterfilter(c) function c11185100.counterfilter(c)
return c:IsSetCard(0x452) or c:IsType(TYPE_TUNER) return c:IsRace(RACE_FAIRY) or aux.IsCodeListed(c,0x452)
end end
function c11185100.tgcon(e,tp,eg,ep,ev,re,r,rp) function c11185100.tgcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsMainPhase() return Duel.IsMainPhase()
...@@ -62,7 +63,7 @@ function c11185100.tgcost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -62,7 +63,7 @@ function c11185100.tgcost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.RegisterEffect(e2,tp) Duel.RegisterEffect(e2,tp)
end end
function c11185100.splimit(e,c) 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 end
function c11185100.tgfilter(c) function c11185100.tgfilter(c)
return c:IsSetCard(0x452) and c:IsType(0x1) and (c:IsAbleToGrave() or c:IsAbleToRemove()) return c:IsSetCard(0x452) and c:IsType(0x1) and (c:IsAbleToGrave() or c:IsAbleToRemove())
......
--星绘·澪 --星绘·澪
function c11185105.initial_effect(c) function c11185105.initial_effect(c)
aux.AddCodeList(c,0x452)
aux.AddMaterialCodeList(c,11185070,11185080) aux.AddMaterialCodeList(c,11185070,11185080)
--synchro summon --synchro summon
aux.AddSynchroProcedure(c,aux.FilterBoolFunction(Card.IsCode,11185070),aux.FilterBoolFunction(Card.IsCode,11185080),1,1) aux.AddSynchroProcedure(c,aux.FilterBoolFunction(Card.IsCode,11185070),aux.FilterBoolFunction(Card.IsCode,11185080),1,1)
......
--星绘颂章 --星绘颂章
function c11185110.initial_effect(c) function c11185110.initial_effect(c)
aux.AddCodeList(c,0x452)
c:EnableCounterPermit(0x452) c:EnableCounterPermit(0x452)
--Activate --Activate
local e0=Effect.CreateEffect(c) local e0=Effect.CreateEffect(c)
......
--星绘·颂曲 --星绘·颂曲
function c11185115.initial_effect(c) function c11185115.initial_effect(c)
aux.AddCodeList(c,0x452)
-- --
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SEARCH+CATEGORY_TOHAND+CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_SEARCH+CATEGORY_TOHAND+CATEGORY_SPECIAL_SUMMON)
...@@ -24,7 +25,7 @@ function c11185115.initial_effect(c) ...@@ -24,7 +25,7 @@ function c11185115.initial_effect(c)
Duel.AddCustomActivityCounter(11185115,ACTIVITY_SPSUMMON,c11185115.counterfilter) Duel.AddCustomActivityCounter(11185115,ACTIVITY_SPSUMMON,c11185115.counterfilter)
end end
function c11185115.counterfilter(c) function c11185115.counterfilter(c)
return c:IsSetCard(0x452) or c:IsType(TYPE_TUNER) return c:IsRace(RACE_FAIRY) or aux.IsCodeListed(c,0x452)
end end
function c11185115.thcost(e,tp,eg,ep,ev,re,r,rp,chk) function c11185115.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetCustomActivityCount(11185115,tp,ACTIVITY_SUMMON)==0 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) ...@@ -42,7 +43,7 @@ function c11185115.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.RegisterEffect(e2,tp) Duel.RegisterEffect(e2,tp)
end end
function c11185115.splimit(e,c) 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 end
function c11185115.thfilter(c,e,tp) function c11185115.thfilter(c,e,tp)
if not (c:IsSetCard(0x452) and c:IsType(TYPE_MONSTER)) then return false end if not (c:IsSetCard(0x452) and c:IsType(TYPE_MONSTER)) then return false end
......
--星绘·奏曲 --星绘·奏曲
function c11185120.initial_effect(c) function c11185120.initial_effect(c)
aux.AddCodeList(c,0x452)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH) e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,11185120) e1:SetTarget(c11185120.target)
e1:SetTarget(c11185120.target1)
e1:SetOperation(c11185120.operation) e1:SetOperation(c11185120.operation)
c:RegisterEffect(e1) c:RegisterEffect(e1)
-- --
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_IGNITION) e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_GRAVE+LOCATION_REMOVED) e2:SetRange(LOCATION_GRAVE+LOCATION_REMOVED)
e2:SetCountLimit(1,11185120+1)
e2:SetCost(c11185120.cost) e2:SetCost(c11185120.cost)
e2:SetTarget(c11185120.target) e2:SetTarget(c11185120.target)
e2:SetOperation(c11185120.activate) e2:SetOperation(c11185120.activate)
...@@ -22,7 +21,7 @@ end ...@@ -22,7 +21,7 @@ end
function c11185120.filter(c) function c11185120.filter(c)
return c:IsSetCard(0x452) and not c:IsCode(11185120) and c:IsAbleToHand() return c:IsSetCard(0x452) and not c:IsCode(11185120) and c:IsAbleToHand()
end 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 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) Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end end
......
--虹龍·朔 --虹龍·朔
function c11185205.initial_effect(c) function c11185205.initial_effect(c)
aux.AddCodeList(c,0x452)
c:EnableCounterPermit(0x452) c:EnableCounterPermit(0x452)
--spsummon --spsummon
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
...@@ -68,7 +69,7 @@ function c11185205.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -68,7 +69,7 @@ function c11185205.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
end end
function c11185205.splimit(e,c) 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 end
function c11185205.tfcfilter(c) function c11185205.tfcfilter(c)
return not c:IsPublic() return not c:IsPublic()
......
--虹龍·護 --虹龍·護
function c11185210.initial_effect(c) function c11185210.initial_effect(c)
c:EnableCounterPermit(0x452) c:EnableCounterPermit(0x452)
aux.AddCodeList(c,0x452)
--spsummon --spsummon
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_SEARCH+CATEGORY_TOHAND+CATEGORY_COUNTER) 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) ...@@ -68,7 +69,7 @@ function c11185210.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
end end
function c11185210.splimit(e,c) 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 end
function c11185210.rmfilter(c) function c11185210.rmfilter(c)
return c:IsSetCard(0x453) and c:IsType(0x6) and c:IsAbleToRemove() return c:IsSetCard(0x453) and c:IsType(0x6) and c:IsAbleToRemove()
......
--虹龍·擺 --虹龍·擺
function c11185215.initial_effect(c) function c11185215.initial_effect(c)
aux.AddCodeList(c,0x452)
c:EnableCounterPermit(0x452) c:EnableCounterPermit(0x452)
--spsummon --spsummon
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
...@@ -67,7 +68,7 @@ function c11185215.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -67,7 +68,7 @@ function c11185215.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
end end
function c11185215.splimit(e,c) 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 end
function c11185215.spfilter(c,e,tp) function c11185215.spfilter(c,e,tp)
return c:IsSetCard(0x453) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:IsFaceupEx() return c:IsSetCard(0x453) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:IsFaceupEx()
......
--虹龍·鋼 --虹龍·鋼
function c11185220.initial_effect(c) function c11185220.initial_effect(c)
aux.AddCodeList(c,0x452)
c:EnableCounterPermit(0x452) c:EnableCounterPermit(0x452)
--spsummon --spsummon
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
...@@ -68,7 +69,7 @@ function c11185220.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -68,7 +69,7 @@ function c11185220.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
end end
function c11185220.splimit(e,c) 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 end
function c11185220.thfilter(c) function c11185220.thfilter(c)
return c:IsSetCard(0x453) and c:IsAbleToHand() and c:IsFaceupEx() 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) ...@@ -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 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) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,0x20)
end 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) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c11185220.thfilter,tp,0x20,0,1,1,nil,e,tp) local g=Duel.SelectMatchingCard(tp,c11185220.thfilter,tp,0x20,0,1,1,nil,e,tp)
if g:GetCount()>0 then if g:GetCount()>0 then
......
--虹龍·辉龙 --虹龍·辉龙
function c11185225.initial_effect(c) function c11185225.initial_effect(c)
aux.AddCodeList(c,0x452)
c:EnableCounterPermit(0x452) c:EnableCounterPermit(0x452)
--link summon --link summon
c:EnableReviveLimit() c:EnableReviveLimit()
......
--虹龍·源龙 --虹龍·源龙
function c11185230.initial_effect(c) function c11185230.initial_effect(c)
aux.AddCodeList(c,0x452)
c:EnableCounterPermit(0x452) c:EnableCounterPermit(0x452)
c:SetUniqueOnField(1,0,50223345) c:SetUniqueOnField(1,0,50223345)
--link summon --link summon
......
--虹龍·海龙 --虹龍·海龙
function c11185235.initial_effect(c) function c11185235.initial_effect(c)
aux.AddCodeList(c,0x452)
c:EnableCounterPermit(0x452) c:EnableCounterPermit(0x452)
--link summon --link summon
c:EnableReviveLimit() c:EnableReviveLimit()
......
--虹龍·星龙 --虹龍·星龙
function c11185240.initial_effect(c) function c11185240.initial_effect(c)
aux.AddCodeList(c,0x452)
c:EnableCounterPermit(0x452) c:EnableCounterPermit(0x452)
c:SetUniqueOnField(1,0,50223345) c:SetUniqueOnField(1,0,50223345)
--link summon --link summon
......
--虹龍·双头龙 --虹龍·双头龙
function c11185245.initial_effect(c) function c11185245.initial_effect(c)
aux.AddCodeList(c,0x452)
c:EnableCounterPermit(0x452) c:EnableCounterPermit(0x452)
--link summon --link summon
c:EnableReviveLimit() c:EnableReviveLimit()
......
--虹龍圣域 --虹龍圣域
function c11185255.initial_effect(c) function c11185255.initial_effect(c)
aux.AddCodeList(c,0x452)
c:EnableCounterPermit(0x452) c:EnableCounterPermit(0x452)
--Activate --Activate
local e0=Effect.CreateEffect(c) local e0=Effect.CreateEffect(c)
......
--虹龍之谷 --虹龍之谷
function c11185265.initial_effect(c) function c11185265.initial_effect(c)
aux.AddCodeList(c,0x452)
--Activate(summon) --Activate(summon)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DISABLE_SUMMON+CATEGORY_DESTROY) e1:SetCategory(CATEGORY_DISABLE_SUMMON+CATEGORY_DESTROY)
......
--虹龍·墨龙 --虹龍·墨龙
function c11185275.initial_effect(c) function c11185275.initial_effect(c)
aux.AddCodeList(c,0x452)
--synchro summon --synchro summon
aux.AddSynchroProcedure(c,aux.FilterBoolFunction(Card.IsSynchroType,TYPE_SYNCHRO),aux.TargetBoolFunction(Card.IsSetCard,0x453),1) aux.AddSynchroProcedure(c,aux.FilterBoolFunction(Card.IsSynchroType,TYPE_SYNCHRO),aux.TargetBoolFunction(Card.IsSetCard,0x453),1)
c:EnableReviveLimit() c:EnableReviveLimit()
......
--虹龍·月龙 --虹龍·月龙
function c11185290.initial_effect(c) function c11185290.initial_effect(c)
aux.AddCodeList(c,0x452)
--xyz summon --xyz summon
aux.AddXyzProcedure(c,nil,8,10,c11185290.ovfilter,aux.Stringid(11185290,0),10,c11185290.xyzop) aux.AddXyzProcedure(c,nil,8,10,c11185290.ovfilter,aux.Stringid(11185290,0),10,c11185290.xyzop)
c:EnableReviveLimit() c:EnableReviveLimit()
......
--虹龍· --虹龍·
function c11185300.initial_effect(c) function c11185300.initial_effect(c)
aux.AddCodeList(c,0x452)
c:EnableCounterPermit(0x452) c:EnableCounterPermit(0x452)
--pendulum summon --pendulum summon
aux.EnablePendulumAttribute(c,false) aux.EnablePendulumAttribute(c,false)
......
--虹龍·朔月 --虹龍·朔月
function c11185305.initial_effect(c) function c11185305.initial_effect(c)
aux.AddCodeList(c,0x452)
c:EnableCounterPermit(0x452) c:EnableCounterPermit(0x452)
--link summon --link summon
c:EnableReviveLimit() c:EnableReviveLimit()
......
--虹龍的敕令 --虹龍的敕令
function c11185310.initial_effect(c) function c11185310.initial_effect(c)
aux.AddCodeList(c,0x452)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(11185310,0)) e1:SetDescription(aux.Stringid(11185310,0))
......
--虹龍·神龙 --虹龍·神龙
function c11185315.initial_effect(c) function c11185315.initial_effect(c)
aux.AddCodeList(c,0x452)
c:EnableCounterPermit(0x452) c:EnableCounterPermit(0x452)
--fusion material --fusion material
c:EnableReviveLimit() 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) ...@@ -8,7 +8,6 @@ function c11560715.initial_effect(c)
e1:SetDescription(aux.Stringid(11560715,1)) e1:SetDescription(aux.Stringid(11560715,1))
e1:SetType(EFFECT_TYPE_QUICK_O) e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_CHAINING) e1:SetCode(EVENT_CHAINING)
-- e1:SetProperty(EFFECT_FLAG_NO_TURN_RESET)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1,11560715) e1:SetCountLimit(1,11560715)
e1:SetCondition(c11560715.ovcon) e1:SetCondition(c11560715.ovcon)
...@@ -66,21 +65,26 @@ end ...@@ -66,21 +65,26 @@ end
function c11560715.ovcon(e,tp,eg,ep,ev,re,r,rp) 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 end
function c11560715.ovtg(e,tp,eg,ep,ev,re,r,rp,chk) 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 end
function c11560715.loccheck(g) function c11560715.loccheck(g)
return g:GetClassCount(Card.GetLocation)==1 return g:GetClassCount(Card.GetLocation)==1
end end
function c11560715.ovop(e,tp,eg,ep,ev,re,r,rp) function c11560715.ovop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local ct=0
if not c:IsRelateToEffect(e) then return end 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) 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 if g:GetCount()>0 then
ctt=c:RemoveOverlayCard(tp,1,ct,REASON_EFFECT)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_XMATERIAL) 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) Duel.HintSelection(og)
for tc in aux.Next(og) do for tc in aux.Next(og) do
if tc:IsImmuneToEffect(e) then if tc:IsImmuneToEffect(e) then
...@@ -111,26 +115,7 @@ function c11560715.xxop(e,tp,eg,ep,ev,re,r,rp) ...@@ -111,26 +115,7 @@ function c11560715.xxop(e,tp,eg,ep,ev,re,r,rp)
local tc=og:Select(tp,1,1,nil):GetFirst() local tc=og:Select(tp,1,1,nil):GetFirst()
Duel.SendtoGrave(tc,REASON_EFFECT) Duel.SendtoGrave(tc,REASON_EFFECT)
if tc:IsType(TYPE_MONSTER) then if tc:IsType(TYPE_MONSTER) then
local code=tc:GetOriginalCodeRule() 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
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
Duel.BreakEffect() Duel.BreakEffect()
local oc=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c11560715.mxfilter),tp,LOCATION_GRAVE+LOCATION_REMOVED,0,1,1,c):GetFirst() 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 if oc and not oc:IsImmuneToEffect(e) then
......
...@@ -22,25 +22,18 @@ function s.initial_effect(c) ...@@ -22,25 +22,18 @@ function s.initial_effect(c)
e2:SetTarget(s.target) e2:SetTarget(s.target)
e2:SetOperation(s.activate) e2:SetOperation(s.activate)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--spsummon --to hand
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(id,0)) e3:SetCategory(CATEGORY_TODECK)
e3:SetType(EFFECT_TYPE_IGNITION) e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetCode(EVENT_SPSUMMON_SUCCESS)
e3:SetRange(LOCATION_GRAVE) e3:SetRange(LOCATION_GRAVE)
e3:SetCountLimit(1,id+2) e3:SetCountLimit(1,11569002)
e3:SetTarget(s.ovtg) e3:SetCondition(c11569000.ovcon)
e3:SetOperation(s.ovop) e3:SetTarget(c11569000.ovtg)
e3:SetOperation(c11569000.ovop)
c:RegisterEffect(e3) 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 end
function s.spfilter(c,e,tp) function s.spfilter(c,e,tp)
return c:IsSetCard(0x1b4) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_ATTACK,1-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) ...@@ -60,8 +53,7 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp)
end end
function s.thcon(e,tp,eg,ep,ev,re,r,rp) function s.thcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
return c:IsReason(REASON_COST) and re:IsActivated() and re:IsActiveType(TYPE_XYZ) return c:IsPreviousLocation(LOCATION_OVERLAY)
and c:IsPreviousLocation(LOCATION_OVERLAY)
end end
function s.filter1(c,e,tp) function s.filter1(c,e,tp)
local rk=c:GetRank() local rk=c:GetRank()
...@@ -101,36 +93,37 @@ function s.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -101,36 +93,37 @@ function s.activate(e,tp,eg,ep,ev,re,r,rp)
sc:CompleteProcedure() sc:CompleteProcedure()
end end
end end
function s.ovfilter(c) function c11569000.ovfilter(c,tp)
return c:IsFaceup() and c:IsAttribute(ATTRIBUTE_LIGHT) and c:IsType(TYPE_XYZ) return c:IsFaceup() and c:IsSetCard(0x107b) and c:IsControler(tp)
end end
function s.ovtg(e,tp,eg,ep,ev,re,r,rp,chk) function c11569000.ovcon(e,tp,eg,ep,ev,re,r,rp)
if chk==0 then return Duel.IsExistingTarget(s.ovfilter,tp,LOCATION_MZONE,0,1,nil) return eg:IsExists(c11569000.ovfilter,1,nil,tp)
and e:GetHandler():IsCanOverlay() end 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.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) Duel.SetOperationInfo(0,CATEGORY_LEAVE_GRAVE,e:GetHandler(),1,0,0)
end 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 c=e:GetHandler()
local tc=Duel.GetFirstTarget() Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SELF)
if c:IsRelateToEffect(e) and tc:IsRelateToEffect(e) and not c:IsImmuneToEffect(e) and not tc:IsImmuneToEffect(e) then 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)) Duel.Overlay(tc,Group.FromCards(c))
end end
end if Duel.IsExistingMatchingCard(c11569000.tdfilter,tp,LOCATION_GRAVE,0,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(11569000,2)) then
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) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectTarget(tp,s.tdfilter,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,5,5,nil) local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c11569000.tdfilter),tp,LOCATION_GRAVE,0,1,3,nil)
g:AddCard(c) if #g>0 then
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,g:GetCount(),0,0) Duel.HintSelection(g)
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) Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)
end end
end
end end
\ No newline at end of file
...@@ -212,7 +212,7 @@ function cm.operation(e, tp, eg, ep, ev, re, r, rp) ...@@ -212,7 +212,7 @@ function cm.operation(e, tp, eg, ep, ev, re, r, rp)
-- Debug.Message(aux.GetValueType(tg)) -- Debug.Message(aux.GetValueType(tg))
if ie and tg and aux.GetValueType(tg) == "function" then if ie and tg and aux.GetValueType(tg) == "function" then
local c1, c2 = pcall(function() 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) end)
if c2 == true then if c2 == true then
local op = ie:GetOperation() local op = ie:GetOperation()
......
...@@ -7,11 +7,12 @@ function cm.initial_effect(c) ...@@ -7,11 +7,12 @@ function cm.initial_effect(c)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0)) e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) 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: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:SetCost(cm.spcost)
e1:SetCondition(cm.spcon)
e1:SetTarget(cm.sptg) e1:SetTarget(cm.sptg)
e1:SetOperation(cm.spop) e1:SetOperation(cm.spop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
...@@ -43,7 +44,7 @@ function cm.ND(c) ...@@ -43,7 +44,7 @@ function cm.ND(c)
return m and m.named_with_NextDraw return m and m.named_with_NextDraw
end end
function cm.costfilter(c) 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 end
function cm.spcost(e,tp,eg,ep,ev,re,r,rp,chk) 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 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) ...@@ -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 g=Duel.SelectMatchingCard(tp,cm.costfilter,tp,LOCATION_HAND,0,1,1,e:GetHandler())
local tc=g:GetFirst() local tc=g:GetFirst()
Duel.ConfirmCards(1-tp,tc) Duel.ConfirmCards(1-tp,tc)
e:SetLabelObject(tc)
tc:CreateEffectRelation(e)
Duel.ShuffleHand(tp) Duel.ShuffleHand(tp)
end end
function cm.spcon(e,tp,eg,ep,ev,re,r,rp) function cm.spfilter(c,e,tp)
return not Duel.IsExistingMatchingCard(function(c) return c:GetSequence()<5 and c:IsFaceup() end,tp,LOCATION_MZONE,0,1,nil) return c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEDOWN_DEFENSE)
end end
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 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) ...@@ -66,14 +65,22 @@ function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
end end
function cm.spop(e,tp,eg,ep,ev,re,r,rp) function cm.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local tc=e:GetLabelObject()
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 or not c:IsRelateToEffect(e) then return end 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) local ct=Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEDOWN_DEFENSE)
Duel.ConfirmCards(1-tp,c) 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.BreakEffect()
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEDOWN_DEFENSE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
Duel.ConfirmCards(1-tp,tc) 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 end
function cm.filter(c) function cm.filter(c)
...@@ -103,8 +110,8 @@ function cm.fpop(e,tp,eg,ep,ev,re,r,rp) ...@@ -103,8 +110,8 @@ function cm.fpop(e,tp,eg,ep,ev,re,r,rp)
end end
function cm.con(e,tp,eg,ep,ev,re,r,rp) function cm.con(e,tp,eg,ep,ev,re,r,rp)
if not re:IsHasProperty(EFFECT_FLAG_CARD_TARGET) then return false end if not re:IsHasProperty(EFFECT_FLAG_CARD_TARGET) then return false end
local tg=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS) local g=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS)
return tg and tg:IsContains(e:GetHandler()) and e:GetHandler():IsFacedown() return g and g:IsExists(Card.IsFacedown,1,nil) and e:GetHandler():IsFacedown() and Duel.IsChainNegatable(ev)
end end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
......
...@@ -7,11 +7,12 @@ function cm.initial_effect(c) ...@@ -7,11 +7,12 @@ function cm.initial_effect(c)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0)) e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) 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: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:SetCost(cm.spcost)
e1:SetCondition(cm.spcon)
e1:SetTarget(cm.sptg) e1:SetTarget(cm.sptg)
e1:SetOperation(cm.spop) e1:SetOperation(cm.spop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
...@@ -43,7 +44,7 @@ function cm.ND(c) ...@@ -43,7 +44,7 @@ function cm.ND(c)
return m and m.named_with_NextDraw return m and m.named_with_NextDraw
end end
function cm.costfilter(c) 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 end
function cm.spcost(e,tp,eg,ep,ev,re,r,rp,chk) 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 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) ...@@ -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 g=Duel.SelectMatchingCard(tp,cm.costfilter,tp,LOCATION_HAND,0,1,1,e:GetHandler())
local tc=g:GetFirst() local tc=g:GetFirst()
Duel.ConfirmCards(1-tp,tc) Duel.ConfirmCards(1-tp,tc)
e:SetLabelObject(tc)
tc:CreateEffectRelation(e)
Duel.ShuffleHand(tp) Duel.ShuffleHand(tp)
end end
function cm.spcon(e,tp,eg,ep,ev,re,r,rp) function cm.spfilter(c,e,tp)
return not Duel.IsExistingMatchingCard(function(c) return c:GetSequence()<5 and c:IsFaceup() end,tp,LOCATION_MZONE,0,1,nil) return c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEDOWN_DEFENSE)
end end
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 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) ...@@ -66,14 +65,22 @@ function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
end end
function cm.spop(e,tp,eg,ep,ev,re,r,rp) function cm.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local tc=e:GetLabelObject()
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 or not c:IsRelateToEffect(e) then return end 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) local ct=Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEDOWN_DEFENSE)
Duel.ConfirmCards(1-tp,c) 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.BreakEffect()
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEDOWN_DEFENSE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
Duel.ConfirmCards(1-tp,tc) 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 end
function cm.filter(c) function cm.filter(c)
...@@ -98,8 +105,8 @@ function cm.fpop(e,tp,eg,ep,ev,re,r,rp) ...@@ -98,8 +105,8 @@ function cm.fpop(e,tp,eg,ep,ev,re,r,rp)
end end
function cm.con(e,tp,eg,ep,ev,re,r,rp) function cm.con(e,tp,eg,ep,ev,re,r,rp)
if not re:IsHasProperty(EFFECT_FLAG_CARD_TARGET) then return false end if not re:IsHasProperty(EFFECT_FLAG_CARD_TARGET) then return false end
local tg=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS) local g=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS)
return tg and tg:IsContains(e:GetHandler()) and e:GetHandler():IsFacedown() return g and g:IsExists(Card.IsFacedown,1,nil) and e:GetHandler():IsFacedown() and Duel.IsChainNegatable(ev)
end end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
......
...@@ -11,7 +11,8 @@ function cm.initial_effect(c) ...@@ -11,7 +11,8 @@ function cm.initial_effect(c)
e1:SetType(EFFECT_TYPE_QUICK_O) e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_HAND) 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:SetTarget(cm.sptg)
e1:SetOperation(cm.spop) e1:SetOperation(cm.spop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
...@@ -86,8 +87,8 @@ function cm.fpop(e,tp,eg,ep,ev,re,r,rp) ...@@ -86,8 +87,8 @@ function cm.fpop(e,tp,eg,ep,ev,re,r,rp)
end end
function cm.con(e,tp,eg,ep,ev,re,r,rp) function cm.con(e,tp,eg,ep,ev,re,r,rp)
if not re:IsHasProperty(EFFECT_FLAG_CARD_TARGET) then return false end if not re:IsHasProperty(EFFECT_FLAG_CARD_TARGET) then return false end
local tg=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS) local g=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS)
return tg and tg:IsContains(e:GetHandler()) and e:GetHandler():IsFacedown() return g and g:IsExists(Card.IsFacedown,1,nil) and e:GetHandler():IsFacedown() and Duel.IsChainNegatable(ev)
end end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
......
...@@ -11,7 +11,8 @@ function cm.initial_effect(c) ...@@ -11,7 +11,8 @@ function cm.initial_effect(c)
e1:SetType(EFFECT_TYPE_QUICK_O) e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_HAND) 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:SetTarget(cm.sptg)
e1:SetOperation(cm.spop) e1:SetOperation(cm.spop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
...@@ -78,7 +79,10 @@ end ...@@ -78,7 +79,10 @@ end
function cm.fpop(e,tp,eg,ep,ev,re,r,rp) function cm.fpop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then 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.BreakEffect()
Duel.Draw(tp,1,REASON_EFFECT) Duel.Draw(tp,1,REASON_EFFECT)
end end
...@@ -86,8 +90,8 @@ function cm.fpop(e,tp,eg,ep,ev,re,r,rp) ...@@ -86,8 +90,8 @@ function cm.fpop(e,tp,eg,ep,ev,re,r,rp)
end end
function cm.con(e,tp,eg,ep,ev,re,r,rp) function cm.con(e,tp,eg,ep,ev,re,r,rp)
if not re:IsHasProperty(EFFECT_FLAG_CARD_TARGET) then return false end if not re:IsHasProperty(EFFECT_FLAG_CARD_TARGET) then return false end
local tg=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS) local g=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS)
return tg and tg:IsContains(e:GetHandler()) and e:GetHandler():IsFacedown() return g and g:IsExists(Card.IsFacedown,1,nil) and e:GetHandler():IsFacedown() and Duel.IsChainNegatable(ev)
end end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
......
...@@ -7,11 +7,12 @@ function cm.initial_effect(c) ...@@ -7,11 +7,12 @@ function cm.initial_effect(c)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0)) e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOHAND) 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: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:SetCost(cm.spcost)
e1:SetCondition(cm.spcon)
e1:SetTarget(cm.sptg) e1:SetTarget(cm.sptg)
e1:SetOperation(cm.spop) e1:SetOperation(cm.spop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
...@@ -55,9 +56,6 @@ function cm.spcost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -55,9 +56,6 @@ function cm.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
e:SetLabelObject(tc) e:SetLabelObject(tc)
tc:CreateEffectRelation(e) tc:CreateEffectRelation(e)
end 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) 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 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) 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) ...@@ -111,8 +109,8 @@ function cm.fpop(e,tp,eg,ep,ev,re,r,rp)
end end
function cm.con(e,tp,eg,ep,ev,re,r,rp) function cm.con(e,tp,eg,ep,ev,re,r,rp)
if not re:IsHasProperty(EFFECT_FLAG_CARD_TARGET) then return false end if not re:IsHasProperty(EFFECT_FLAG_CARD_TARGET) then return false end
local tg=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS) local g=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS)
return tg and tg:IsContains(e:GetHandler()) and e:GetHandler():IsFacedown() return g and g:IsExists(Card.IsFacedown,1,nil) and e:GetHandler():IsFacedown() and Duel.IsChainNegatable(ev)
end end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
......
...@@ -6,100 +6,66 @@ function cm.initial_effect(c) ...@@ -6,100 +6,66 @@ function cm.initial_effect(c)
--link summon --link summon
c:EnableReviveLimit() c:EnableReviveLimit()
aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkRace,RACE_FIEND),2,2) aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkRace,RACE_FIEND),2,2)
--pos change --SearchCard
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0)) e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_POSITION) e1:SetCategory(CATEGORY_REMOVE)
e1:SetType(EFFECT_TYPE_QUICK_O) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET) e1:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP)
e1:SetRange(LOCATION_MZONE) e1:SetCountLimit(1,m)
e1:SetCountLimit(1,m+EFFECT_COUNT_CODE_OATH) e1:SetTarget(cm.thtg)
e1:SetTarget(cm.postg) e1:SetOperation(cm.thop)
e1:SetOperation(cm.posop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--search local e2=e1:Clone()
local e2=Effect.CreateEffect(c) e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetDescription(aux.Stringid(m,2))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_SEARCH+CATEGORY_TOHAND)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1)
e2:SetCost(cm.thcost)
e2:SetCondition(cm.thcon) e2:SetCondition(cm.thcon)
e2:SetTarget(cm.thtg) c:RegisterEffect(e2)
e2:SetOperation(cm.thop) --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) c:RegisterEffect(e2)
end end
function cm.ND(c) function cm.ND(c)
local m=_G["c"..c:GetCode()] local m=_G["c"..c:GetCode()]
return m and m.named_with_NextDraw return m and m.named_with_NextDraw
end end
function cm.cfilter(c,lg) function cm.cfilter(c,tp)
return c:IsFacedown() and lg:IsContains(c) return c:IsFacedown() and c:IsType(TYPE_MONSTER)
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)
end end
function cm.thcon(e,tp,eg,ep,ev,re,r,rp) 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 end
function cm.filter(c) function cm.thfilter(c)
return c:IsLevelAbove(6) and c:IsRace(RACE_FIEND) and c:IsType(TYPE_MONSTER) and c:IsAbleToHand() return cm.ND(c) and c:IsAbleToHand()
end end
function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk) 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 if chk==0 then return Duel.IsExistingMatchingCard(cm.thfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK) Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,0,LOCATION_DECK)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,LOCATION_HAND)
end end
function cm.thop(e,tp,eg,ep,ev,re,r,rp) function cm.thop(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetLabelObject()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) 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 if g:GetCount()>0 then
local ct=Duel.SendtoHand(g,nil,REASON_EFFECT) local ct=Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g) Duel.ConfirmCards(1-tp,g)
end 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 end
Duel.BreakEffect() function cm.etarget(e,c)
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEDOWN_DEFENSE) return c:IsType(TYPE_MONSTER) and c:IsFacedown()
Duel.ConfirmCards(1-tp,tc) end
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 end
\ No newline at end of file
...@@ -15,8 +15,7 @@ function cm.initial_effect(c) ...@@ -15,8 +15,7 @@ function cm.initial_effect(c)
e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE) e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET) e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1,m+EFFECT_COUNT_CODE_OATH) e1:SetCountLimit(1,m)
e1:SetCost(cm.setcost)
e1:SetTarget(cm.settg) e1:SetTarget(cm.settg)
e1:SetOperation(cm.setop) e1:SetOperation(cm.setop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
...@@ -47,10 +46,6 @@ function cm.ND(c) ...@@ -47,10 +46,6 @@ function cm.ND(c)
local m=_G["c"..c:GetCode()] local m=_G["c"..c:GetCode()]
return m and m.named_with_NextDraw return m and m.named_with_NextDraw
end 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) function cm.setfilter(c)
return c:IsFaceup() and c:IsCanTurnSet() return c:IsFaceup() and c:IsCanTurnSet()
end end
...@@ -93,6 +88,7 @@ function cm.fpop(e,tp,eg,ep,ev,re,r,rp) ...@@ -93,6 +88,7 @@ function cm.fpop(e,tp,eg,ep,ev,re,r,rp)
if og:GetCount()>0 then if og:GetCount()>0 then
Duel.SendtoGrave(og,REASON_RULE) Duel.SendtoGrave(og,REASON_RULE)
end end
tc:CancelToGrave()
Duel.Overlay(c,Group.FromCards(tc)) 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 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() Duel.BreakEffect()
...@@ -107,8 +103,8 @@ function cm.fpop(e,tp,eg,ep,ev,re,r,rp) ...@@ -107,8 +103,8 @@ function cm.fpop(e,tp,eg,ep,ev,re,r,rp)
end end
function cm.con(e,tp,eg,ep,ev,re,r,rp) function cm.con(e,tp,eg,ep,ev,re,r,rp)
if not re:IsHasProperty(EFFECT_FLAG_CARD_TARGET) then return false end if not re:IsHasProperty(EFFECT_FLAG_CARD_TARGET) then return false end
local tg=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS) local g=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS)
return tg and tg:IsContains(e:GetHandler()) and e:GetHandler():IsFacedown() return g and g:IsExists(Card.IsFacedown,1,nil) and e:GetHandler():IsFacedown() and Duel.IsChainNegatable(ev)
end end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end 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) ...@@ -27,7 +27,7 @@ function s.thfilter(c)
end end
function s.mfilter(c) function s.mfilter(c)
return c:IsType(TYPE_MONSTER) return c:IsType(TYPE_MONSTER) and c:IsSetCard(0x666d)
end end
function s.condition(e,tp,eg,ep,ev,re,r,rp) function s.condition(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -6,7 +6,6 @@ function s.initial_effect(c) ...@@ -6,7 +6,6 @@ function s.initial_effect(c)
c:EnableReviveLimit() c:EnableReviveLimit()
--atkup --atkup
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,0))
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE) e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
...@@ -15,48 +14,36 @@ function s.initial_effect(c) ...@@ -15,48 +14,36 @@ function s.initial_effect(c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--negate --negate
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(id,1)) e2:SetCategory(CATEGORY_NEGATE+CATEGORY_EQUIP)
e2:SetCategory(CATEGORY_TOGRAVE+CATEGORY_NEGATE+CATEGORY_DESTROY)
e2:SetType(EFFECT_TYPE_QUICK_O) e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_CHAINING) e2:SetCode(EVENT_CHAINING)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL) e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,EFFECT_COUNT_CODE_CHAIN)
e2:SetCondition(s.discon) e2:SetCondition(s.discon)
e2:SetTarget(s.distg) e2:SetTarget(s.distg)
e2:SetOperation(s.disop) e2:SetOperation(s.disop)
c:RegisterEffect(e2) 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 end
function s.val(e,c) function s.val(e,c)
return c:GetEquipCount()*500 return c:GetEquipCount()*500
end end
function s.discon(e,tp,eg,ep,ev,re,r,rp) 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) return ((re:IsActiveType(TYPE_MONSTER) and Duel.GetFlagEffect(tp,id)==0)
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_SPELL) and Duel.GetFlagEffect(tp,id+o)==0)
or (re:IsActiveType(TYPE_TRAP) and Duel.GetFlagEffect(tp,id+o*2)==0)) or (re:IsActiveType(TYPE_TRAP) and Duel.GetFlagEffect(tp,id+o*2)==0))
end end
function s.cfilter(c,tp) function s.eqfilter(c,ec)
return c:IsType(TYPE_EQUIP) and c:IsAbleToGrave() return c:IsType(TYPE_EQUIP) and c:CheckEquipTarget(ec)
end end
function s.distg(e,tp,eg,ep,ev,re,r,rp,chk) function s.distg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
local cg=c:GetEquipGroup() local b1=c:GetEquipGroup():IsExists(Card.IsAbleToGraveAsCost,1,nil) and not c:IsStatus(STATUS_BATTLE_DESTROYED) and Duel.IsChainNegatable(ev)
if chk==0 then return cg:IsExists(s.cfilter,1,nil,tp) end 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) Duel.SetOperationInfo(0,CATEGORY_NEGATE,eg,1,0,0)
if re:IsActiveType(TYPE_MONSTER) then 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) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,3)) e1:SetDescription(aux.Stringid(id,3))
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD)
...@@ -65,90 +52,51 @@ function s.distg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -65,90 +52,51 @@ function s.distg(e,tp,eg,ep,ev,re,r,rp,chk)
e1:SetTargetRange(1,0) e1:SetTargetRange(1,0)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
elseif re:IsActiveType(TYPE_SPELL) then 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) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,4)) e1:SetDescription(aux.Stringid(id,4))
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CLIENT_HINT) e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CLIENT_HINT)
e1:SetReset(RESET_PHASE+PHASE_END) e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetTargetRange(1,0) e1:SetTargetRange(1,0)
Duel.RegisterEffect(e1,tp)
elseif re:IsActiveType(TYPE_TRAP) then 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) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,5)) e1:SetDescription(aux.Stringid(id,5))
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CLIENT_HINT) e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CLIENT_HINT)
e1:SetReset(RESET_PHASE+PHASE_END) e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetTargetRange(1,0) 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 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 end
function s.disop(e,tp,eg,ep,ev,re,r,rp) function s.disop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local cg=c:GetEquipGroup() local b1=c:GetEquipGroup():IsExists(Card.IsAbleToGraveAsCost,1,nil)
if cg:IsExists(s.cfilter,1,nil,tp) then 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) 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) Duel.SendtoGrave(g,REASON_EFFECT)
if Duel.NegateActivation(ev) and re:GetHandler():IsRelateToEffect(re) then Duel.NegateActivation(ev)
Duel.Destroy(eg,REASON_EFFECT) else
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 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) 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 g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(s.eqfilter),tp,LOCATION_HAND+LOCATION_GRAVE,0,1,1,nil,c)
local tc=g:GetFirst() if g:GetCount()>0 then
if tc then Duel.Equip(tp,g:GetFirst(),c)
Duel.Equip(tp,tc,c)
end end
end
end
function s.eqlimit(e,c)
return e:GetOwner()==c
end end
--现世的守护龙 虹彩 --神圣白
local s,id,o=GetID() local s,id,o=GetID()
function s.initial_effect(c) function s.initial_effect(c)
--synchro summon --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() c:EnableReviveLimit()
--cannot special summon --destroy
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
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,0)) e1:SetDescription(aux.Stringid(id,0))
e1:SetCategory(CATEGORY_TOGRAVE) e1:SetCategory(CATEGORY_DESTROY)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e1:SetCode(EVENT_SPSUMMON_SUCCESS) e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetTarget(s.tgtg) e1:SetCountLimit(1,id)
e1:SetOperation(s.tgop) e1:SetTarget(s.destg)
e1:SetOperation(s.desop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--activate limit --spsummon limit
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD) e2:SetType(EFFECT_TYPE_FIELD)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetCode(EFFECT_CANNOT_ACTIVATE)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetTargetRange(1,1) e2:SetTargetRange(1,1)
e2:SetValue(s.aclimit) e2:SetTarget(s.sumlimit)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--negate
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD) e3:SetDescription(aux.Stringid(id,1))
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e3:SetCategory(CATEGORY_NEGATE)
e3:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON) e3:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetRange(LOCATION_MZONE) e3:SetRange(LOCATION_MZONE)
e3:SetTargetRange(1,1) e3:SetCode(EVENT_CHAINING)
e3:SetTarget(s.sumlimit) e3:SetCountLimit(1,id+1000)
e3:SetCondition(s.negcon)
e3:SetCost(s.negcost)
e3:SetTarget(s.negtg)
e3:SetOperation(s.negop)
c:RegisterEffect(e3) 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 end
function s.tgtg(e,tp,eg,ep,ev,re,r,rp,chk) function s.desfilter(c)
if chk==0 then return true end return c:IsSummonLocation(LOCATION_GRAVE)
local g=Duel.GetMatchingGroup(Card.IsSummonLocation,tp,LOCATION_MZONE,LOCATION_MZONE,nil,LOCATION_GRAVE)
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,g,g:GetCount(),0,0)
end end
function s.tgop(e,tp,eg,ep,ev,re,r,rp) function s.destg(e,tp,eg,ep,ev,re,r,rp,chk)
local g=Duel.GetMatchingGroup(Card.IsSummonLocation,tp,LOCATION_MZONE,LOCATION_MZONE,nil,LOCATION_GRAVE) if chk==0 then return true end
if g:GetCount()>0 then local g=Duel.GetMatchingGroup(s.desfilter,tp,LOCATION_MZONE,LOCATION_MZONE,nil)
Duel.SendtoGrave(g,REASON_EFFECT) Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,g:GetCount(),0,0)
end
end end
function s.aclimit(e,re,tp) function s.desop(e,tp,eg,ep,ev,re,r,rp)
return re:GetActivateLocation()==LOCATION_GRAVE local g=Duel.GetMatchingGroup(s.desfilter,tp,LOCATION_MZONE,LOCATION_MZONE,nil)
Duel.Destroy(g,REASON_EFFECT)
end end
function s.sumlimit(e,c,sump,sumtype,sumpos,targetp,se) function s.sumlimit(e,c,sump,sumtype,sumpos,targetp,se)
return c:IsLocation(LOCATION_GRAVE) and c:IsType(TYPE_MONSTER) return c:IsLocation(LOCATION_GRAVE) and c:IsType(TYPE_MONSTER)
end end
function s.discon(e,tp,eg,ep,ev,re,r,rp) function s.negcon(e,tp,eg,ep,ev,re,r,rp)
if e:GetHandler():IsStatus(STATUS_BATTLE_DESTROYED) then return false end return re:GetActivateLocation()==LOCATION_GRAVE and Duel.IsChainNegatable(ev)
if not re:IsHasProperty(EFFECT_FLAG_CARD_TARGET) then return false end end
local tg=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS) function s.negcost(e,tp,eg,ep,ev,re,r,rp,chk)
return tg and tg:IsExists(Card.IsLocation,1,nil,LOCATION_GRAVE) and Duel.IsChainNegatable(ev) 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 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 if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_NEGATE,eg,1,0,0) 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 end
function s.disop(e,tp,eg,ep,ev,re,r,rp) function s.negop(e,tp,eg,ep,ev,re,r,rp)
if Duel.NegateActivation(ev) and re:GetHandler():IsRelateToEffect(re) then Duel.NegateActivation(ev)
Duel.Destroy(eg,REASON_EFFECT)
end
end end
...@@ -30,15 +30,17 @@ end ...@@ -30,15 +30,17 @@ end
function s.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function s.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local c=e:GetHandler() local c=e:GetHandler()
if chkc then return chkc:IsLocation(LOCATION_MZONE) and s.filter(chkc) end 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 b1=c:IsLocation(LOCATION_HAND)
local b2=Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and c:IsCanBeSpecialSummoned(e,0,tp,false,false) 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 chk==0 then return b1 or b2 end
if c:IsLocation(LOCATION_HAND) then if b1 then
e:SetCategory(CATEGORY_EQUIP) e:SetCategory(CATEGORY_EQUIP)
e:SetProperty(EFFECT_FLAG_CARD_TARGET) e:SetProperty(EFFECT_FLAG_CARD_TARGET)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
Duel.SelectTarget(tp,s.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil) 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) e:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_SEARCH+CATEGORY_TOHAND)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK) 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) ...@@ -46,8 +48,8 @@ function s.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
end end
function s.eqop(e,tp,eg,ep,ev,re,r,rp) function s.eqop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() 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 if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 or tc:IsFacedown() or not tc:IsRelateToEffect(e) then
Duel.SendtoGrave(c,REASON_EFFECT) Duel.SendtoGrave(c,REASON_EFFECT)
return return
......
...@@ -26,15 +26,17 @@ end ...@@ -26,15 +26,17 @@ end
function s.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function s.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local c=e:GetHandler() local c=e:GetHandler()
if chkc then return chkc:IsLocation(LOCATION_MZONE) and s.filter(chkc) end 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 b1=c:IsLocation(LOCATION_HAND)
local b2=Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and c:IsCanBeSpecialSummoned(e,0,tp,false,false) 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 chk==0 then return b1 or b2 end
if c:IsLocation(LOCATION_HAND) then if b1 then
e:SetCategory(CATEGORY_EQUIP) e:SetCategory(CATEGORY_EQUIP)
e:SetProperty(EFFECT_FLAG_CARD_TARGET) e:SetProperty(EFFECT_FLAG_CARD_TARGET)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
Duel.SelectTarget(tp,s.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil) 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) e:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_SEARCH+CATEGORY_TOHAND)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK) 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) ...@@ -42,8 +44,8 @@ function s.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
end end
function s.eqop(e,tp,eg,ep,ev,re,r,rp) function s.eqop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() 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 if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 or tc:IsFacedown() or not tc:IsRelateToEffect(e) then
Duel.SendtoGrave(c,REASON_EFFECT) Duel.SendtoGrave(c,REASON_EFFECT)
return return
......
...@@ -26,15 +26,17 @@ end ...@@ -26,15 +26,17 @@ end
function s.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function s.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local c=e:GetHandler() local c=e:GetHandler()
if chkc then return chkc:IsLocation(LOCATION_MZONE) and s.filter(chkc) end 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 b1=c:IsLocation(LOCATION_HAND)
local b2=Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and c:IsCanBeSpecialSummoned(e,0,tp,false,false) 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 chk==0 then return b1 or b2 end
if c:IsLocation(LOCATION_HAND) then if b1 then
e:SetCategory(CATEGORY_EQUIP) e:SetCategory(CATEGORY_EQUIP)
e:SetProperty(EFFECT_FLAG_CARD_TARGET) e:SetProperty(EFFECT_FLAG_CARD_TARGET)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
Duel.SelectTarget(tp,s.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil) 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) e:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOHAND)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_GRAVE) 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) ...@@ -42,8 +44,8 @@ function s.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
end end
function s.eqop(e,tp,eg,ep,ev,re,r,rp) function s.eqop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() 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 if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 or tc:IsFacedown() or not tc:IsRelateToEffect(e) then
Duel.SendtoGrave(c,REASON_EFFECT) Duel.SendtoGrave(c,REASON_EFFECT)
return return
......
...@@ -37,15 +37,17 @@ end ...@@ -37,15 +37,17 @@ end
function s.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function s.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local c=e:GetHandler() local c=e:GetHandler()
if chkc then return chkc:IsLocation(LOCATION_MZONE) and s.filter(chkc) end 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 b1=c:IsLocation(LOCATION_HAND)
local b2=Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and c:IsCanBeSpecialSummoned(e,0,tp,false,false) 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 chk==0 then return b1 or b2 end
if c:IsLocation(LOCATION_HAND) then if b1 then
e:SetCategory(CATEGORY_EQUIP) e:SetCategory(CATEGORY_EQUIP)
e:SetProperty(EFFECT_FLAG_CARD_TARGET) e:SetProperty(EFFECT_FLAG_CARD_TARGET)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
Duel.SelectTarget(tp,s.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil) 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) e:SetCategory(CATEGORY_SPECIAL_SUMMON)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,0,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) ...@@ -53,8 +55,8 @@ function s.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
end end
function s.eqop(e,tp,eg,ep,ev,re,r,rp) function s.eqop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() 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 if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 or tc:IsFacedown() or not tc:IsRelateToEffect(e) then
Duel.SendtoGrave(c,REASON_EFFECT) Duel.SendtoGrave(c,REASON_EFFECT)
return return
...@@ -85,6 +87,7 @@ end ...@@ -85,6 +87,7 @@ end
function s.sfilter(c,e,tp) function s.sfilter(c,e,tp)
return c:GetOriginalType()&TYPE_MONSTER>0 and c:GetType()&TYPE_EQUIP+TYPE_SPELL==TYPE_EQUIP+TYPE_SPELL 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 c:IsFaceup() and c:IsSetCard(0xcf1) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
end end
function s.fuslimit(e,c,st) function s.fuslimit(e,c,st)
return st==SUMMON_TYPE_FUSION return st==SUMMON_TYPE_FUSION
......
...@@ -31,8 +31,9 @@ function s.eqfilter(c) ...@@ -31,8 +31,9 @@ function s.eqfilter(c)
return c:IsSetCard(0xcf1) and c:IsType(TYPE_MONSTER) and not c:IsForbidden() return c:IsSetCard(0xcf1) and c:IsType(TYPE_MONSTER) and not c:IsForbidden()
end end
function s.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) 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 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.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
Duel.SelectTarget(tp,s.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil) Duel.SelectTarget(tp,s.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil)
end end
......
...@@ -27,9 +27,9 @@ function s.initial_effect(c) ...@@ -27,9 +27,9 @@ function s.initial_effect(c)
e2:SetOperation(s.sumop) e2:SetOperation(s.sumop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
local e3=e1:Clone() local e3=e2:Clone()
e3:SetType(EFFECT_TYPE_QUICK_O) e3:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCondition(s.sumcon) e3:SetCondition(s.sumcon)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end 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 @@ ...@@ -1215,6 +1215,7 @@
!setname 0x9224 宝可· !setname 0x9224 宝可·
!setname 0xa224 裂界 !setname 0xa224 裂界
!setname 0x5225 绝海滋养 !setname 0x5225 绝海滋养
!setname 0x6225 璀璨原钻
#Qwe.3359™ #Qwe.3359™
!counter 0x6371 蓄电指示物 !counter 0x6371 蓄电指示物
...@@ -1298,6 +1299,8 @@ ...@@ -1298,6 +1299,8 @@
!setname 0x96b 剑客 !setname 0x96b 剑客
!setname 0x396b 神装 !setname 0x396b 神装
!setname 0x696b 神兵 !setname 0x696b 神兵
!setname 0x396c 魂铸意志
!setname 0x696c 暗月
!setname 0x396e 鸣神 !setname 0x396e 鸣神
!counter 0x96e 剑气指示物 !counter 0x96e 剑气指示物
...@@ -1456,7 +1459,7 @@ ...@@ -1456,7 +1459,7 @@
#岸彼斐子 173 0xf50-0xf51 #岸彼斐子 173 0xf50-0xf51
!setname 0x3f50 EMT阵营 !setname 0x3f50 EMT阵营
!setname 0x5f50 菜月昴 !setname 0x5f50 菜月昴
!setname 0x6f50 ·艾米莉亚· !setname 0x6f50 神座
!setname 0x9f50 ·帕克· !setname 0x9f50 ·帕克·
!setname 0x3f51 ·雷姆· !setname 0x3f51 ·雷姆·
!setname 0x5f51 ·拉姆· !setname 0x5f51 ·拉姆·
...@@ -1594,6 +1597,9 @@ ...@@ -1594,6 +1597,9 @@
!counter 0xe23 剑气指示物 !counter 0xe23 剑气指示物
#格林 951 0xbb0-0xbbf #格林 951 0xbb0-0xbbf
!setname 0x5bb0 化龙
!setname 0x6bb0 失控磁盘
!setname 0xbbb0 暗黑能乐面具
!setname 0xbba 魔姬 !setname 0xbba 魔姬
!setname 0xbbb 黑之裁判 !setname 0xbbb 黑之裁判
!setname 0xbbc 馄饨剩汤 !setname 0xbbc 馄饨剩汤
...@@ -1649,6 +1655,7 @@ ...@@ -1649,6 +1655,7 @@
!setname 0x666a 绮奏 !setname 0x666a 绮奏
!setname 0x666b 蒸汽朋克 !setname 0x666b 蒸汽朋克
!setname 0x666c 堕福 !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