Commit be54eddc authored by Nemo Ma's avatar Nemo Ma

231231

parent 3b88e98a
......@@ -1992,6 +1992,11 @@
60362066 0
74920585 0
77103950 1
#231231
14010109 0
22174899 0
40009524 1
53799184 1
#231217
22348084 0
22348095 0
......@@ -2069,7 +2074,6 @@
91010023 0
9911075 1
11799915 1
29063597 1
60002185 1
71401002 2
88888014 1
......@@ -3031,7 +3035,6 @@
40009730 0
53796033 0
53796034 0
60060016 1
72100340 0
89388000 0
188853 1
......@@ -3096,7 +3099,6 @@
60001146 0
60001145 0
40010272 0
40010388 0
60000002 0
82567875 0
82568068 0
......@@ -5909,7 +5911,6 @@
31178212 0 --Majespecter Unicorn - Kirin
96782886 0 --Mind Master
7563579 0 --Performage PlushFire
90411554 0 --Redox, Dragon Ruler of Boulders
88071625 0 --The Tyrant Neptune
26400609 0 --Tidal, Dragon Ruler of Waterfalls
44910027 0 --Victory Dragon
......@@ -5921,19 +5922,20 @@
23558733 0 --Phoenixian Cluster Amaryllis
1357146 0 --Ronintoadin
75732622 0 --Grinder Golem
57835716 0 --Orcust Harp Horror
67441435 0 --Glow-up Bulb
91258852 0 --SPYRAL Master Plan
6728559 0 --Archnemeses Protos
20292186 0 --Artifact Scythe
73356503 0 --Barrier Statue of the Stormwinds
69015963 0 --Cyber-Stein
62320425 0 --Agido the Ancient Sentry
25926710 0 --Kelbek the Ancient Vanguard
36521307 0 --Mathmech Circular
17412721 0 --Elder Entity Norden EXTRA DECK MONSTERS
43387895 0 --Supreme King Dragon Starving Venom
15291624 0 --Thunder Dragon Colossus
92731385 0 --Tearlaments Kitkallos
3040496 0 --Chaos Ruler, the Chaotic Magical Dragon
94677445 0 --Ib the World Chalice Justiciar
63101919 0 --Tempest Magician
34086406 0 --Lavalval Chain
81122844 0 --Wind-Up Carrier Zenmaity
......@@ -5965,6 +5967,8 @@
27381364 0 --Spright Elf
33918636 0 --Superheavy Samurai Scarecrow
95474755 0 --Number 89: Diablosis the Mind Hacker
48626373 0 --Kashtira Arise-Heart
59934749 0 --Isolde, Two Tales of the Noble Knights
69243953 0 --Butterfly Dagger - Elma SPELLS CARDS
57953380 0 --Card of Safe Return
67616300 0 --Chicken Game
......@@ -5985,7 +5989,6 @@
41482598 0 --Mirage of Nightmare
7394770 0 --Brilliant Fusion
70828912 0 --Premature Burial
45986603 0 --Snatch Steal
42829885 0 --The Forceful Sentry
11110587 0 --That Grass Looks Greener
54447022 0 --Soul Charge
......@@ -6004,7 +6007,6 @@
5851097 0 --Vanity's Emptiness
43262273 0 --Appointer of the Red Lotus
1041278 0 --Branded Expulsion
48626373 0 --Kashtira Arise-Heart
#Limited TCG
7902349 1 --Left Arm of the forbidden one MAIN DECK MONSTERS
44519536 1 --Left Leg of the forbidden one
......@@ -6012,9 +6014,7 @@
8124921 1 --Right Leg of the forbidden one
61901281 1 --Black Dragon Collapserpent
33396948 1 --Exodia the Forbidden One
99177923 1 --Infernity Archfiend
89399912 1 --Tempest, Dragon Ruler of Storms
81275020 1 --Speedroid Terrortop
99234526 1 --White Dragon Wyverburster
78872731 1 --Zoodiac Ratpier
33508719 1 --Morphing Jar
......@@ -6023,7 +6023,6 @@
12958919 1 --Phantom Skyblaster
43694650 1 --Danger!? Jackalope?
99745551 1 --Danger!? Tsuchinoko?
82385847 1 --Dinowrestler Pankratops
38572779 1 --Miscellaneousaurus
76794549 1 --Astrograph Sorcerer
83190280 1 --Lunalight Tiger
......@@ -6031,16 +6030,18 @@
26118970 1 --Red Rose Dragon
34124316 1 --Cyber Jar
20663556 1 --Substitoad
62320425 1 --Agido the Ancient Sentry
25926710 1 --Kelbek the Ancient Vanguard
63542003 1 --Keldo the Sacred Protector
99937011 1 --Mudora the Sword Oracle
37961969 1 --Tearlaments Havnis
74078255 1 --Tearlaments Merrli
572850 1 --Tearlaments Scheiren
53804307 1 --Blaster, Dragon Ruler of Infernos
36521307 1 --Mathmech Circular
38814750 1 --PSY-Framegear Gamma
33854624 1 --Bystial Magnamhut
57835716 1 --Orcust Harp Horror
90411554 1 --Redox, Dragon Ruler of Boulders
65734501 1 --Rescue-ACE Air Lifter
41165831 1 --Unchained Soul of Sharvara
39512984 1 --Gem-Knight Master Diamond EXTRA DECK MONSTERS
25862681 1 --Ancient Fairy Dragon
90953320 1 --T.G. Hyper Librarian
......@@ -6049,6 +6050,9 @@
581014 1 --Daigusto Emeral
73539069 1 --Striker Dragon
65536818 1 --Denglong, First of the Yang Zing
93896655 1 --Sunavalon Dryas
65563871 1 --Sunvine Healer
94677445 1 --Ib the World Chalice Justiciar
95308449 1 --Final Countdown SPELL CARDS
81439173 1 --Foolish Burial
18144506 1 --Harpie's Feather Duster
......@@ -6060,7 +6064,6 @@
73628505 1 --Terraforming
58577036 1 --Reasoning
27970830 1 --Gateway of the Six
70368879 1 --Upstart Goblin
83764718 1 --Monster Reborn
83764719 1 --Monster Reborn
71344451 1 --Slash Draw
......@@ -6076,24 +6079,25 @@
24224830 1 --Called by the Grave
52340444 1 --Sky Striker Mecha - Hornet Drones
1845204 1 --Instant Fusion
37520316 1 --Mind Control
43040603 1 --Monster Gate
4031928 1 --Change of Heart
46448938 1 --Spellbook of Judgement
99266988 1 --Chaos Space
45986603 1 --Snatch Steal
55584558 1 --Purrely Delicious Memory
32723153 1 --Magical Explosion --TRAP CARDS
35316708 1 --Time Seal
3734202 1 --Naturia Sacred Tree
33854624 1 --Bystial Magnamhut
99266988 1 --Chaos Space
53334471 1 --Gozen Match
90846359 1 --Rivalry of Warlords
24207889 1 --There Can Be Only One
#Semi-Limited TCG
9411399 2 --Destiny HERO - Malicious
68304193 2 --Kashtira Unicorn
35261759 2 --Pot of Desires
82385847 2 --Dinowrestler Pankratops
81275020 2 --Speedroid Terrortop
63166095 2 --Sky Striker Mobilize - Engage!
14532163 2 --Lightning Storm
92107604 2 --Runick Fountain
15443125 2 --Spright Starter
21347668 2 --Purrely Sleepy Memory
!THE WILD LIST
20000 0
......@@ -6580,9 +6584,7 @@
98730317 2
98730319 2
117960683 2
#Forbidden TCG
##MAIN DECK MONSTERS
53804307 1 --Blaster, Dragon Ruler of Infernos
94689206 1 --Block Dragon
8903700 1 --Djinn Releaser of Rituals
51858306 1 --Eclipse Wyvern
......@@ -6594,7 +6596,6 @@
31178212 1 --Majespecter Unicorn - Kirin
96782886 1 --Mind Master
7563579 1 --Performage PlushFire
90411554 1 --Redox, Dragon Ruler of Boulders
88071625 1 --The Tyrant Neptune
26400609 1 --Tidal, Dragon Ruler of Waterfalls
44910027 1 --Victory Dragon
......@@ -6605,22 +6606,21 @@
21377582 1 --Master Peace, The True Dracoslaying King
23558733 1 --Phoenixian Cluster Amaryllis
1357146 1 --Ronintoadin
5592689 1 --Samsara Lotus
75732622 1 --Grinder Golem
57835716 1 --Orcust Harp Horror
67441435 1 --Glow-up Bulb
91258852 1 --SPYRAL Master Plan
6728559 1 --Archnemeses Protos
20292186 1 --Artifact Scythe
73356503 1 --Barrier Statue of the Stormwinds
69015963 1 --Cyber-Stein
62320425 1 --Agido the Ancient Sentry
25926710 1 --Kelbek the Ancient Vanguard
36521307 1 --Mathmech Circular
17412721 1 --Elder Entity Norden EXTRA DECK MONSTERS
43387895 1 --Supreme King Dragon Starving Venom
15291624 1 --Thunder Dragon Colossus
92731385 1 --Tearlaments Kitkallos
25862691 1 --Ancient Fairy Dragon (Pre-errata)
65536818 1 --Denglong, First of the Yang Zing
3040496 1 --Chaos Ruler, the Chaotic Magical Dragon
94677445 1 --Ib the World Chalice Justiciar
63101919 1 --Tempest Magician
34086406 1 --Lavalval Chain
81122844 1 --Wind-Up Carrier Zenmaity
......@@ -6650,6 +6650,10 @@
70369116 1 --Predaplant Verte Anaconda
98095162 1 --Curious, the Lightsworn Dominion
27381364 1 --Spright Elf
33918636 1 --Superheavy Samurai Scarecrow
95474755 1 --Number 89: Diablosis the Mind Hacker
48626373 1 --Kashtira Arise-Heart
59934749 1 --Isolde, Two Tales of the Noble Knights
69243953 1 --Butterfly Dagger - Elma SPELLS CARDS
57953380 1 --Card of Safe Return
67616300 1 --Chicken Game
......@@ -6670,7 +6674,6 @@
41482598 1 --Mirage of Nightmare
7394770 1 --Brilliant Fusion
70828912 1 --Premature Burial
45986603 1 --Snatch Steal
42829885 1 --The Forceful Sentry
11110587 1 --That Grass Looks Greener
54447022 1 --Soul Charge
......@@ -6687,7 +6690,8 @@
80604091 1 --Ultimate Offering
80604092 1 --Ultimate Offering
5851097 1 --Vanity's Emptiness
48626373 1 --Kashtira Arise-Heart
43262273 1 --Appointer of the Red Lotus
1041278 1 --Branded Expulsion
53796106 0
25000000 0
25000001 0
......@@ -9510,7 +9514,6 @@
60002109 0
60009998 0
60009999 0
60060016 0
60060026 0
60060029 0
60150515 0
......
expansions/pics/11634026.jpg

89.8 KB | W: | H:

expansions/pics/11634026.jpg

89.9 KB | W: | H:

expansions/pics/11634026.jpg
expansions/pics/11634026.jpg
expansions/pics/11634026.jpg
expansions/pics/11634026.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/11634031.jpg

88.8 KB | W: | H:

expansions/pics/11634031.jpg

55 KB | W: | H:

expansions/pics/11634031.jpg
expansions/pics/11634031.jpg
expansions/pics/11634031.jpg
expansions/pics/11634031.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/31034013.jpg

18.3 KB | W: | H:

expansions/pics/31034013.jpg

18.1 KB | W: | H:

expansions/pics/31034013.jpg
expansions/pics/31034013.jpg
expansions/pics/31034013.jpg
expansions/pics/31034013.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/31034015.jpg

18.2 KB | W: | H:

expansions/pics/31034015.jpg

18.4 KB | W: | H:

expansions/pics/31034015.jpg
expansions/pics/31034015.jpg
expansions/pics/31034015.jpg
expansions/pics/31034015.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/31034017.jpg

16.1 KB | W: | H:

expansions/pics/31034017.jpg

18.9 KB | W: | H:

expansions/pics/31034017.jpg
expansions/pics/31034017.jpg
expansions/pics/31034017.jpg
expansions/pics/31034017.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/40010332.jpg

13 KB | W: | H:

expansions/pics/40010332.jpg

17.8 KB | W: | H:

expansions/pics/40010332.jpg
expansions/pics/40010332.jpg
expansions/pics/40010332.jpg
expansions/pics/40010332.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/40010334.jpg

13.5 KB | W: | H:

expansions/pics/40010334.jpg

18.9 KB | W: | H:

expansions/pics/40010334.jpg
expansions/pics/40010334.jpg
expansions/pics/40010334.jpg
expansions/pics/40010334.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/40010336.jpg

13.4 KB | W: | H:

expansions/pics/40010336.jpg

18.4 KB | W: | H:

expansions/pics/40010336.jpg
expansions/pics/40010336.jpg
expansions/pics/40010336.jpg
expansions/pics/40010336.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/40010338.jpg

13.5 KB | W: | H:

expansions/pics/40010338.jpg

18.8 KB | W: | H:

expansions/pics/40010338.jpg
expansions/pics/40010338.jpg
expansions/pics/40010338.jpg
expansions/pics/40010338.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/40010340.jpg

12.9 KB | W: | H:

expansions/pics/40010340.jpg

17.7 KB | W: | H:

expansions/pics/40010340.jpg
expansions/pics/40010340.jpg
expansions/pics/40010340.jpg
expansions/pics/40010340.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/40010342.jpg

12.9 KB | W: | H:

expansions/pics/40010342.jpg

17.7 KB | W: | H:

expansions/pics/40010342.jpg
expansions/pics/40010342.jpg
expansions/pics/40010342.jpg
expansions/pics/40010342.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/40010344.jpg

12.4 KB | W: | H:

expansions/pics/40010344.jpg

17.2 KB | W: | H:

expansions/pics/40010344.jpg
expansions/pics/40010344.jpg
expansions/pics/40010344.jpg
expansions/pics/40010344.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/40010346.jpg

12.7 KB | W: | H:

expansions/pics/40010346.jpg

17.7 KB | W: | H:

expansions/pics/40010346.jpg
expansions/pics/40010346.jpg
expansions/pics/40010346.jpg
expansions/pics/40010346.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/40010348.jpg

12.2 KB | W: | H:

expansions/pics/40010348.jpg

16.9 KB | W: | H:

expansions/pics/40010348.jpg
expansions/pics/40010348.jpg
expansions/pics/40010348.jpg
expansions/pics/40010348.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/40010350.jpg

13.2 KB | W: | H:

expansions/pics/40010350.jpg

18.3 KB | W: | H:

expansions/pics/40010350.jpg
expansions/pics/40010350.jpg
expansions/pics/40010350.jpg
expansions/pics/40010350.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/40010352.jpg

13.3 KB | W: | H:

expansions/pics/40010352.jpg

17.6 KB | W: | H:

expansions/pics/40010352.jpg
expansions/pics/40010352.jpg
expansions/pics/40010352.jpg
expansions/pics/40010352.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/40010354.jpg

12.8 KB | W: | H:

expansions/pics/40010354.jpg

17.9 KB | W: | H:

expansions/pics/40010354.jpg
expansions/pics/40010354.jpg
expansions/pics/40010354.jpg
expansions/pics/40010354.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/40010356.jpg

12.9 KB | W: | H:

expansions/pics/40010356.jpg

17.7 KB | W: | H:

expansions/pics/40010356.jpg
expansions/pics/40010356.jpg
expansions/pics/40010356.jpg
expansions/pics/40010356.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/40010358.jpg

11.7 KB | W: | H:

expansions/pics/40010358.jpg

16 KB | W: | H:

expansions/pics/40010358.jpg
expansions/pics/40010358.jpg
expansions/pics/40010358.jpg
expansions/pics/40010358.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/40010499.jpg

17.5 KB | W: | H:

expansions/pics/40010499.jpg

19.2 KB | W: | H:

expansions/pics/40010499.jpg
expansions/pics/40010499.jpg
expansions/pics/40010499.jpg
expansions/pics/40010499.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/40010501.jpg

17.2 KB | W: | H:

expansions/pics/40010501.jpg

18.7 KB | W: | H:

expansions/pics/40010501.jpg
expansions/pics/40010501.jpg
expansions/pics/40010501.jpg
expansions/pics/40010501.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/40010503.jpg

17.8 KB | W: | H:

expansions/pics/40010503.jpg

19.3 KB | W: | H:

expansions/pics/40010503.jpg
expansions/pics/40010503.jpg
expansions/pics/40010503.jpg
expansions/pics/40010503.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/40010505.jpg

17.4 KB | W: | H:

expansions/pics/40010505.jpg

19 KB | W: | H:

expansions/pics/40010505.jpg
expansions/pics/40010505.jpg
expansions/pics/40010505.jpg
expansions/pics/40010505.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/40010507.jpg

16.2 KB | W: | H:

expansions/pics/40010507.jpg

17.6 KB | W: | H:

expansions/pics/40010507.jpg
expansions/pics/40010507.jpg
expansions/pics/40010507.jpg
expansions/pics/40010507.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/40010608.jpg

16.9 KB | W: | H:

expansions/pics/40010608.jpg

18.7 KB | W: | H:

expansions/pics/40010608.jpg
expansions/pics/40010608.jpg
expansions/pics/40010608.jpg
expansions/pics/40010608.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/40010637.jpg

17.9 KB | W: | H:

expansions/pics/40010637.jpg

19.4 KB | W: | H:

expansions/pics/40010637.jpg
expansions/pics/40010637.jpg
expansions/pics/40010637.jpg
expansions/pics/40010637.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/40010639.jpg

14 KB | W: | H:

expansions/pics/40010639.jpg

15.3 KB | W: | H:

expansions/pics/40010639.jpg
expansions/pics/40010639.jpg
expansions/pics/40010639.jpg
expansions/pics/40010639.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/40010752.jpg

17.7 KB | W: | H:

expansions/pics/40010752.jpg

19.2 KB | W: | H:

expansions/pics/40010752.jpg
expansions/pics/40010752.jpg
expansions/pics/40010752.jpg
expansions/pics/40010752.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/40010846.jpg

15.9 KB | W: | H:

expansions/pics/40010846.jpg

17.6 KB | W: | H:

expansions/pics/40010846.jpg
expansions/pics/40010846.jpg
expansions/pics/40010846.jpg
expansions/pics/40010846.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/40010906.jpg

16.1 KB | W: | H:

expansions/pics/40010906.jpg

17.6 KB | W: | H:

expansions/pics/40010906.jpg
expansions/pics/40010906.jpg
expansions/pics/40010906.jpg
expansions/pics/40010906.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/40011034.jpg

15.8 KB | W: | H:

expansions/pics/40011034.jpg

17.3 KB | W: | H:

expansions/pics/40011034.jpg
expansions/pics/40011034.jpg
expansions/pics/40011034.jpg
expansions/pics/40011034.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/40011372.jpg

17.8 KB | W: | H:

expansions/pics/40011372.jpg

19.3 KB | W: | H:

expansions/pics/40011372.jpg
expansions/pics/40011372.jpg
expansions/pics/40011372.jpg
expansions/pics/40011372.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/40011374.jpg

17.3 KB | W: | H:

expansions/pics/40011374.jpg

19 KB | W: | H:

expansions/pics/40011374.jpg
expansions/pics/40011374.jpg
expansions/pics/40011374.jpg
expansions/pics/40011374.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53720006.jpg

9.45 KB | W: | H:

expansions/pics/53720006.jpg

61.3 KB | W: | H:

expansions/pics/53720006.jpg
expansions/pics/53720006.jpg
expansions/pics/53720006.jpg
expansions/pics/53720006.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53729019.jpg

13.6 KB | W: | H:

expansions/pics/53729019.jpg

65.4 KB | W: | H:

expansions/pics/53729019.jpg
expansions/pics/53729019.jpg
expansions/pics/53729019.jpg
expansions/pics/53729019.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53755004.jpg

15.8 KB | W: | H:

expansions/pics/53755004.jpg

77 KB | W: | H:

expansions/pics/53755004.jpg
expansions/pics/53755004.jpg
expansions/pics/53755004.jpg
expansions/pics/53755004.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53755005.jpg

14.5 KB | W: | H:

expansions/pics/53755005.jpg

73 KB | W: | H:

expansions/pics/53755005.jpg
expansions/pics/53755005.jpg
expansions/pics/53755005.jpg
expansions/pics/53755005.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53759006.jpg

16.3 KB | W: | H:

expansions/pics/53759006.jpg

85 KB | W: | H:

expansions/pics/53759006.jpg
expansions/pics/53759006.jpg
expansions/pics/53759006.jpg
expansions/pics/53759006.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53764001.jpg

15.5 KB | W: | H:

expansions/pics/53764001.jpg

79.4 KB | W: | H:

expansions/pics/53764001.jpg
expansions/pics/53764001.jpg
expansions/pics/53764001.jpg
expansions/pics/53764001.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53764002.jpg

16.1 KB | W: | H:

expansions/pics/53764002.jpg

85 KB | W: | H:

expansions/pics/53764002.jpg
expansions/pics/53764002.jpg
expansions/pics/53764002.jpg
expansions/pics/53764002.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53764003.jpg

15.5 KB | W: | H:

expansions/pics/53764003.jpg

79.3 KB | W: | H:

expansions/pics/53764003.jpg
expansions/pics/53764003.jpg
expansions/pics/53764003.jpg
expansions/pics/53764003.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53764004.jpg

16 KB | W: | H:

expansions/pics/53764004.jpg

83 KB | W: | H:

expansions/pics/53764004.jpg
expansions/pics/53764004.jpg
expansions/pics/53764004.jpg
expansions/pics/53764004.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53764005.jpg

15.1 KB | W: | H:

expansions/pics/53764005.jpg

78.5 KB | W: | H:

expansions/pics/53764005.jpg
expansions/pics/53764005.jpg
expansions/pics/53764005.jpg
expansions/pics/53764005.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53764006.jpg

15.6 KB | W: | H:

expansions/pics/53764006.jpg

81.5 KB | W: | H:

expansions/pics/53764006.jpg
expansions/pics/53764006.jpg
expansions/pics/53764006.jpg
expansions/pics/53764006.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53764007.jpg

17 KB | W: | H:

expansions/pics/53764007.jpg

89.7 KB | W: | H:

expansions/pics/53764007.jpg
expansions/pics/53764007.jpg
expansions/pics/53764007.jpg
expansions/pics/53764007.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53764008.jpg

12.6 KB | W: | H:

expansions/pics/53764008.jpg

62.8 KB | W: | H:

expansions/pics/53764008.jpg
expansions/pics/53764008.jpg
expansions/pics/53764008.jpg
expansions/pics/53764008.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53764009.jpg

15.3 KB | W: | H:

expansions/pics/53764009.jpg

78.6 KB | W: | H:

expansions/pics/53764009.jpg
expansions/pics/53764009.jpg
expansions/pics/53764009.jpg
expansions/pics/53764009.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53764010.jpg

13.8 KB | W: | H:

expansions/pics/53764010.jpg

68.4 KB | W: | H:

expansions/pics/53764010.jpg
expansions/pics/53764010.jpg
expansions/pics/53764010.jpg
expansions/pics/53764010.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53764011.jpg

13.1 KB | W: | H:

expansions/pics/53764011.jpg

65.1 KB | W: | H:

expansions/pics/53764011.jpg
expansions/pics/53764011.jpg
expansions/pics/53764011.jpg
expansions/pics/53764011.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53764012.jpg

14.2 KB | W: | H:

expansions/pics/53764012.jpg

71.9 KB | W: | H:

expansions/pics/53764012.jpg
expansions/pics/53764012.jpg
expansions/pics/53764012.jpg
expansions/pics/53764012.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53764013.jpg

13.7 KB | W: | H:

expansions/pics/53764013.jpg

70.4 KB | W: | H:

expansions/pics/53764013.jpg
expansions/pics/53764013.jpg
expansions/pics/53764013.jpg
expansions/pics/53764013.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53764014.jpg

15.9 KB | W: | H:

expansions/pics/53764014.jpg

80 KB | W: | H:

expansions/pics/53764014.jpg
expansions/pics/53764014.jpg
expansions/pics/53764014.jpg
expansions/pics/53764014.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53764015.jpg

12.9 KB | W: | H:

expansions/pics/53764015.jpg

62.8 KB | W: | H:

expansions/pics/53764015.jpg
expansions/pics/53764015.jpg
expansions/pics/53764015.jpg
expansions/pics/53764015.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53764016.jpg

17.1 KB | W: | H:

expansions/pics/53764016.jpg

90.3 KB | W: | H:

expansions/pics/53764016.jpg
expansions/pics/53764016.jpg
expansions/pics/53764016.jpg
expansions/pics/53764016.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53764017.jpg

13.7 KB | W: | H:

expansions/pics/53764017.jpg

63 KB | W: | H:

expansions/pics/53764017.jpg
expansions/pics/53764017.jpg
expansions/pics/53764017.jpg
expansions/pics/53764017.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53796160.jpg

18.8 KB | W: | H:

expansions/pics/53796160.jpg

92.5 KB | W: | H:

expansions/pics/53796160.jpg
expansions/pics/53796160.jpg
expansions/pics/53796160.jpg
expansions/pics/53796160.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53796161.jpg

19.1 KB | W: | H:

expansions/pics/53796161.jpg

94.3 KB | W: | H:

expansions/pics/53796161.jpg
expansions/pics/53796161.jpg
expansions/pics/53796161.jpg
expansions/pics/53796161.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53796162.jpg

17.6 KB | W: | H:

expansions/pics/53796162.jpg

86.6 KB | W: | H:

expansions/pics/53796162.jpg
expansions/pics/53796162.jpg
expansions/pics/53796162.jpg
expansions/pics/53796162.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53796163.jpg

16.5 KB | W: | H:

expansions/pics/53796163.jpg

78.1 KB | W: | H:

expansions/pics/53796163.jpg
expansions/pics/53796163.jpg
expansions/pics/53796163.jpg
expansions/pics/53796163.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53799040.jpg

12.3 KB | W: | H:

expansions/pics/53799040.jpg

73.9 KB | W: | H:

expansions/pics/53799040.jpg
expansions/pics/53799040.jpg
expansions/pics/53799040.jpg
expansions/pics/53799040.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53799043.jpg

13.1 KB | W: | H:

expansions/pics/53799043.jpg

79.8 KB | W: | H:

expansions/pics/53799043.jpg
expansions/pics/53799043.jpg
expansions/pics/53799043.jpg
expansions/pics/53799043.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53799047.jpg

11.7 KB | W: | H:

expansions/pics/53799047.jpg

69.3 KB | W: | H:

expansions/pics/53799047.jpg
expansions/pics/53799047.jpg
expansions/pics/53799047.jpg
expansions/pics/53799047.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53799048.jpg

12.9 KB | W: | H:

expansions/pics/53799048.jpg

82.8 KB | W: | H:

expansions/pics/53799048.jpg
expansions/pics/53799048.jpg
expansions/pics/53799048.jpg
expansions/pics/53799048.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53799052.jpg

11.6 KB | W: | H:

expansions/pics/53799052.jpg

75.3 KB | W: | H:

expansions/pics/53799052.jpg
expansions/pics/53799052.jpg
expansions/pics/53799052.jpg
expansions/pics/53799052.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53799053.jpg

12 KB | W: | H:

expansions/pics/53799053.jpg

79.3 KB | W: | H:

expansions/pics/53799053.jpg
expansions/pics/53799053.jpg
expansions/pics/53799053.jpg
expansions/pics/53799053.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53799056.jpg

11 KB | W: | H:

expansions/pics/53799056.jpg

65.4 KB | W: | H:

expansions/pics/53799056.jpg
expansions/pics/53799056.jpg
expansions/pics/53799056.jpg
expansions/pics/53799056.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53799057.jpg

11.1 KB | W: | H:

expansions/pics/53799057.jpg

70.8 KB | W: | H:

expansions/pics/53799057.jpg
expansions/pics/53799057.jpg
expansions/pics/53799057.jpg
expansions/pics/53799057.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53799058.jpg

11.5 KB | W: | H:

expansions/pics/53799058.jpg

73.2 KB | W: | H:

expansions/pics/53799058.jpg
expansions/pics/53799058.jpg
expansions/pics/53799058.jpg
expansions/pics/53799058.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53799059.jpg

11.8 KB | W: | H:

expansions/pics/53799059.jpg

74.8 KB | W: | H:

expansions/pics/53799059.jpg
expansions/pics/53799059.jpg
expansions/pics/53799059.jpg
expansions/pics/53799059.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53799060.jpg

11.3 KB | W: | H:

expansions/pics/53799060.jpg

75.3 KB | W: | H:

expansions/pics/53799060.jpg
expansions/pics/53799060.jpg
expansions/pics/53799060.jpg
expansions/pics/53799060.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53799061.jpg

11.4 KB | W: | H:

expansions/pics/53799061.jpg

73.1 KB | W: | H:

expansions/pics/53799061.jpg
expansions/pics/53799061.jpg
expansions/pics/53799061.jpg
expansions/pics/53799061.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53799062.jpg

11.9 KB | W: | H:

expansions/pics/53799062.jpg

77.6 KB | W: | H:

expansions/pics/53799062.jpg
expansions/pics/53799062.jpg
expansions/pics/53799062.jpg
expansions/pics/53799062.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53799063.jpg

10.4 KB | W: | H:

expansions/pics/53799063.jpg

63.6 KB | W: | H:

expansions/pics/53799063.jpg
expansions/pics/53799063.jpg
expansions/pics/53799063.jpg
expansions/pics/53799063.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53799066.jpg

10.7 KB | W: | H:

expansions/pics/53799066.jpg

66.5 KB | W: | H:

expansions/pics/53799066.jpg
expansions/pics/53799066.jpg
expansions/pics/53799066.jpg
expansions/pics/53799066.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53799071.jpg

9.21 KB | W: | H:

expansions/pics/53799071.jpg

56.8 KB | W: | H:

expansions/pics/53799071.jpg
expansions/pics/53799071.jpg
expansions/pics/53799071.jpg
expansions/pics/53799071.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53799072.jpg

13.8 KB | W: | H:

expansions/pics/53799072.jpg

88.2 KB | W: | H:

expansions/pics/53799072.jpg
expansions/pics/53799072.jpg
expansions/pics/53799072.jpg
expansions/pics/53799072.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53799073.jpg

10.8 KB | W: | H:

expansions/pics/53799073.jpg

61.8 KB | W: | H:

expansions/pics/53799073.jpg
expansions/pics/53799073.jpg
expansions/pics/53799073.jpg
expansions/pics/53799073.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53799074.jpg

13.1 KB | W: | H:

expansions/pics/53799074.jpg

85.9 KB | W: | H:

expansions/pics/53799074.jpg
expansions/pics/53799074.jpg
expansions/pics/53799074.jpg
expansions/pics/53799074.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53799075.jpg

9.82 KB | W: | H:

expansions/pics/53799075.jpg

67.7 KB | W: | H:

expansions/pics/53799075.jpg
expansions/pics/53799075.jpg
expansions/pics/53799075.jpg
expansions/pics/53799075.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53799076.jpg

12.5 KB | W: | H:

expansions/pics/53799076.jpg

79.2 KB | W: | H:

expansions/pics/53799076.jpg
expansions/pics/53799076.jpg
expansions/pics/53799076.jpg
expansions/pics/53799076.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53799081.jpg

11.1 KB | W: | H:

expansions/pics/53799081.jpg

69.4 KB | W: | H:

expansions/pics/53799081.jpg
expansions/pics/53799081.jpg
expansions/pics/53799081.jpg
expansions/pics/53799081.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53799082.jpg

12 KB | W: | H:

expansions/pics/53799082.jpg

76.1 KB | W: | H:

expansions/pics/53799082.jpg
expansions/pics/53799082.jpg
expansions/pics/53799082.jpg
expansions/pics/53799082.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53799083.jpg

12.4 KB | W: | H:

expansions/pics/53799083.jpg

79.2 KB | W: | H:

expansions/pics/53799083.jpg
expansions/pics/53799083.jpg
expansions/pics/53799083.jpg
expansions/pics/53799083.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53799085.jpg

11.2 KB | W: | H:

expansions/pics/53799085.jpg

75.9 KB | W: | H:

expansions/pics/53799085.jpg
expansions/pics/53799085.jpg
expansions/pics/53799085.jpg
expansions/pics/53799085.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53799086.jpg

10.1 KB | W: | H:

expansions/pics/53799086.jpg

67 KB | W: | H:

expansions/pics/53799086.jpg
expansions/pics/53799086.jpg
expansions/pics/53799086.jpg
expansions/pics/53799086.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53799087.jpg

10.6 KB | W: | H:

expansions/pics/53799087.jpg

72.2 KB | W: | H:

expansions/pics/53799087.jpg
expansions/pics/53799087.jpg
expansions/pics/53799087.jpg
expansions/pics/53799087.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53799088.jpg

12.2 KB | W: | H:

expansions/pics/53799088.jpg

82.4 KB | W: | H:

expansions/pics/53799088.jpg
expansions/pics/53799088.jpg
expansions/pics/53799088.jpg
expansions/pics/53799088.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53799096.jpg

10.5 KB | W: | H:

expansions/pics/53799096.jpg

65.3 KB | W: | H:

expansions/pics/53799096.jpg
expansions/pics/53799096.jpg
expansions/pics/53799096.jpg
expansions/pics/53799096.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53799098.jpg

12.4 KB | W: | H:

expansions/pics/53799098.jpg

74.7 KB | W: | H:

expansions/pics/53799098.jpg
expansions/pics/53799098.jpg
expansions/pics/53799098.jpg
expansions/pics/53799098.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53799099.jpg

14.1 KB | W: | H:

expansions/pics/53799099.jpg

91.8 KB | W: | H:

expansions/pics/53799099.jpg
expansions/pics/53799099.jpg
expansions/pics/53799099.jpg
expansions/pics/53799099.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53799101.jpg

12.7 KB | W: | H:

expansions/pics/53799101.jpg

85 KB | W: | H:

expansions/pics/53799101.jpg
expansions/pics/53799101.jpg
expansions/pics/53799101.jpg
expansions/pics/53799101.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53799104.jpg

15 KB | W: | H:

expansions/pics/53799104.jpg

96.6 KB | W: | H:

expansions/pics/53799104.jpg
expansions/pics/53799104.jpg
expansions/pics/53799104.jpg
expansions/pics/53799104.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53799107.jpg

12.4 KB | W: | H:

expansions/pics/53799107.jpg

78.2 KB | W: | H:

expansions/pics/53799107.jpg
expansions/pics/53799107.jpg
expansions/pics/53799107.jpg
expansions/pics/53799107.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53799108.jpg

12.6 KB | W: | H:

expansions/pics/53799108.jpg

80.7 KB | W: | H:

expansions/pics/53799108.jpg
expansions/pics/53799108.jpg
expansions/pics/53799108.jpg
expansions/pics/53799108.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53799110.jpg

11.2 KB | W: | H:

expansions/pics/53799110.jpg

75.7 KB | W: | H:

expansions/pics/53799110.jpg
expansions/pics/53799110.jpg
expansions/pics/53799110.jpg
expansions/pics/53799110.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53799111.jpg

11.9 KB | W: | H:

expansions/pics/53799111.jpg

76.5 KB | W: | H:

expansions/pics/53799111.jpg
expansions/pics/53799111.jpg
expansions/pics/53799111.jpg
expansions/pics/53799111.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53799114.jpg

12.2 KB | W: | H:

expansions/pics/53799114.jpg

79.7 KB | W: | H:

expansions/pics/53799114.jpg
expansions/pics/53799114.jpg
expansions/pics/53799114.jpg
expansions/pics/53799114.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53799118.jpg

10.4 KB | W: | H:

expansions/pics/53799118.jpg

66.1 KB | W: | H:

expansions/pics/53799118.jpg
expansions/pics/53799118.jpg
expansions/pics/53799118.jpg
expansions/pics/53799118.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53799129.jpg

10.1 KB | W: | H:

expansions/pics/53799129.jpg

65.9 KB | W: | H:

expansions/pics/53799129.jpg
expansions/pics/53799129.jpg
expansions/pics/53799129.jpg
expansions/pics/53799129.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53799130.jpg

13.8 KB | W: | H:

expansions/pics/53799130.jpg

91.7 KB | W: | H:

expansions/pics/53799130.jpg
expansions/pics/53799130.jpg
expansions/pics/53799130.jpg
expansions/pics/53799130.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53799183.jpg

17.6 KB | W: | H:

expansions/pics/53799183.jpg

83.8 KB | W: | H:

expansions/pics/53799183.jpg
expansions/pics/53799183.jpg
expansions/pics/53799183.jpg
expansions/pics/53799183.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910202.jpg

11.5 KB | W: | H:

expansions/pics/9910202.jpg

50.3 KB | W: | H:

expansions/pics/9910202.jpg
expansions/pics/9910202.jpg
expansions/pics/9910202.jpg
expansions/pics/9910202.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910501.jpg

11.6 KB | W: | H:

expansions/pics/9910501.jpg

49.7 KB | W: | H:

expansions/pics/9910501.jpg
expansions/pics/9910501.jpg
expansions/pics/9910501.jpg
expansions/pics/9910501.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910503.jpg

12.6 KB | W: | H:

expansions/pics/9910503.jpg

54.7 KB | W: | H:

expansions/pics/9910503.jpg
expansions/pics/9910503.jpg
expansions/pics/9910503.jpg
expansions/pics/9910503.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910505.jpg

12 KB | W: | H:

expansions/pics/9910505.jpg

49.7 KB | W: | H:

expansions/pics/9910505.jpg
expansions/pics/9910505.jpg
expansions/pics/9910505.jpg
expansions/pics/9910505.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910507.jpg

11.9 KB | W: | H:

expansions/pics/9910507.jpg

43.6 KB | W: | H:

expansions/pics/9910507.jpg
expansions/pics/9910507.jpg
expansions/pics/9910507.jpg
expansions/pics/9910507.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910512.jpg

10.8 KB | W: | H:

expansions/pics/9910512.jpg

45.6 KB | W: | H:

expansions/pics/9910512.jpg
expansions/pics/9910512.jpg
expansions/pics/9910512.jpg
expansions/pics/9910512.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910515.jpg

9.9 KB | W: | H:

expansions/pics/9910515.jpg

40.5 KB | W: | H:

expansions/pics/9910515.jpg
expansions/pics/9910515.jpg
expansions/pics/9910515.jpg
expansions/pics/9910515.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910521.jpg

13.3 KB | W: | H:

expansions/pics/9910521.jpg

55 KB | W: | H:

expansions/pics/9910521.jpg
expansions/pics/9910521.jpg
expansions/pics/9910521.jpg
expansions/pics/9910521.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910527.jpg

11.3 KB | W: | H:

expansions/pics/9910527.jpg

47.4 KB | W: | H:

expansions/pics/9910527.jpg
expansions/pics/9910527.jpg
expansions/pics/9910527.jpg
expansions/pics/9910527.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910723.jpg

11.3 KB | W: | H:

expansions/pics/9910723.jpg

48.5 KB | W: | H:

expansions/pics/9910723.jpg
expansions/pics/9910723.jpg
expansions/pics/9910723.jpg
expansions/pics/9910723.jpg
  • 2-up
  • Swipe
  • Onion skin
--白夜猫箱
local cm,m=GetID()
function cm.initial_effect(c)
--activate
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(TIMING_END_PHASE)
e1:SetRange(LOCATION_HAND)
e1:SetCost(cm.cost)
e1:SetOperation(cm.operation)
c:RegisterEffect(e1)
end
function cm.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 cm.operation(e,tp,eg,ep,ev,re,r,rp)
local ct=Duel.GetTurnCount()
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_CANNOT_ACTIVATE)
e1:SetTargetRange(1,0)
e1:SetCondition(function() return Duel.GetTurnCount()==ct+1 end)
e1:SetValue(aux.TRUE)
e1:SetReset(RESET_PHASE+PHASE_END,2)
Duel.RegisterEffect(e1,tp)
local e2=e1:Clone()
e2:SetTargetRange(0,1)
e2:SetCondition(function() return Duel.GetTurnCount()==ct+2 end)
e2:SetReset(RESET_PHASE+PHASE_END,3)
Duel.RegisterEffect(e2,tp)
end
\ No newline at end of file
......@@ -18,15 +18,16 @@ function c11533700.initial_effect(c)
e1:SetCost(c11533700.rrtcost)
e1:SetTarget(c11533700.rrttg)
e1:SetOperation(c11533700.rrtop)
c:RegisterEffect(e1)
--indes
c:RegisterEffect(e1)
--tohand
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:SetValue(1)
c:RegisterEffect(e2)
e2:SetCategory(CATEGORY_TOHAND)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e2:SetCode(EVENT_REMOVE)
e2:SetTarget(c11533700.thtg)
e2:SetOperation(c11533700.thop)
c:RegisterEffect(e2)
--rl and disable
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_RELEASE+CATEGORY_DISABLE)
......@@ -39,6 +40,21 @@ function c11533700.initial_effect(c)
e3:SetOperation(c11533700.rdisop)
c:RegisterEffect(e3)
end
function c11533700.thfilter(c)
return c:IsSetCard(0xb4) and c:IsAbleToHand()
end
function c11533700.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c11533700.thfilter,tp,LOCATION_REMOVED,0,1,e:GetHandler()) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_REMOVED)
end
function c11533700.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c11533700.thfilter,tp,LOCATION_REMOVED,0,1,1,e:GetHandler())
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
function c11533700.mat_filter(c)
return not c:IsCode(11533700)
end
......@@ -46,6 +62,12 @@ function c11533700.rrtcost(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 c11533700.rrfil1(c)
return c:IsSetCard(0xb4) and c:IsReleasable()
end
function c11533700.rrfil2(c)
return c:IsSetCard(0xb4) and c:IsAbleToRemove()
end
function c11533700.rrfil(c)
if not c:IsSetCard(0xb4) then return false end
if c:IsLocation(LOCATION_HAND) then
......@@ -55,19 +77,16 @@ function c11533700.rrfil(c)
else return false end
end
function c11533700.rrttg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c11533700.rrfil,tp,LOCATION_HAND,0,1,e:GetHandler()) end
Duel.SetOperationInfo(0,CATEGORY_RELEASE,nil,1,tp,LOCATION_HAND)
local b1=Duel.IsExistingMatchingCard(c11533700.rrfil1,tp,LOCATION_HAND,0,1,e:GetHandler()) and Duel.IsExistingMatchingCard(Card.IsAbleToDeck,tp,LOCATION_GRAVE,LOCATION_GRAVE,3,nil)
local b2=Duel.IsExistingMatchingCard(c11533700.rrfil2,tp,0,LOCATION_GRAVE,1,e:GetHandler()) and Duel.IsExistingMatchingCard(Card.IsAbleToDeck,tp,LOCATION_GRAVE,LOCATION_GRAVE,5,nil)
if chk==0 then return b1 or b2 end
Duel.SetOperationInfo(0,CATEGORY_TODECK,nil,0,tp,LOCATION_GRAVE)
end
function c11533700.rrtop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=Duel.GetMatchingGroup(c11533700.rrfil,tp,LOCATION_HAND,0,nil)
if g:GetCount()>0 then
local tc=g:Select(tp,1,1,nil):GetFirst()
local x=0
if tc:IsLocation(LOCATION_HAND) then
local b1=tc:IsReleasable()
local b2=tc:IsAbleToGrave()
local op=0
local c=e:GetHandler()
local b1=Duel.IsExistingMatchingCard(c11533700.rrfil1,tp,LOCATION_HAND,0,1,c) and Duel.IsExistingMatchingCard(Card.IsAbleToDeck,tp,LOCATION_GRAVE,LOCATION_GRAVE,3,nil)
local b2=Duel.IsExistingMatchingCard(c11533700.rrfil2,tp,LOCATION_GRAVE,0,1,c) and Duel.IsExistingMatchingCard(Card.IsAbleToDeck,tp,LOCATION_GRAVE,LOCATION_GRAVE,5,nil)
local op=0
if b1 and b2 then
op=Duel.SelectOption(tp,aux.Stringid(11533700,2),aux.Stringid(11533700,3))
elseif b1 then
......@@ -75,20 +94,31 @@ function c11533700.rrtop(e,tp,eg,ep,ev,re,r,rp)
elseif b2 then
op=Duel.SelectOption(tp,aux.Stringid(11533700,3))+1
end
if op==0 then
x=Duel.Release(tc,REASON_EFFECT)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local g1=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c11533700.rrfil1),tp,LOCATION_HAND,0,1,1,c)
if g1:GetCount()>0 and Duel.Release(g1,REASON_EFFECT)>0 and Duel.IsExistingMatchingCard(aux.NecroValleyFilter(Card.IsAbleToRemove),tp,LOCATION_GRAVE,LOCATION_GRAVE,3,nil) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local rrg=Duel.SelectMatchingCard(tp,Card.IsAbleToRemove,tp,LOCATION_GRAVE,LOCATION_GRAVE,3,3,nil)
if rrg:GetCount()>0 then
Duel.SendtoDeck(rrg,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)
Duel.ShuffleDeck(tp)
end
end
elseif op==1 then
x=Duel.SendtoGrave(tc,REASON_EFFECT)
end
--elseif tc:IsLocation(LOCATION_GRAVE) then
--x=Duel.Remove(tc,POS_FACEUP,REASON_EFFECT)
end
if x>0 and Duel.IsExistingMatchingCard(Card.IsAbleToDeck,tp,LOCATION_GRAVE,LOCATION_GRAVE,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(11533700,0)) then
Duel.BreakEffect()
local sg=Duel.SelectMatchingCard(tp,Card.IsAbleToDeck,tp,LOCATION_GRAVE,LOCATION_GRAVE,1,3,nil)
Duel.SendtoDeck(sg,nil,2,REASON_EFFECT)
end
end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g3=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c11533700.rrfil2),tp,LOCATION_GRAVE,0,1,1,c)
if g3:GetCount()>0 and Duel.Remove(g3,POS_FACEUP,REASON_EFFECT)>0 and Duel.IsExistingMatchingCard(aux.NecroValleyFilter(Card.IsAbleToRemove),tp,LOCATION_GRAVE,LOCATION_GRAVE,5,nil) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local rrg=Duel.SelectMatchingCard(tp,Card.IsAbleToRemove,tp,LOCATION_GRAVE,LOCATION_GRAVE,5,5,nil)
if rrg:GetCount()>0 then
Duel.SendtoDeck(rrg,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)
Duel.ShuffleDeck(tp)
end
end
end
end
function c11533700.rlfil(c)
return c:IsSetCard(0xb4) and (c:IsReleasable() or c:IsAbleToGrave())
......
......@@ -20,7 +20,7 @@ function c11533701.initial_effect(c)
c:RegisterEffect(e1)
--remove
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_REMOVE)
e2:SetCategory(CATEGORY_REMOVE+CATEGORY_TOGRAVE)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetProperty(EFFECT_FLAG_DELAY)
......@@ -79,34 +79,43 @@ function c11533701.rmcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_RITUAL) and mg and mg:FilterCount(Card.IsSetCard,nil,0xb4)==mg:GetCount()
end
function c11533701.rmtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToRemove,tp,LOCATION_DECK,0,1,nil) and Duel.IsExistingMatchingCard(Card.IsAbleToRemove,tp,0,LOCATION_DECK,1,nil) and Duel.IsExistingMatchingCard(Card.IsAbleToRemove,tp,0,LOCATION_EXTRA,1,nil) and Duel.IsExistingMatchingCard(Card.IsAbleToRemove,tp,LOCATION_GRAVE,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,1,PLAYER_ALL,LOCATION_DECK+LOCATION_EXTRA)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToGrave,tp,LOCATION_DECK,0,1,nil) and Duel.IsExistingMatchingCard(Card.IsAbleToGrave,tp,0,LOCATION_DECK,1,nil) and Duel.IsExistingMatchingCard(Card.IsAbleToGrave,tp,0,LOCATION_EXTRA,1,nil) and Duel.IsExistingMatchingCard(Card.IsAbleToGrave,tp,LOCATION_GRAVE,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,4,PLAYER_ALL,LOCATION_DECK+LOCATION_EXTRA)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,3,PLAYER_ALL,LOCATION_GRAVE)
end
function c11533701.rmop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g1=Duel.GetDecktopGroup(tp,1)
local mn=0
if g1:GetCount()>0 then
Duel.ConfirmCards(1-tp,g1)
Duel.Remove(g1,POS_FACEUP,REASON_EFFECT)
if Duel.SendtoGrave(g1,REASON_EFFECT)>0 then mn=mn+1 end
end
local g2=Duel.GetDecktopGroup(1-tp,1)
if g2:GetCount()>0 then
Duel.ConfirmCards(tp,g2)
Duel.Remove(g2,POS_FACEUP,REASON_EFFECT)
if Duel.SendtoGrave(g2,REASON_EFFECT)>0 then mn=mn+1 end
end
local g3=Duel.GetFieldGroup(tp,0,LOCATION_EXTRA)
if g3:GetCount()>0 then
Duel.ConfirmCards(tp,g3)
local rg=g3:Select(tp,1,1,nil)
Duel.Remove(rg,POS_FACEUP,REASON_EFFECT)
if Duel.SendtoGrave(rg,REASON_EFFECT)>0 then mn=mn+1 end
end
local g4=Duel.GetFieldGroup(tp,LOCATION_GRAVE,0)
local g4=Duel.GetFieldGroup(tp,LOCATION_EXTRA,0)
if g4:GetCount()>0 then
local rg=g4:Select(tp,1,1,nil)
Duel.Remove(rg,POS_FACEUP,REASON_EFFECT)
if Duel.SendtoGrave(rg,REASON_EFFECT)>0 then mn=mn+1 end
end
end
if mn>0 and Duel.IsExistingMatchingCard(Card.IsAbleToRemove,tp,LOCATION_GRAVE,LOCATION_GRAVE,3,nil) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
Duel.BreakEffect()
local rrg=Duel.SelectMatchingCard(tp,Card.IsAbleToRemove,tp,LOCATION_GRAVE,LOCATION_GRAVE,3,3,nil)
if rrg:GetCount()>0 then
Duel.Remove(rrg,POS_FACEUP,REASON_EFFECT)
end
end
end
function c11533701.xxrmtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToRemove,tp,LOCATION_DECK+LOCATION_GRAVE,LOCATION_DECK+LOCATION_HAND+LOCATION_EXTRA+LOCATION_GRAVE+LOCATION_ONFIELD,1,nil) end
......
......@@ -53,14 +53,41 @@ function c11533702.initial_effect(c)
e3:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
e3:SetRange(LOCATION_FZONE)
e3:SetTargetRange(LOCATION_MZONE,0)
e3:SetTarget(function(e,c)
return c:IsSetCard(0xb4) and c:IsType(TYPE_RITUAL) end)
e3:SetValue(function(e,c)
return c:IsSummonLocation(LOCATION_EXTRA) end)
e3:SetCondition(function(e)
local tp=e:GetHandlerPlayer()
return Duel.GetMatchingGroupCount(function(c) return c:IsFaceup() and c:IsSetCard(0xb4) and c:IsType(TYPE_RITUAL) end,tp,LOCATION_MZONE,0,nil)>=3 end)
e3:SetTarget(
function(e,c)
return c:IsType(TYPE_RITUAL)
end)
e3:SetValue(
function(e,c)
return c:IsSummonLocation(LOCATION_EXTRA)
end)
e3:SetCondition(
function(e)
local tp=e:GetHandlerPlayer()
return Duel.GetMatchingGroupCount(function(c) return c:IsFaceup() and (c:IsSetCard(0xb4) or c:IsType(TYPE_RITUAL)) end,tp,LOCATION_MZONE,0,nil)>=3
end)
c:RegisterEffect(e3)
--immune
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD)
e4:SetCode(EFFECT_IMMUNE_EFFECT)
e4:SetRange(LOCATION_FZONE)
e4:SetTarget(
function(e,c)
return c:IsType(TYPE_RITUAL)
end)
e4:SetValue(
function(e,c)
return c:IsSummonLocation(LOCATION_EXTRA)
end)
e4:SetCondition(
function(e)
local tp=e:GetHandlerPlayer()
return Duel.GetMatchingGroupCount(function(c) return c:IsFaceup() and (c:IsSetCard(0xb4) or c:IsType(TYPE_RITUAL)) end,tp,LOCATION_MZONE,0,nil)>=3
end)
c:RegisterEffect(e4)
end
function c11533702.filter(c)
return c:IsSetCard(0xb4) and c:IsType(TYPE_MONSTER) and c:IsAbleToHand()
......
......@@ -82,7 +82,7 @@ function c11533717.atkop(e,tp,eg,ep,ev,re,r,rp)
return c:IsType(TYPE_RITUAL) and c:IsAttribute(ATTRIBUTE_WATER) end)
e1:SetValue(function(e)
local tp=e:GetHandlerPlayer()
return Duel.GetMatchingGroupCount(Card.IsAttribute,tp,LOCATION_GRAVE,0,nil,ATTRIBUTE_WATER)*300 end)
return Duel.GetMatchingGroupCount(Card.IsAttribute,tp,LOCATION_GRAVE+LOCATION_MZONE,0,nil,ATTRIBUTE_WATER)*300 end)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
......
......@@ -5,9 +5,10 @@ function c11560718.initial_effect(c)
aux.AddXyzProcedureLevelFree(c,c11560718.mfilter,c11560718.xyzcheck,2,99)
--xyz
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
-- e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_BATTLED)
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1,11560718)
--e1:SetCondition(function(e)
--return not e:GetHandler():IsStatus(STATUS_BATTLE_DESTROYED) end)
......@@ -16,16 +17,16 @@ function c11560718.initial_effect(c)
c:RegisterEffect(e1)
--get effect
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_XMATERIAL+EFFECT_TYPE_TRIGGER_O)
e2:SetType(EFFECT_TYPE_XMATERIAL+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
-- e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e2:SetCondition(c11560718.atkcon)
e2:SetOperation(c11560718.atkop)
c:RegisterEffect(e2)
end
c11560718.SetCard_SR_Saier=true
function c11560718.mfilter(c,xyzc)
return c:IsXyzLevel(xyzc,2) or c:IsRank(2)
return c:IsXyzLevel(xyzc,2) or c:IsRank(2) or c:IsLink(2)
end
function c11560718.xyzcheck(g)
return true
......@@ -40,11 +41,11 @@ function c11560718.xyztg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return aux.MustMaterialCheck(c,tp,EFFECT_MUST_BE_XMATERIAL)
and Duel.IsExistingMatchingCard(c11560718.xyzfil,tp,LOCATION_EXTRA,0,1,nil,e,tp,c) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
-- Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end
function c11560718.xyzop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsFaceup() and c:IsRelateToEffect(e) and c:IsControler(tp) and not c:IsImmuneToEffect(e) and aux.MustMaterialCheck(c,tp,EFFECT_MUST_BE_XMATERIAL) then
if c:IsFaceup() and c:IsControler(tp) and not c:IsImmuneToEffect(e) and aux.MustMaterialCheck(c,tp,EFFECT_MUST_BE_XMATERIAL) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c11560718.xyzfil,tp,LOCATION_EXTRA,0,1,1,nil,e,tp,c)
local tc=g:GetFirst()
......@@ -69,9 +70,9 @@ function c11560718.efop(e,tp,eg,ep,ev,re,r,rp)
Debug.Message("x")
local rc=c:GetReasonCard()
local e1=Effect.CreateEffect(rc)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
-- e1:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e1:SetOperation(c11560718.atkop)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
rc:RegisterEffect(e1,true)
......
......@@ -29,7 +29,7 @@ function c11560719.initial_effect(c)
e2:SetRange(LOCATION_MZONE)
e2:SetValue(function(e)
local tp=e:GetHandlerPlayer()
return math.abs(8000-Duel.GetLP(1-tp))/2 end)
return math.abs(8000-Duel.GetLP(1-tp)) end)
e2:SetCondition(function(e)
return e:GetHandler():GetOverlayGroup():IsExists(Card.IsType,1,nil,TYPE_XYZ) end)
c:RegisterEffect(e2)
......@@ -58,7 +58,7 @@ function c11560719.initial_effect(c)
end
c11560719.SetCard_SR_Saier=true
function c11560719.mfilter(c,xyzc)
return c:IsXyzLevel(xyzc,2) or c:IsRank(2)
return c:IsXyzLevel(xyzc,2) or c:IsRank(2) or c:IsLink(2)
end
function c11560719.xyzcheck(g)
return true
......
......@@ -13,23 +13,19 @@ function s.initial_effect(c)
e1:SetOperation(s.disop)
c:RegisterEffect(e1)
end
function s.costfilter(c)
return c:IsRace(RACE_FAIRY) and c:IsAbleToGraveAsCost()
function s.sgfil(c)
return c:IsCode(44665365) and c:IsFaceup()
end
function s.discost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return c:IsAbleToGraveAsCost() and
Duel.IsExistingMatchingCard(s.costfilter,tp,LOCATION_HAND,0,1,c) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,s.costfilter,tp,LOCATION_HAND,0,1,1,c)
g:AddCard(c)
Duel.SendtoGrave(g,REASON_COST)
if chk==0 then return c:IsAbleToGraveAsCost() end
Duel.SendtoGrave(c,REASON_COST)
end
function s.filter(c,tp)
return c:IsSummonPlayer(tp)
end
function s.discon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetCurrentChain()==0 and rp==1-tp and eg:IsExists(s.filter,1,nil,1-tp)
return Duel.GetCurrentChain()==0 and rp==1-tp and eg:IsExists(s.filter,1,nil,1-tp) and Duel.IsExistingMatchingCard(s.sgfil,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil)
end
function s.distg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
......
......@@ -4,7 +4,7 @@ function s.initial_effect(c)
--to hand
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,0))
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH+CATEGORY_RELEASE)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_SUMMON_SUCCESS)
......@@ -17,17 +17,26 @@ function s.initial_effect(c)
c:RegisterEffect(e2)
end
function s.thfilter(c)
return c:IsAttribute(ATTRIBUTE_LIGHT) and c:IsRace(RACE_FAIRY) and c:IsAbleToHand()
return (c:IsAttribute(ATTRIBUTE_LIGHT) and c:IsRace(RACE_FAIRY) and c:IsAttack(300) and c:IsDefense(500) and c:IsLevel(2))
or c:IsCode(44665365) or c:IsCode(48546368) or (c:IsType(TYPE_SPELL) and c:IsType(TYPE_RITUAL)) and c:IsAbleToHand()
end
function s.rfilter(c)
return c:IsAttribute(ATTRIBUTE_LIGHT) and c:IsRace(RACE_FAIRY) and c:IsReleasableByEffect()
end
function s.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(s.thfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
Duel.SetOperationInfo(0,CATEGORY_RELEASE,nil,1,tp,LOCATION_HAND+LOCATION_MZONE)
end
function s.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,s.thfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local rg=Duel.SelectMatchingCard(tp,s.rfilter,tp,LOCATION_HAND+LOCATION_MZONE,0,1,1,nil)
if Duel.Release(rg,REASON_EFFECT)~=0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,s.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
end
\ No newline at end of file
......@@ -19,7 +19,7 @@ function s.initial_effect(c)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCode(EVENT_TO_GRAVE)
e2:SetCountLimit(1,id+100)
e2:SetCountLimit(1,id)
e2:SetCondition(s.thcon)
e2:SetTarget(s.thtg)
e2:SetOperation(s.thop)
......@@ -27,7 +27,8 @@ function s.initial_effect(c)
end
function s.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return not c:IsPublic() end
if chk==0 then return c:IsLocation(LOCATION_HAND) end
Duel.SendtoGrave(c,REASON_COST)
end
function s.spfilter(c,e,tp)
return c:IsLevelBelow(2) and c:IsAttribute(ATTRIBUTE_LIGHT) and c:IsRace(RACE_FAIRY) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
......
......@@ -11,7 +11,7 @@ function s.initial_effect(c)
--to hand
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(id,0))
e2:SetCategory(CATEGORY_DESTROY)
e2:SetCategory(CATEGORY_TODECK)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
......@@ -24,18 +24,18 @@ function s.splimit(e,se,sp,st)
return se:IsActiveType(TYPE_MONSTER) and se:GetHandler():IsRace(RACE_FAIRY)
end
function s.thfilter(c)
return c:IsRace(RACE_FAIRY) and c:IsAttribute(ATTRIBUTE_LIGHT) and c:IsAbleToHand()
return c:IsRace(RACE_FAIRY) and c:IsAttribute(ATTRIBUTE_LIGHT) and c:IsAbleToDeck()
end
function s.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(s.thfilter,tp,LOCATION_GRAVE,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,0,0,LOCATION_GRAVE)
if chk==0 then return Duel.IsExistingMatchingCard(s.thfilter,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TODECK,nil,0,0,LOCATION_GRAVE+LOCATION_REMOVED)
end
function s.thop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=Duel.GetMatchingGroup(s.thfilter,tp,LOCATION_GRAVE,0,nil,tp)
local g=Duel.GetMatchingGroup(s.thfilter,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,nil,tp)
if #g==0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
Duel.SendtoHand(g:Select(tp,1,2,nil),nil,REASON_EFFECT)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
Duel.SendtoDeck(g:Select(tp,1,2,nil),nil,2,REASON_EFFECT)
local tg=Duel.GetOperatedGroup()
if #tg>0 and c:IsLocation(LOCATION_MZONE) and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then
local lv=tg:Select(tp,1,2,nil):GetSum(Card.GetLevel)
......
......@@ -45,25 +45,36 @@ function s.effop(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterFlagEffect(re:GetHandler():GetControler(),id,RESET_PHASE+PHASE_END,0,1)
end
function s.filter(c)
return c:IsAttribute(ATTRIBUTE_LIGHT) and c:IsRace(RACE_FAIRY) and (c:IsLevel(2) and c:IsAttack(300,500) or c:IsType(TYPE_RITUAL) and c:IsType(TYPE_MONSTER)) and c:IsAbleToHand()
return c:IsAttribute(ATTRIBUTE_LIGHT) and c:IsRace(RACE_FAIRY) and (c:IsLevel(2) and c:IsAttack(300) or c:IsType(TYPE_RITUAL) and c:IsType(TYPE_MONSTER)) and c:IsAbleToHand()
end
function s.activate(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(s.filter,tp,LOCATION_DECK,0,nil)
if g:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(id,0)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local ct=1
if Duel.GetFieldGroupCount(tp,LOCATION_MZONE,0)==0
and Duel.GetFieldGroupCount(tp,0,LOCATION_MZONE)>0 then ct=2 end
--if Duel.GetFieldGroupCount(tp,LOCATION_MZONE,0)==0
--and Duel.GetFieldGroupCount(tp,0,LOCATION_MZONE)>0 then ct=2 end
local sg=g:Select(tp,1,ct,nil)
Duel.SendtoHand(sg,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,sg)
end
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e2:SetTargetRange(1,0)
e2:SetTarget(s.splimit)
e2:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e2,tp)
end
function s.splimit(e,c)
return not (c:IsAttribute(ATTRIBUTE_LIGHT) and c:IsRace(RACE_FAIRY))
end
function s.atkfilter(c)
return c:IsFaceupEx() and c:IsAttribute(ATTRIBUTE_LIGHT) and c:IsRace(RACE_FAIRY)
end
function s.val(e,c)
return Duel.GetMatchingGroupCount(s.atkfilter,c:GetControler(),LOCATION_MZONE+LOCATION_GRAVE,0,nil)*300
return Duel.GetMatchingGroupCount(s.atkfilter,c:GetControler(),LOCATION_MZONE+LOCATION_GRAVE,0,nil)*200
end
function s.thfilter(c)
return c:IsAttribute(ATTRIBUTE_LIGHT) and c:IsRace(RACE_FAIRY) and c:IsAbleToHand()
......
......@@ -9,9 +9,9 @@ function cm.initial_effect(c)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetRange(LOCATION_EXTRA)
if max==nil then max=c:GetLink() end
e1:SetCondition(cm.LinkCondition(function(c) return c:IsFaceup() and c:IsSetCard(0x10db) and not c:IsCode(11634031) end,1,1,nil))
e1:SetTarget(cm.LinkTarget(function(c) return c:IsFaceup() and c:IsSetCard(0x10db) and not c:IsCode(11634031) end,1,1,nil))
e1:SetOperation(cm.LinkOperation(function(c) return c:IsFaceup() and c:IsSetCard(0x10db) and not c:IsCode(11634031) end,1,1,nil))
e1:SetCondition(cm.LinkCondition(function(c) return c:IsFaceup() and c:IsSetCard(0x10db) and not c:IsCode(11634031) end,2,2,nil))
e1:SetTarget(cm.LinkTarget(function(c) return c:IsFaceup() and c:IsSetCard(0x10db) and not c:IsCode(11634031) end,2,2,nil))
e1:SetOperation(cm.LinkOperation(function(c) return c:IsFaceup() and c:IsSetCard(0x10db) and not c:IsCode(11634031) end,2,2,nil))
e1:SetValue(SUMMON_TYPE_LINK)
c:RegisterEffect(e1)
--extra material
......
local s,id,o=GetID()
function s.initial_effect(c)
local e_sp=Effect.CreateEffect(c)
e_sp:SetDescription(aux.Stringid(id,0))
e_sp:SetCategory(CATEGORY_SPECIAL_SUMMON)
e_sp:SetType(EFFECT_TYPE_IGNITION)
e_sp:SetRange(LOCATION_GRAVE)
e_sp:SetCountLimit(1,id)
e_sp:SetCondition(s.spcon)
e_sp:SetCost(s.spcost)
e_sp:SetTarget(s.sptg)
e_sp:SetOperation(s.spop)
c:RegisterEffect(e_sp)
Duel.AddCustomActivityCounter(id,ACTIVITY_SPSUMMON,s.counterfilter)
if not s.global_check then
s.global_check=true
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD)
ge1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_SET_AVAILABLE+EFFECT_FLAG_IGNORE_RANGE)
ge1:SetCode(EFFECT_MATERIAL_CHECK)
ge1:SetValue(s.valcheck)
Duel.RegisterEffect(ge1,0)
end
end
function s.valcheck(e,c)
local g=c:GetMaterial()
if g:IsExists(Card.IsLinkCode,1,nil,c:GetCode()) then
c:RegisterFlagEffect(id,RESET_EVENT+0x4fe0000,0,1)
end
end
function s.counterfilter(c)
return c:IsAttribute(ATTRIBUTE_FIRE)
end
function s.spcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsEnvironment(1295111)
end
function s.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetCustomActivityCount(id,tp,ACTIVITY_SPSUMMON)==0 end
local e_lmt=Effect.CreateEffect(e:GetHandler())
e_lmt:SetType(EFFECT_TYPE_FIELD)
e_lmt:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH)
e_lmt:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e_lmt:SetTarget(s.splimit)
e_lmt:SetTargetRange(1,0)
e_lmt:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e_lmt,tp)
end
function s.splimit(e,c,sump,sumtype,sumpos,targetp,se)
return not c:IsAttribute(ATTRIBUTE_FIRE)
end
function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end
function s.lfilter(c)
return c:IsFaceup() and c:IsSetCard(0x119) and c:IsSummonType(SUMMON_TYPE_LINK) and c:GetFlagEffect(id)~=0
end
function s.filter(c,e,tp)
return c:IsRace(RACE_CYBERSE) and c:IsAttribute(ATTRIBUTE_FIRE) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_DEFENSE)
end
function s.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)~=0 and Duel.IsExistingMatchingCard(s.lfilter,tp,LOCATION_MZONE,0,1,nil) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsExistingMatchingCard(aux.NecroValleyFilter(s.filter),tp,LOCATION_HAND+LOCATION_GRAVE,0,1,nil,e,tp) and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(s.filter),tp,LOCATION_HAND+LOCATION_GRAVE,0,1,1,nil,e,tp)
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP_DEFENSE)
end
end
local s,id,o=GetID()
function s.initial_effect(c)
c:EnableReviveLimit()
aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkAttribute,ATTRIBUTE_FIRE),2)
local e_sp=Effect.CreateEffect(c)
e_sp:SetDescription(aux.Stringid(id,0))
e_sp:SetCategory(CATEGORY_SPECIAL_SUMMON)
e_sp:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e_sp:SetCode(EVENT_SPSUMMON_SUCCESS)
e_sp:SetProperty(EFFECT_FLAG_DELAY)
e_sp:SetCountLimit(1,id)
e_sp:SetCondition(s.condition)
e_sp:SetTarget(s.target)
e_sp:SetOperation(s.operation)
c:RegisterEffect(e_sp)
local e_mtchk=Effect.CreateEffect(c)
e_mtchk:SetType(EFFECT_TYPE_SINGLE)
e_mtchk:SetCode(EFFECT_MATERIAL_CHECK)
e_mtchk:SetValue(s.valcheck)
e_mtchk:SetLabelObject(e_sp)
c:RegisterEffect(e_mtchk)
local e_atk=Effect.CreateEffect(c)
e_atk:SetDescription(aux.Stringid(id,2))
e_atk:SetCategory(CATEGORY_RELEASE)
e_atk:SetType(EFFECT_TYPE_IGNITION)
e_atk:SetRange(LOCATION_MZONE)
e_atk:SetCountLimit(1,id+o)
e_atk:SetTarget(s.rltg)
e_atk:SetOperation(s.rlop)
c:RegisterEffect(e_atk)
end
function s.valcheck(e,c)
local g=c:GetMaterial()
if g:IsExists(Card.IsLinkCode,1,nil,id) then
e:GetLabelObject():SetLabel(1)
else
e:GetLabelObject():SetLabel(0)
end
end
function s.condition(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_LINK)
end
function s.filter(c,e,tp,zone)
return c:IsRace(RACE_CYBERSE) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP,tp,zone)
end
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
local zone=e:GetHandler():GetLinkedZone(tp)
return Duel.IsExistingMatchingCard(s.filter,tp,LOCATION_HAND,0,1,nil,e,tp,zone)
end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND)
end
function s.spfilter(c,e,tp)
return c:IsRace(RACE_CYBERSE) and c:IsAttribute(ATTRIBUTE_FIRE) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function s.operation(e,tp,eg,ep,ev,re,r,rp)
local zone=e:GetHandler():GetLinkedZone(tp)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE,tp,LOCATION_REASON_TOFIELD,zone)
if ft<=0 then return end
if Duel.IsPlayerAffectedByEffect(tp,59822133) then ft=1 end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,s.filter,tp,LOCATION_HAND,0,1,ft,nil,e,tp,zone)
if g:GetCount()>0 and Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP,zone)~=0 and e:GetHandler():IsRelateToEffect(e) and e:GetLabel()==1 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsExistingMatchingCard(aux.NecroValleyFilter(s.spfilter),tp,LOCATION_GRAVE,0,1,nil,e,tp) and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(s.spfilter),tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
Duel.SpecialSummon(sg,0,tp,tp,false,false,POS_FACEUP)
end
end
function s.rlf(c,tp,lg)
return c:IsReleasableByEffect() and lg:IsContains(c) and Duel.IsExistingMatchingCard(Card.IsReleasableByEffect,tp,0,LOCATION_MZONE,1,c)
end
function s.rltg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return Duel.IsExistingMatchingCard(s.rlf,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil,tp,e:GetHandler():GetLinkedGroup()) end
Duel.SetOperationInfo(0,CATEGORY_RELEASE,Group.__add(e:GetHandler():GetLinkedGroup():Filter(Card.IsReleasableByEffect,nil),Duel.GetMatchingGroup(Card.IsReleasableByEffect,tp,0,LOCATION_MZONE,1,nil)),2,0,0)
end
function s.rlop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local g1=Duel.SelectMatchingCard(tp,s.rlf,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil,tp,c:GetLinkedGroup())
if #g1==0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local g2=Duel.SelectMatchingCard(tp,Card.IsReleasableByEffect,tp,0,LOCATION_MZONE,1,1,g1)
g1:Merge(g2)
Duel.HintSelection(g1)
local atk=g1:GetSum(Card.GetAttack)
if Duel.Release(g1,REASON_EFFECT)==0 then return end
local atk=Duel.GetOperatedGroup():GetSum(Card.GetPreviousAttackOnField)
if c:IsFaceup() and c:IsRelateToEffect(e) then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(atk)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
c:RegisterEffect(e1)
end
end
local s,id,o=GetID()
function s.initial_effect(c)
c:EnableReviveLimit()
aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkAttribute,ATTRIBUTE_FIRE),3)
local e_name=Effect.CreateEffect(c)
e_name:SetDescription(aux.Stringid(id,0))
e_name:SetCategory(CATEGORY_SPECIAL_SUMMON)
e_name:SetType(EFFECT_TYPE_IGNITION)
e_name:SetRange(LOCATION_MZONE)
e_name:SetCountLimit(1,id)
e_name:SetCost(s.cost)
e_name:SetOperation(s.operation)
c:RegisterEffect(e_name)
local e_reg=Effect.CreateEffect(c)
e_reg:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e_reg:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e_reg:SetCode(EVENT_SPSUMMON_SUCCESS)
e_reg:SetCondition(s.matcon)
e_reg:SetOperation(s.matop)
c:RegisterEffect(e_reg)
local e_mtchk=Effect.CreateEffect(c)
e_mtchk:SetType(EFFECT_TYPE_SINGLE)
e_mtchk:SetCode(EFFECT_MATERIAL_CHECK)
e_mtchk:SetValue(s.valcheck)
e_mtchk:SetLabelObject(e_reg)
c:RegisterEffect(e_mtchk)
local e_cgatt=Effect.CreateEffect(c)
e_cgatt:SetType(EFFECT_TYPE_FIELD)
e_cgatt:SetCode(EFFECT_CHANGE_ATTRIBUTE)
e_cgatt:SetRange(LOCATION_MZONE)
e_cgatt:SetTargetRange(0,LOCATION_MZONE)
e_cgatt:SetValue(ATTRIBUTE_FIRE)
e_cgatt:SetCondition(function(e)return e:GetHandler():GetFlagEffect(id)>0 end)
c:RegisterEffect(e_cgatt)
local e_exmat_1=Effect.CreateEffect(c)
e_exmat_1:SetDescription(aux.Stringid(id,5))
e_exmat_1:SetType(EFFECT_TYPE_FIELD)
e_exmat_1:SetProperty(EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_IGNORE_IMMUNE)
e_exmat_1:SetCode(EFFECT_SPSUMMON_PROC)
e_exmat_1:SetRange(LOCATION_EXTRA)
e_exmat_1:SetLabelObject(c)
e_exmat_1:SetCondition(s.linkcon)
e_exmat_1:SetOperation(s.linkop)
e_exmat_1:SetValue(SUMMON_TYPE_LINK)
local e_exmat_2=Effect.CreateEffect(c)
e_exmat_2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_GRANT)
e_exmat_2:SetRange(LOCATION_MZONE)
e_exmat_2:SetTargetRange(LOCATION_EXTRA,0)
e_exmat_2:SetTarget(s.mattg)
e_exmat_2:SetLabelObject(e_exmat_1)
c:RegisterEffect(e_exmat_2)
end
function s.cfilter1(c)
return c:IsSetCard(0x119) and not c:IsPublic()
end
function s.cfilter2(c)
return c:IsSetCard(0x119) and c:IsType(TYPE_FUSION+TYPE_SYNCHRO+TYPE_XYZ+TYPE_LINK) and c:IsAbleToExtraAsCost()
end
function s.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local b1=Duel.IsExistingMatchingCard(s.cfilter1,tp,LOCATION_EXTRA,0,1,nil)
local b2=Duel.IsExistingMatchingCard(s.cfilter2,tp,LOCATION_GRAVE,0,1,nil)
if chk==0 then return b1 or b2 end
local op=aux.SelectFromOptions(tp,{b1,aux.Stringid(id,1)},{b2,aux.Stringid(id,2)})
if op==1 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONFIRM)
local g=Duel.SelectMatchingCard(tp,s.cfilter1,tp,LOCATION_EXTRA,0,1,1,nil)
e:SetLabel(g:GetFirst():GetCode())
Duel.ConfirmCards(1-tp,g)
elseif op==2 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(tp,s.cfilter2,tp,LOCATION_GRAVE,0,1,1,nil)
e:SetLabel(g:GetFirst():GetCode())
Duel.ConfirmCards(1-tp,g)
Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_COST)
end
end
function s.filter1(c,e)
return c:IsFaceup() and c:IsCanBeFusionMaterial() and not c:IsImmuneToEffect(e)
end
function s.spf(c,mg,e,tp,m,f,chkf)
return c:IsSetCard(0x119) and (c:IsSynchroSummonable(nil,mg) or c:IsXyzSummonable(mg) or c:IsLinkSummonable(mg) or (c:IsType(TYPE_FUSION) and (not f or f(c)) and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false) and c:CheckFusionMaterial(m,nil,chkf)))
end
function s.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local code=e:GetLabel()
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(id,3))
local cc=Duel.SelectMatchingCard(tp,function(c,code)return c:IsFaceup() and not c:IsCode(code)end,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil):GetFirst()
if not cc or cc:IsImmuneToEffect(e) then return end
Duel.HintSelection(Group.FromCards(cc))
local change_code=Effect.CreateEffect(c)
change_code:SetType(EFFECT_TYPE_SINGLE)
change_code:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
change_code:SetReset(RESET_EVENT+RESETS_STANDARD)
change_code:SetCode(EFFECT_CHANGE_CODE)
change_code:SetValue(code)
cc:RegisterEffect(change_code)
if c:GetFlagEffect(id)==0 then return end
local mg1=Duel.GetFusionMaterial(tp):Filter(aux.NOT(Card.IsImmuneToEffect),nil,e)
local mg2=Duel.GetMatchingGroup(s.filter1,tp,0,LOCATION_MZONE,nil,e)
mg1:Merge(mg2)
local lg=c:GetLinkedGroup():Filter(function(c,e,tp)return c:IsControler(tp) or not c:IsImmuneToEffect(e)end,nil,e,tp)
mg1=Group.__band(mg1,lg)
local sg1=Duel.GetMatchingGroup(s.spf,tp,LOCATION_EXTRA,0,nil,lg,e,tp,mg1,nil,chkf)
local mg3=nil
local sg2=nil
local ce=Duel.GetChainMaterial(tp)
if ce~=nil then
local fgroup=ce:GetTarget()
mg3=fgroup(ce,e,tp)
local mf=ce:GetValue()
sg1=Duel.GetMatchingGroup(s.spf,tp,LOCATION_EXTRA,0,nil,lg,e,tp,mg3,mf,chkf)
end
if (sg1:GetCount()>0 or (sg2~=nil and sg2:GetCount()>0)) and Duel.SelectYesNo(tp,aux.Stringid(id,4)) then
Duel.BreakEffect()
local sg=sg1:Clone()
if sg2 then sg:Merge(sg2) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tc=sg:Select(tp,1,1,nil):GetFirst()
if tc:IsType(TYPE_FUSION) then
if sg1:IsContains(tc) and (sg2==nil or not sg2:IsContains(tc) or not Duel.SelectYesNo(tp,ce:GetDescription())) then
local mat1=Duel.SelectFusionMaterial(tp,tc,mg1,nil,chkf)
tc:SetMaterial(mat1)
Duel.SendtoGrave(mat1,REASON_EFFECT+REASON_MATERIAL+REASON_FUSION)
Duel.BreakEffect()
Duel.SpecialSummon(tc,SUMMON_TYPE_FUSION,tp,tp,false,false,POS_FACEUP)
else
local mat2=Duel.SelectFusionMaterial(tp,tc,mg3,nil,chkf)
local fop=ce:GetOperation()
fop(ce,e,tp,tc,mat2)
end
tc:CompleteProcedure()
elseif tc:IsType(TYPE_SYNCHRO) then
Duel.SynchroSummon(tp,tc,nil,lg)
elseif tc:IsType(TYPE_XYZ) then
Duel.XyzSummon(tp,tc,lg)
elseif tc:IsType(TYPE_LINK) then
Duel.LinkSummon(tp,tc,lg)
end
end
end
function s.matcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_LINK) and e:GetLabel()==1
end
function s.matop(e,tp,eg,ep,ev,re,r,rp)
e:GetHandler():RegisterFlagEffect(id,RESET_EVENT+RESETS_STANDARD,0,1)
end
function s.valcheck(e,c)
local g=c:GetMaterial()
if g:IsExists(Card.IsLinkCode,1,nil,id) then
e:GetLabelObject():SetLabel(1)
else
e:GetLabelObject():SetLabel(0)
end
end
function s.lmfilter(c,lc,tp,og,lmat,lg)
if c:IsControler(1-tp) and not lg:IsContains(c) then return false end
return c:IsFaceup() and c:IsCanBeLinkMaterial(lc) and c:IsLinkCode(lc:GetCode()) and Duel.GetLocationCountFromEx(tp,tp,c,lc)>0 and aux.MustMaterialCheck(c,tp,EFFECT_MUST_BE_LMATERIAL) and (not og or og:IsContains(c)) and (not lmat or lmat==c)
end
function s.linkcon(e,c,og,lmat,min,max)
if c==nil then return true end
local tp=c:GetControler()
return Duel.IsExistingMatchingCard(s.lmfilter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil,c,tp,og,lmat,e:GetLabelObject():GetLinkedGroup())
end
function s.linkop(e,tp,eg,ep,ev,re,r,rp,c,og,lmat,min,max)
local mg=Duel.SelectMatchingCard(tp,s.lmfilter,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil,c,tp,og,lmat,e:GetLabelObject():GetLinkedGroup())
c:SetMaterial(mg)
Duel.SendtoGrave(mg,REASON_MATERIAL+REASON_LINK)
end
function s.mattg(e,c)
return c:IsSetCard(0x119) and c:IsType(TYPE_LINK)
end
local s,id,o=GetID()
function s.initial_effect(c)
local e_ac_1=Effect.CreateEffect(c)
e_ac_1:SetCategory(CATEGORY_RELEASE+CATEGORY_DRAW)
e_ac_1:SetType(EFFECT_TYPE_ACTIVATE)
e_ac_1:SetCode(EVENT_SUMMON_SUCCESS)
e_ac_1:SetProperty(EFFECT_FLAG_DELAY)
e_ac_1:SetCountLimit(1,id)
e_ac_1:SetCondition(s.con)
e_ac_1:SetTarget(s.target)
e_ac_1:SetOperation(s.activate)
c:RegisterEffect(e_ac_1)
local e_ac_2=e_ac_1:Clone()
e_ac_2:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e_ac_2)
local e_th=Effect.CreateEffect(c)
e_th:SetDescription(aux.Stringid(id,0))
e_th:SetCategory(CATEGORY_SEARCH+CATEGORY_TOHAND)
e_th:SetType(EFFECT_TYPE_QUICK_O)
e_th:SetRange(LOCATION_GRAVE)
e_th:SetCode(EVENT_FREE_CHAIN)
e_th:SetCountLimit(1,id)
e_th:SetCost(aux.bfgcost)
e_th:SetTarget(s.thtg)
e_th:SetOperation(s.thop)
c:RegisterEffect(e_th)
if not s.global_check then
s.global_check=true
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD)
ge1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_SET_AVAILABLE+EFFECT_FLAG_IGNORE_RANGE)
ge1:SetCode(EFFECT_MATERIAL_CHECK)
ge1:SetValue(s.valcheck)
Duel.RegisterEffect(ge1,0)
end
end
function s.valcheck(e,c)
local g=c:GetMaterial()
if g:IsExists(Card.IsLinkCode,1,nil,c:GetCode()) then
c:RegisterFlagEffect(id,RESET_EVENT+0x4fe0000,0,1)
end
end
function s.cfilter(c)
return c:IsSetCard(0x119) and c:IsSummonLocation(LOCATION_EXTRA) and c:IsFaceup()
end
function s.con(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(s.cfilter,tp,LOCATION_MZONE,0,1,nil)
end
function s.filter(c,tp)
return c:IsLocation(LOCATION_MZONE) and c:IsSummonPlayer(1-tp) and c:IsReleasableByEffect()
end
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return eg:IsExists(s.filter,1,nil,tp) end
local g=eg:Filter(s.filter,nil,tp)
Duel.SetTargetCard(g)
Duel.SetOperationInfo(0,CATEGORY_RELEASE,g,g:GetCount(),0,0)
end
function s.sf(c,seq,p)
local cp=c:GetControler()
return (cp==p and aux.MZoneSequence(c:GetSequence())==seq) or (cp~=p and aux.MZoneSequence(c:GetSequence())==4-seq)
end
function s.activate(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetTargetsRelateToChain():Filter(Card.IsLocation,nil,LOCATION_MZONE)
if g:GetCount()==0 or Duel.Release(g,REASON_EFFECT)==0 then return end
local og=Duel.GetOperatedGroup()
local cg=Group.CreateGroup()
for tc in aux.Next(og) do
local seq,p=aux.MZoneSequence(tc:GetPreviousSequence()),tc:GetPreviousControler()
local tseq=seq
if p~=tp then tseq=4-seq end
if e:GetHandler():GetSequence()==tseq or Duel.IsExistingMatchingCard(function(c,seq)return c:GetFlagEffect(id)>0 and aux.MZoneSequence(c:GetSequence())==seq end,tp,LOCATION_MZONE,0,1,nil,tseq) then cg:Merge(Duel.GetMatchingGroup(s.sf,tp,LOCATION_MZONE,LOCATION_MZONE,nil,seq,p)) end
end
local ct=math.floor(cg:GetSum(Card.GetAttack)/1000)
if ct>0 then Duel.Draw(tp,ct,REASON_EFFECT) end
end
function s.thfilter(c)
return c:IsSetCard(0x119) and c:IsType(TYPE_SPELL+TYPE_TRAP) and c:IsAbleToHand()
end
function s.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(s.thfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,e:GetHandler()) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE)
end
function s.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(s.thfilter),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
local s,id,o=GetID()
function s.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_SEARCH+CATEGORY_TOHAND)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,id)
e1:SetCost(s.spcost)
e1:SetTarget(s.sptg)
e1:SetOperation(s.spop)
c:RegisterEffect(e1)
if not s.global_check then
s.global_check=true
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD)
ge1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_SET_AVAILABLE+EFFECT_FLAG_IGNORE_RANGE)
ge1:SetCode(EFFECT_MATERIAL_CHECK)
ge1:SetValue(s.valcheck)
Duel.RegisterEffect(ge1,0)
end
end
function s.valcheck(e,c)
local g=c:GetMaterial()
if g:IsExists(Card.IsLinkCode,1,nil,c:GetCode()) then
c:RegisterFlagEffect(id,RESET_EVENT+0x4fe0000,0,1)
end
end
function s.cfilter(c,tp)
return c:IsFaceup() and c:IsSetCard(0x119) and c:IsType(TYPE_LINK) and c:IsAbleToGraveAsCost() and Duel.GetMZoneCount(tp,c)>0
end
function s.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(s.cfilter,tp,LOCATION_MZONE,0,1,nil,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local tc=Duel.SelectMatchingCard(tp,s.cfilter,tp,LOCATION_MZONE,0,1,1,nil,tp):GetFirst()
e:SetLabel(tc:GetLink(),0)
if tc:GetFlagEffect(id)>0 then e:SetLabel(tc:GetLink(),1) end
Duel.SendtoGrave(tc,REASON_COST)
end
function s.thfilter(c)
return c:IsCode(44095762) and c:IsAbleToHand()
end
function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) and Duel.IsExistingMatchingCard(s.thfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE)
end
function s.filter(c,e,tp)
return c:IsCode(80794697) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function s.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) or Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)==0 then return end
local g=Duel.GetMatchingGroup(aux.NecroValleyFilter(s.thfilter),tp,LOCATION_DECK+LOCATION_GRAVE,0,nil)
if #g==0 then return end
local ct,lab=e:GetLabel()
ct=math.max(ct,#g)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local sg=g:Select(tp,ct,ct,nil)
Duel.SendtoHand(sg,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
if lab==1 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsExistingMatchingCard(aux.NecroValleyFilter(s.filter),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil,e,tp) and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(s.filter),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,e,tp)
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
end
......@@ -17,6 +17,7 @@ function s.initial_effect(c)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_TRAP_ACT_IN_HAND)
e2:SetCondition(s.handcondition)
c:RegisterEffect(e2)
----
local e3=Effect.CreateEffect(c)
......@@ -27,13 +28,19 @@ function s.initial_effect(c)
e3:SetProperty(EFFECT_FLAG_CARD_TARGET)
e3:SetRange(LOCATION_GRAVE)
e3:SetHintTiming(0,TIMINGS_CHECK_MONSTER)
e3:SetCountLimit(1,25800605)
e3:SetCountLimit(1,id+1)
e3:SetCost(aux.bfgcost)
e3:SetCondition(s.handcondition)
e3:SetTarget(c25800604.target2)
e3:SetOperation(c25800604.operation2)
c:RegisterEffect(e3)
end
-----
function s.handcondition(e,tp,eg,ep,ev,re,r,rp)
local tp=e:GetHandler():GetControler()
return Duel.GetTurnPlayer()==tp
end
-----
function s.cfilter(c)
return c:IsType(TYPE_TRAP) and c:IsDiscardable()
end
......@@ -65,22 +72,14 @@ function s.activate(e,tp,eg,ep,ev,re,r,rp)
end
end
-----
function s.filter(c)
return c:IsType(TYPE_XYZ) and c:IsReleasableByEffect()
end
function c25800604.target2(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsControler(1-tp) and chkc:IsOnField() and aux.NegateAnyFilter(chkc) end
if chk==0 then return Duel.CheckReleaseGroupEx(tp,s.filter,1,nil) and Duel.IsExistingTarget(aux.NegateAnyFilter,tp,0,LOCATION_ONFIELD,1,nil) end
if chk==0 then return Duel.IsExistingTarget(aux.NegateAnyFilter,tp,0,LOCATION_ONFIELD,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DISABLE)
local g=Duel.SelectTarget(tp,aux.NegateAnyFilter,tp,0,LOCATION_ONFIELD,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_DISABLE,g,1,0,0)
end
function c25800604.operation2(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.SelectReleaseGroupEx(tp,s.filter,1,1,nil)
if g:GetCount()>0 then
Duel.HintSelection(g)
if Duel.Release(g,REASON_EFFECT)~=0 then
function c25800604.operation2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if tc:IsFaceup() and tc:IsRelateToEffect(e) and tc:IsCanBeDisabledByEffect(e,false) then
......@@ -107,6 +106,4 @@ function c25800604.operation2(e,tp,eg,ep,ev,re,r,rp)
tc:RegisterEffect(e3)
end
end
end
end
end
\ No newline at end of file
......@@ -17,6 +17,7 @@ function s.initial_effect(c)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_TRAP_ACT_IN_HAND)
e2:SetCondition(s.handcondition)
c:RegisterEffect(e2)
--
local e3=Effect.CreateEffect(c)
......@@ -25,14 +26,22 @@ function s.initial_effect(c)
e3:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetRange(LOCATION_GRAVE)
e3:SetProperty(EFFECT_FLAG_CARD_TARGET)
e3:SetCountLimit(1,id+1)
e3:SetCost(aux.bfgcost)
e3:SetTarget(s.target2)
e3:SetOperation(s.activate2)
e3:SetCondition(s.handcondition)
e3:SetTarget(s.destg)
e3:SetOperation(s.desop)
c:RegisterEffect(e3)
end
-----
function s.handcondition(e,tp,eg,ep,ev,re,r,rp)
local tp=e:GetHandler():GetControler()
return Duel.GetTurnPlayer()==tp
end
-----
function s.cfilter(c)
return c:IsType(TYPE_TRAP) and c:IsDiscardable()
return c:GetType()==TYPE_TRAP and c:IsDiscardable()
end
function s.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return (not e:GetHandler():IsLocation(LOCATION_HAND) or Duel.IsExistingMatchingCard(s.cfilter,tp,LOCATION_HAND,0,1,e:GetHandler())) end
......@@ -62,34 +71,17 @@ function s.activate(e,tp,eg,ep,ev,re,r,rp)
end
end
-----
function s.filter(c)
return c:IsType(TYPE_NORMAL) and c:IsType(TYPE_MONSTER) and c:IsFaceup()
function s.destg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsOnField() end
if chk==0 then return Duel.IsExistingTarget(aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g=Duel.SelectTarget(tp,aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,g:GetCount(),0,0)
end
function s.target2(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.IsExistingMatchingCard(s.filter,tp,LOCATION_ONFIELD,0,1,c) end
local g1=Duel.GetMatchingGroup(s.filter,tp,LOCATION_ONFIELD,0,c)
local g2=Duel.GetMatchingGroup(nil,tp,0,LOCATION_ONFIELD,nil)
local ct1=g1:GetCount()
local ct2=g2:GetCount()
g1:Merge(g2)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g1,ct1+((ct1>ct2) and ct2 or ct1),0,0)
end
function s.activate2(e,tp,eg,ep,ev,re,r,rp)
local g1=Duel.GetMatchingGroup(s.filter,tp,LOCATION_ONFIELD,0,aux.ExceptThisCard(e))
local ct1=Duel.Destroy(g1,REASON_EFFECT)
if ct1==0 then return end
local g2=Duel.GetMatchingGroup(nil,tp,0,LOCATION_ONFIELD,nil)
local ct2=g2:GetCount()
if ct2==0 then return end
Duel.BreakEffect()
if ct2<=ct1 then
Duel.Destroy(g2,REASON_EFFECT)
else
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g3=g2:Select(tp,ct1,ct1,nil)
Duel.HintSelection(g3)
Duel.Destroy(g3,REASON_EFFECT)
function s.desop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS)
local tg=g:Filter(Card.IsRelateToEffect,nil,e)
if tg:GetCount()>0 then
Duel.Destroy(tg,REASON_EFFECT)
end
end
end
\ No newline at end of file
......@@ -17,6 +17,7 @@ function s.initial_effect(c)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_TRAP_ACT_IN_HAND)
e2:SetCondition(s.handcondition)
c:RegisterEffect(e2)
--set
local e3=Effect.CreateEffect(c)
......@@ -24,15 +25,22 @@ function s.initial_effect(c)
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetRange(LOCATION_GRAVE)
e3:SetCountLimit(1,id+1)
e3:SetCountLimit(1,id)
e3:SetHintTiming(0,TIMING_END_PHASE)
e3:SetCost(aux.bfgcost)
e3:SetCondition(s.handcondition)
e3:SetTarget(s.settg)
e3:SetOperation(s.setop)
c:RegisterEffect(e3)
end
-----
function s.handcondition(e,tp,eg,ep,ev,re,r,rp)
local tp=e:GetHandler():GetControler()
return Duel.GetTurnPlayer()==tp
end
-----
function s.cfilter(c)
return c:IsType(TYPE_TRAP) and c:IsDiscardable()
return c:GetType()==TYPE_TRAP and c:IsDiscardable()
end
function s.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return (not e:GetHandler():IsLocation(LOCATION_HAND) or Duel.IsExistingMatchingCard(s.cfilter,tp,LOCATION_HAND,0,1,e:GetHandler())) end
......
......@@ -17,6 +17,7 @@ function s.initial_effect(c)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_TRAP_ACT_IN_HAND)
e2:SetCondition(s.handcondition)
c:RegisterEffect(e2)
--set
local e3=Effect.CreateEffect(c)
......@@ -27,12 +28,19 @@ function s.initial_effect(c)
e3:SetCountLimit(1,id)
e3:SetHintTiming(0,TIMING_END_PHASE)
e3:SetCost(aux.bfgcost)
e3:SetCondition(s.handcondition)
e3:SetTarget(s.settg)
e3:SetOperation(s.setop)
c:RegisterEffect(e3)
end
-----
function s.handcondition(e,tp,eg,ep,ev,re,r,rp)
local tp=e:GetHandler():GetControler()
return Duel.GetTurnPlayer()==tp
end
-----
function s.cfilter(c)
return c:IsType(TYPE_TRAP) and c:IsDiscardable()
return c:GetType()==TYPE_TRAP and c:IsDiscardable()
end
function s.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return (not e:GetHandler():IsLocation(LOCATION_HAND) or Duel.IsExistingMatchingCard(s.cfilter,tp,LOCATION_HAND,0,1,e:GetHandler())) end
......
--Speed Recalibrate
function c31034009.initial_effect(c)
aux.AddCodeList(c, 31034011)
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SEARCH+CATEGORY_TOHAND)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetTarget(c31034009.target)
e1:SetOperation(c31034009.operation)
c:RegisterEffect(e1)
end
function c31034009.addfilter(c)
return (c:IsCode(31034011) or c:IsCode(31034015) or c:IsCode(31034017)) and c:IsAbleToHand()
end
function c31034009.syfilter(c)
return c:IsFaceup() and c:IsType(TYPE_SYNCHRO) and c:IsAbleToExtra()
end
function c31034009.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c31034009.syfilter(chkc) end
if chk == 0 then return Duel.IsExistingTarget(c31034009.syfilter, tp, LOCATION_MZONE, 0, 1, nil, tp) and
Duel.IsExistingMatchingCard(c31034009.addfilter, tp, LOCATION_DECK, 0, 1, nil) end
Duel.Hint(HINT_SELECTMSG, tp, HINTMSG_TODECK)
local g=Duel.SelectTarget(tp,c31034009.syfilter, tp, LOCATION_MZONE, 0, 1, 1, nil)
Duel.SetOperationInfo(0, CATEGORY_TOEXTRA, g, 1, 0, 0)
Duel.SetOperationInfo(0, CATEGORY_TOHAND, nil, 1, tp, LOCATION_DECK)
end
function c31034009.operation(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and Duel.SendtoDeck(tc,nil,SEQ_DECKSHUFFLE,REASON_EFFECT) ~= 0 and tc:IsLocation(LOCATION_EXTRA) then
Duel.Hint(HINT_SELECTMSG, tp, HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp, c31034009.addfilter, tp, LOCATION_DECK, 0, 1, 1, nil)
if g:GetCount() > 0 then
Duel.SendtoHand(g, nil, REASON_EFFECT)
Duel.ConfirmCards(1-tp, g)
if tc:IsAttribute(ATTRIBUTE_WIND) then
Duel.Draw(tp, 1, REASON_EFFECT)
end
end
end
end
\ No newline at end of file
......@@ -9,7 +9,7 @@ function c31034013.initial_effect(c)
e1:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
e1:SetValue(c31034013.batfilter)
c:RegisterEffect(e1)
--cannot be target
--cannot be target + cannot activate
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
......@@ -55,4 +55,18 @@ function c31034013.tgop(e,tp,eg,ep,ev,re,r,rp)
e1:SetValue(c31034013.tgfilter)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetCode(EFFECT_CANNOT_ACTIVATE)
e2:SetRange(LOCATION_MZONE)
e2:SetTargetRange(0,1)
e2:SetValue(1)
e2:SetCondition(c31034013.actcon)
e2:SetReset(RESET_EVENT+RESETS_STANDARD)
c:RegisterEffect(e2)
end
function c31034013.actcon(e)
return Duel.GetAttacker() == e:GetHandler()
end
\ No newline at end of file
......@@ -4,7 +4,7 @@ function c31034015.initial_effect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1, 31034015+EFFECT_COUNT_CODE_OATH)
e1:SetCountLimit(1,31034015+EFFECT_COUNT_CODE_OATH)
e1:SetCondition(c31034015.condition)
e1:SetCost(c31034015.cost)
e1:SetTarget(c31034015.target)
......@@ -58,10 +58,9 @@ function c31034015.target(e,tp,eg,ep,ev,re,r,rp,chk)
and Duel.IsExistingMatchingCard(c31034015.spfilter2, tp, LOCATION_DECK, 0, 1, nil, e, tp)
end
Duel.SetOperationInfo(0, CATEGORY_SPECIAL_SUMMON, nil, 3, tp, LOCATION_DECK+LOCATION_EXTRA)
end
function c31034015.splimit(e,c,tp,sumtp,sumpos)
return not c:IsAttribute(ATTRIBUTE_WIND)
if e:IsHasType(EFFECT_TYPE_ACTIVATE) and Duel.GetTurnPlayer() == tp then
Duel.SetChainLimit(aux.FALSE)
end
end
function c31034015.activate(e,tp,eg,ep,ev,re,r,rp)
......@@ -85,12 +84,4 @@ function c31034015.activate(e,tp,eg,ep,ev,re,r,rp)
local pg=sg:Select(tp, 1, 1, nil)
Duel.SynchroSummon(tp, pg:GetFirst(), nil, sg1)
end
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetTargetRange(1, 0)
e1:SetTarget(c31034015.splimit)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1, tp)
end
\ No newline at end of file
......@@ -2,7 +2,7 @@
local m=40010334
local cm=_G["c"..m]
cm.named_with_DragWizard=1
function cm.Crimsonmoon(c)
function cm.DragWizard(c)
local m=_G["c"..c:GetCode()]
return m and m.named_with_DragWizard
end
......@@ -10,10 +10,11 @@ function cm.initial_effect(c)
--Effect 1
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_TOGRAVE+CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetCategory(CATEGORY_REMOVE+CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetRange(LOCATION_HAND)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,m)
e1:SetTarget(cm.destg)
e1:SetOperation(cm.desop)
......@@ -44,7 +45,7 @@ end
--Effect 1
function cm.desfilter(c,tp)
return Duel.GetMZoneCount(tp,c)>0
and c:IsFaceup() and cm.Crimsonmoon(c) and c:IsAbleToGrave()
and c:IsFaceup() and cm.DragWizard(c) and c:IsAbleToRemove()
end
function cm.destg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsOnField() and chkc:IsControler(tp) and cm.desfilter(chkc,tp) end
......@@ -52,7 +53,7 @@ function cm.destg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
and Duel.IsExistingTarget(cm.desfilter,tp,LOCATION_MZONE,0,1,nil,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectTarget(tp,cm.desfilter,tp,LOCATION_MZONE,0,1,1,nil,tp)
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,g,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,g,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end
function cm.desop(e,tp,eg,ep,ev,re,r,rp)
......@@ -60,7 +61,7 @@ function cm.desop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and c:IsRelateToEffect(e) then
if Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)~=0 then
Duel.SendtoGrave(tc,REASON_EFFECT)
Duel.Remove(tc,POS_FACEUP,REASON_EFFECT)
end
end
end
......@@ -72,7 +73,7 @@ function cm.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
end
function cm.spfilter2(c,e,tp)
return c:IsType(TYPE_MONSTER)
and c:IsFaceup() and cm.Crimsonmoon(c)
and c:IsFaceup() and cm.DragWizard(c)
and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_DEFENSE)
end
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
......
......@@ -23,12 +23,19 @@ function cm.initial_effect(c)
e2:SetRange(LOCATION_MZONE+LOCATION_HAND)
e2:SetCountLimit(1,m)
e2:SetCost(cm.cost)
e2:SetCondition(cm.spcon)
e2:SetTarget(cm.thtg)
e2:SetOperation(cm.thop)
c:RegisterEffect(e2)
end
--Effect 1
--Effect 2
function cm.confilter(c)
return c:IsType(TYPE_MONSTER) and c:IsFaceup() and cm.DragWizard(c)
end
function cm.spcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(cm.confilter,tp,LOCATION_MZONE,0,3,nil)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsReleasable() end
Duel.Release(e:GetHandler(),REASON_COST)
......
......@@ -11,10 +11,11 @@ function cm.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetRange(LOCATION_HAND)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,m)
e1:SetCost(cm.spcost)
e1:SetCondition(cm.drcon)
e1:SetTarget(cm.sptg)
e1:SetOperation(cm.spop)
c:RegisterEffect(e1)
......@@ -26,39 +27,75 @@ function cm.initial_effect(c)
e11:SetRange(LOCATION_DECK+LOCATION_GRAVE)
e11:SetValue(1)
c:RegisterEffect(e11)
--Effect 3
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(m,1))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_DECKDES)
e2:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetCountLimit(1,m+1)
e2:SetCondition(cm.retcon)
e2:SetTarget(cm.rettg)
e2:SetOperation(cm.retop)
c:RegisterEffect(e2)
e2:SetTarget(cm.thtg)
e2:SetOperation(cm.thop)
c:RegisterEffect(e2)
end
--Effect 1
function cm.cfilter(c)
function cm.drcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFieldGroupCount(tp,LOCATION_ONFIELD,0)==0
end
function cm.pfilter(c)
return bit.band(c:GetType(),TYPE_RITUAL+TYPE_MONSTER)==TYPE_RITUAL+TYPE_MONSTER and not c:IsPublic()
end
function cm.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.cfilter,tp,LOCATION_HAND,0,1,nil) end
function cm.sp1filter(c,e,tp)
return cm.DragWizard(c) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.IsExistingMatchingCard(cm.sp1filter,tp,LOCATION_HAND,0,1,nil,e,tp)
and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and not c:IsPublic()
and Duel.IsExistingMatchingCard(cm.pfilter,tp,LOCATION_HAND,0,1,c) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONFIRM)
local g=Duel.SelectMatchingCard(tp,cm.cfilter,tp,LOCATION_HAND,0,1,1,nil)
local g=Duel.SelectMatchingCard(tp,cm.pfilter,tp,LOCATION_HAND,0,1,1,c)
local tc=g:GetFirst()
Duel.ConfirmCards(1-tp,g)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_PUBLIC)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_CHAIN)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_CHAIN_SOLVED)
e2:SetRange(LOCATION_HAND)
e2:SetOperation(cm.clearop)
e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_CHAIN)
e2:SetLabel(Duel.GetCurrentChain())
e2:SetLabelObject(e1)
c:RegisterEffect(e2)
Duel.ShuffleHand(tp)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND)
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():IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_DEFENSE) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
function cm.clearop(e,tp,eg,ep,ev,re,r,rp)
if ev~=e:GetLabel() then return end
e:GetLabelObject():Reset()
e:Reset()
end
function cm.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP_DEFENSE)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,cm.sp1filter,tp,LOCATION_HAND,0,1,1,nil,e,tp)
if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
end
--Effect 2
--Effect 3
function cm.retcon(e,tp,eg,ep,ev,re,r,rp)
......@@ -67,23 +104,24 @@ function cm.retcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return not rc:IsCode(m)
end
function cm.spfilter(c,e,tp)
return c:IsLevel(1) and c:IsRace(RACE_SPELLCASTER) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function cm.rettg(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.GetFieldGroupCount(tp,LOCATION_DECK,0)>4 end
end
function cm.retop(e,tp,eg,ep,ev,re,r,rp)
function cm.thfilter(c)
return cm.DragWizard(c) and c:IsType(TYPE_SPELL+TYPE_TRAP) and c:IsAbleToHand()
end
function cm.thop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)<=4 then return end
Duel.ConfirmDecktop(tp,5)
local g=Duel.GetDecktopGroup(tp,5)
local ct=g:GetCount()
if ct>0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and g:FilterCount(cm.spfilter,nil,e,tp)>0
and Duel.SelectYesNo(tp,aux.Stringid(m,2)) then
if ct>0 and g:FilterCount(cm.thfilter,nil)>0 and Duel.SelectYesNo(tp,aux.Stringid(m,2)) then
Duel.DisableShuffleCheck()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=g:FilterSelect(tp,cm.spfilter,1,1,nil,e,tp)
Duel.SpecialSummon(sg,0,tp,tp,false,false,POS_FACEUP)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local sg=g:FilterSelect(tp,cm.thfilter,1,1,nil)
Duel.SendtoHand(sg,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,sg)
Duel.ShuffleHand(tp)
ct=g:GetCount()-sg:GetCount()
end
if ct>0 then
......@@ -94,4 +132,3 @@ function cm.retop(e,tp,eg,ep,ev,re,r,rp)
end
end
end
......@@ -12,9 +12,11 @@ function cm.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetRange(LOCATION_HAND)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,m)
e1:SetCondition(cm.drcon)
e1:SetTarget(cm.sptg)
e1:SetOperation(cm.spop)
c:RegisterEffect(e1)
......@@ -33,24 +35,30 @@ function cm.initial_effect(c)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetCountLimit(1,m+1)
e2:SetCondition(cm.retcon)
e2:SetTarget(cm.thtg)
e2:SetOperation(cm.thop)
c:RegisterEffect(e2)
end
--Effect 1
function cm.spfilter(c,e,tp)
return c:IsRace(RACE_SPELLCASTER) and not c:IsPublic() and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_DEFENSE)
function cm.drcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFieldGroupCount(tp,LOCATION_ONFIELD,0)==0
end
function cm.pfilter(c)
return c:IsRace(RACE_SPELLCASTER) and not c:IsPublic()
end
function cm.sp1filter(c,e,tp)
return cm.DragWizard(c) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return not Duel.IsPlayerAffectedByEffect(tp,59822133)
and Duel.GetLocationCount(tp,LOCATION_MZONE)>1
and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_DEFENSE)
if chk==0 then return Duel.IsExistingMatchingCard(cm.sp1filter,tp,LOCATION_HAND,0,1,nil,e,tp)
and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and not c:IsPublic()
and Duel.IsExistingMatchingCard(cm.spfilter,tp,LOCATION_HAND,0,1,c,e,tp) end
and Duel.IsExistingMatchingCard(cm.pfilter,tp,LOCATION_HAND,0,1,c) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONFIRM)
local g=Duel.SelectMatchingCard(tp,cm.spfilter,tp,LOCATION_HAND,0,1,1,c,e,tp)
local g=Duel.SelectMatchingCard(tp,cm.pfilter,tp,LOCATION_HAND,0,1,1,c)
local tc=g:GetFirst()
Duel.ConfirmCards(1-tp,g)
local e1=Effect.CreateEffect(c)
......@@ -67,13 +75,8 @@ function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
e2:SetLabel(Duel.GetCurrentChain())
e2:SetLabelObject(e1)
c:RegisterEffect(e2)
local e3=e1:Clone()
tc:RegisterEffect(e3)
local e4=e2:Clone()
e4:SetLabelObject(e3)
tc:RegisterEffect(e4)
Duel.SetTargetCard(g)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,2,tp,LOCATION_HAND)
Duel.ShuffleHand(tp)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND)
end
function cm.clearop(e,tp,eg,ep,ev,re,r,rp)
if ev~=e:GetLabel() then return end
......@@ -81,16 +84,31 @@ function cm.clearop(e,tp,eg,ep,ev,re,r,rp)
e:Reset()
end
function cm.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if not Duel.IsPlayerAffectedByEffect(tp,59822133) and Duel.GetLocationCount(tp,LOCATION_MZONE)>1
and c:IsRelateToEffect(e) and tc:IsRelateToEffect(e)
and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and tc:IsCanBeSpecialSummoned(e,0,tp,false,false) then
Duel.SpecialSummonStep(c,0,tp,tp,false,false,POS_FACEUP_DEFENSE)
Duel.SpecialSummonStep(tc,0,tp,tp,false,false,POS_FACEUP_DEFENSE)
Duel.SpecialSummonComplete()
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,cm.sp1filter,tp,LOCATION_HAND,0,1,1,nil,e,tp)
if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
end
--Effect 2
--Effect 3
function cm.retcon(e,tp,eg,ep,ev,re,r,rp)
......
......@@ -11,10 +11,11 @@ function cm.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetRange(LOCATION_HAND)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,m)
e1:SetCost(cm.spcost)
e1:SetCondition(cm.drcon)
e1:SetTarget(cm.sptg)
e1:SetOperation(cm.spop)
c:RegisterEffect(e1)
......@@ -26,39 +27,76 @@ function cm.initial_effect(c)
e11:SetRange(LOCATION_DECK+LOCATION_GRAVE)
e11:SetValue(1)
c:RegisterEffect(e11)
--Effect 3
--Effect 3
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(m,1))
e2:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e2:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_DECKDES)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetCountLimit(1,m+1)
e2:SetCondition(cm.retcon)
e2:SetTarget(cm.thtg)
e2:SetOperation(cm.thop)
c:RegisterEffect(e2)
e2:SetTarget(cm.rettg)
e2:SetOperation(cm.retop)
c:RegisterEffect(e2)
end
--Effect 1
function cm.cfilter(c)
function cm.drcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFieldGroupCount(tp,LOCATION_ONFIELD,0)==0
end
function cm.pfilter(c)
return bit.band(c:GetType(),TYPE_RITUAL+TYPE_SPELL)==TYPE_RITUAL+TYPE_SPELL and not c:IsPublic()
end
function cm.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.cfilter,tp,LOCATION_HAND,0,1,nil) end
function cm.sp1filter(c,e,tp)
return cm.DragWizard(c) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.IsExistingMatchingCard(cm.sp1filter,tp,LOCATION_HAND,0,1,nil,e,tp)
and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and not c:IsPublic()
and Duel.IsExistingMatchingCard(cm.pfilter,tp,LOCATION_HAND,0,1,c) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONFIRM)
local g=Duel.SelectMatchingCard(tp,cm.cfilter,tp,LOCATION_HAND,0,1,1,nil)
local g=Duel.SelectMatchingCard(tp,cm.pfilter,tp,LOCATION_HAND,0,1,1,c)
local tc=g:GetFirst()
Duel.ConfirmCards(1-tp,g)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_PUBLIC)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_CHAIN)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_CHAIN_SOLVED)
e2:SetRange(LOCATION_HAND)
e2:SetOperation(cm.clearop)
e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_CHAIN)
e2:SetLabel(Duel.GetCurrentChain())
e2:SetLabelObject(e1)
c:RegisterEffect(e2)
Duel.ShuffleHand(tp)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND)
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():IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_DEFENSE) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
function cm.clearop(e,tp,eg,ep,ev,re,r,rp)
if ev~=e:GetLabel() then return end
e:GetLabelObject():Reset()
e:Reset()
end
function cm.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP_DEFENSE)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,cm.sp1filter,tp,LOCATION_HAND,0,1,1,nil,e,tp)
if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
end
--Effect 2
--Effect 3
function cm.retcon(e,tp,eg,ep,ev,re,r,rp)
......@@ -67,24 +105,23 @@ function cm.retcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return not rc:IsCode(m)
end
function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)>4 end
function cm.spfilter(c,e,tp)
return c:IsLevel(1) and c:IsRace(RACE_SPELLCASTER) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function cm.thfilter(c)
return cm.DragWizard(c) and c:IsType(TYPE_SPELL+TYPE_TRAP) and c:IsAbleToHand()
function cm.rettg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)>4 end
end
function cm.thop(e,tp,eg,ep,ev,re,r,rp)
function cm.retop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)<=4 then return end
Duel.ConfirmDecktop(tp,5)
local g=Duel.GetDecktopGroup(tp,5)
local ct=g:GetCount()
if ct>0 and g:FilterCount(cm.thfilter,nil)>0 and Duel.SelectYesNo(tp,aux.Stringid(m,2)) then
if ct>0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and g:FilterCount(cm.spfilter,nil,e,tp)>0
and Duel.SelectYesNo(tp,aux.Stringid(m,2)) then
Duel.DisableShuffleCheck()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local sg=g:FilterSelect(tp,cm.thfilter,1,1,nil)
Duel.SendtoHand(sg,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,sg)
Duel.ShuffleHand(tp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=g:FilterSelect(tp,cm.spfilter,1,1,nil,e,tp)
Duel.SpecialSummon(sg,0,tp,tp,false,false,POS_FACEUP)
ct=g:GetCount()-sg:GetCount()
end
if ct>0 then
......@@ -95,3 +132,7 @@ function cm.thop(e,tp,eg,ep,ev,re,r,rp)
end
end
end
......@@ -7,7 +7,7 @@ function cm.DragWizard(c)
return m and m.named_with_DragWizard
end
function cm.initial_effect(c)
aux.AddRitualProcGreaterCode(c,40010332)
--Effect 1
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOGRAVE)
......@@ -17,18 +17,7 @@ function cm.initial_effect(c)
e1:SetTarget(cm.rtg)
e1:SetOperation(cm.rtop)
c:RegisterEffect(e1)
--Effect 2
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(m,1))
e2:SetCategory(CATEGORY_TOHAND+CATEGORY_GRAVE_SPSUMMON)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_GRAVE)
e2:SetCountLimit(1,m+1)
e2:SetCondition(cm.condition)
e2:SetCost(cm.cost)
e2:SetTarget(cm.tg)
e2:SetOperation(cm.op)
c:RegisterEffect(e2)
end
--Effect 1
function cm.filter(c)
......@@ -101,72 +90,7 @@ function cm.rtop(e,tp,eg,ep,ev,re,r,rp)
end
end
end
--Effect 2
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFieldGroupCount(tp,LOCATION_MZONE,0)==0
end
function cm.atkfilter(c)
return (c:IsRace(RACE_SPELLCASTER) or (cm.DragWizard(c) and c:IsType(TYPE_MONSTER)))
and c:IsDiscardable()
end
function cm.spfilter(c,e,tp)
return c:GetType()&0x81==0x81
and c:IsCode(40010332)
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_RITUAL,tp,true,false)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.atkfilter,tp,LOCATION_HAND,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DISCARD)
local g=Duel.SelectMatchingCard(tp,cm.atkfilter,tp,LOCATION_HAND,0,1,1,nil)
Duel.SendtoGrave(g,REASON_COST+REASON_DISCARD)
end
function cm.tg(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.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
Duel.SendtoHand(c,nil,REASON_EFFECT)
if c:IsLocation(LOCATION_HAND)
and Duel.IsExistingMatchingCard(cm.spfilter,tp,LOCATION_HAND+LOCATION_DECK+LOCATION_GRAVE,0,1,nil,e,tp)
and Duel.SelectYesNo(tp,aux.Stringid(m,1)) then
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.spfilter),tp,LOCATION_HAND+LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,e,tp)
local tc=g:GetFirst()
if tc then
tc:SetMaterial(nil)
if Duel.SpecialSummon(tc,SUMMON_TYPE_RITUAL,tp,tp,true,false,POS_FACEUP)>0 then
tc:RegisterFlagEffect(m,RESET_EVENT+RESETS_STANDARD,0,1)
tc:CompleteProcedure()
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_PHASE+PHASE_END)
e2:SetCountLimit(1)
e2:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e2:SetLabelObject(tc)
e2:SetCondition(cm.descon)
e2:SetOperation(cm.desop)
Duel.RegisterEffect(e2,tp)
end
end
end
end
end
function cm.descon(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetLabelObject()
if tc:GetFlagEffect(m)~=0 then
return true
else
e:Reset()
return false
end
end
function cm.desop(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetLabelObject()
if tc:IsAbleToRemove() then Duel.Remove(tc,POS_FACEUP,REASON_EFFECT) end
end
--Effect 3
--Effect 4
--Effect 5
--黑炎缠龙 欧格玛
local m=40010416
local cm=_G["c"..m]
cm.named_with_DragWizard=1
function cm.DragWizard(c)
local m=_G["c"..c:GetCode()]
return m and m.named_with_DragWizard
end
function cm.initial_effect(c)
c:EnableReviveLimit()
aux.AddXyzProcedure(c,nil,3,2,nil,nil,99)
--atklimit
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CHANGE_LEVEL)
e1:SetRange(LOCATION_MZONE)
e1:SetTargetRange(LOCATION_GRAVE,0)
e1:SetTarget(aux.TargetBoolFunction(Card.IsLevelAbove,2))
e1:SetCondition(cm.dscon)
e1:SetValue(1)
c:RegisterEffect(e1)
--search
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(m,0))
e2:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH+CATEGORY_TOGRAVE+CATEGORY_DECKDES)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,m)
e2:SetCost(cm.cost)
e2:SetTarget(cm.target)
e2:SetOperation(cm.operation)
c:RegisterEffect(e2)
end
function cm.dscon(e)
return e:GetHandler():GetOverlayCount()~=0
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,2,REASON_COST) end
e:GetHandler():RemoveOverlayCard(tp,2,2,REASON_COST)
end
function cm.filter(c)
return cm.DragWizard(c) and c:IsType(TYPE_TRAP+TYPE_SPELL) and (c:IsAbleToHand() or c:IsAbleToGrave())
end
function cm.target(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_TOGRAVE,nil,1,tp,LOCATION_DECK)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_OPERATECARD)
local g=Duel.SelectMatchingCard(tp,cm.filter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()<=0 then return end
local tc=g:GetFirst()
if tc:IsAbleToHand() and (not tc:IsAbleToGrave() or Duel.SelectOption(tp,1190,1191)==0) then
Duel.SendtoHand(tc,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,tc)
else
Duel.SendtoGrave(tc,REASON_EFFECT)
end
end
\ No newline at end of file
......@@ -6,7 +6,7 @@ function cm.initial_effect(c)
--to hand
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH+CATEGORY_TOGRAVE)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_SUMMON_SUCCESS)
......@@ -32,22 +32,18 @@ function cm.initial_effect(c)
c:RegisterEffect(e3)
end
function cm.cfilter(c)
return (aux.IsCodeListed(c,40010499) and c:IsType(TYPE_SPELL+TYPE_TRAP)) and (c:IsAbleToHand() or c:IsAbleToGrave())
return (c:IsType(TYPE_SPELL+TYPE_TRAP) and aux.IsCodeListed(c,40010499)) and c:IsAbleToHand()
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.cfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_OPERATECARD)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,cm.cfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
local tc=g:GetFirst()
if tc and tc:IsAbleToHand() and (not tc:IsAbleToGrave() or Duel.SelectOption(tp,1190,1191)==0) then
Duel.SendtoHand(tc,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,tc)
else
Duel.SendtoGrave(tc,REASON_EFFECT)
end
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
function cm.ctfilter(c,tp)
......
--等待觉醒之龙
local m=40011380
local cm=_G["c"..m]
cm.named_with_DragWizard=1
function cm.DragWizard(c)
local m=_G["c"..c:GetCode()]
return m and m.named_with_DragWizard
end
function cm.initial_effect(c)
aux.AddRitualProcGreaterCode(c,40010332)
--Activate
local e1=aux.AddRitualProcGreater2(c,cm.filter,LOCATION_HAND+LOCATION_GRAVE,nil,nil,true)
--Effect 2
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(m,1))
e2:SetCategory(CATEGORY_TOHAND+CATEGORY_GRAVE_SPSUMMON)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_GRAVE)
e2:SetCountLimit(1,m)
e2:SetCondition(cm.condition)
e2:SetCost(cm.cost)
e2:SetTarget(cm.tg)
e2:SetOperation(cm.op)
c:RegisterEffect(e2)
end
function cm.filter(c,e,tp,chk)
return cm.DragWizard(c)
end
--Effect 2
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFieldGroupCount(tp,LOCATION_MZONE,0)==0
end
function cm.atkfilter(c)
return (c:IsRace(RACE_SPELLCASTER) or (cm.DragWizard(c) and c:IsType(TYPE_MONSTER)))
and c:IsDiscardable()
end
function cm.spfilter(c,e,tp)
return c:GetType()&0x81==0x81
and c:IsCode(40010332)
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_RITUAL,tp,true,false)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.atkfilter,tp,LOCATION_HAND,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DISCARD)
local g=Duel.SelectMatchingCard(tp,cm.atkfilter,tp,LOCATION_HAND,0,1,1,nil)
Duel.SendtoGrave(g,REASON_COST+REASON_DISCARD)
end
function cm.tg(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.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
Duel.SendtoHand(c,nil,REASON_EFFECT)
if c:IsLocation(LOCATION_HAND)
and Duel.IsExistingMatchingCard(cm.spfilter,tp,LOCATION_HAND+LOCATION_DECK+LOCATION_GRAVE,0,1,nil,e,tp)
and Duel.SelectYesNo(tp,aux.Stringid(m,1)) then
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.spfilter),tp,LOCATION_HAND+LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,e,tp)
local tc=g:GetFirst()
if tc then
tc:SetMaterial(nil)
if Duel.SpecialSummon(tc,SUMMON_TYPE_RITUAL,tp,tp,true,false,POS_FACEUP)>0 then
tc:RegisterFlagEffect(m,RESET_EVENT+RESETS_STANDARD,0,1)
tc:CompleteProcedure()
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_PHASE+PHASE_END)
e2:SetCountLimit(1)
e2:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e2:SetLabelObject(tc)
e2:SetCondition(cm.descon)
e2:SetOperation(cm.desop)
Duel.RegisterEffect(e2,tp)
end
end
end
end
end
function cm.descon(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetLabelObject()
if tc:GetFlagEffect(m)~=0 then
return true
else
e:Reset()
return false
end
end
function cm.desop(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetLabelObject()
if tc:IsAbleToRemove() then Duel.Remove(tc,POS_FACEUP,REASON_EFFECT) end
end
\ No newline at end of file
--Hello World!
--This is a library of mtc's cards.
--You can add QQ1252425371 to feedback bugs.
--The following functions are available.
--MTC.LHini(c,tp)
--MTC.LHnum(tp)
--MTC.LHSpS(c,num)
--MTC.filterEffectSetCode(c,tablename)
--MTC.CheckEffectSetCode(tablename,ccode,excode,...)
--MTC.GetGroupEffectSetcode(tp,tablename,fil,loc1,loc2,ex,...)
--MTC.ApplyEffectSetCode(e,tp,c,tablename,...)
--MTC.ActivateEffect(e,tp,oe)
--MTC.CycleApplyOp(g,op,...)
--You can view detailed usages below or in mtc's card.
--A few annotations in Chinese are noted below.
--Welcome to use mtc's library.
MTC=MTC or {}
MTC.loaded_metatable_list={}
-------------------------------------------------------------------------------------------------------------------------------------
--系列「传说天」相关函数
--「传说天」次数检定初始化函数
function MTC.LHini(c,tp)
if not LHini==true then
LHini=true
--spsm
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP)
e1:SetCondition(MTC.LHcon1)
e1:SetOperation(MTC.LHop1)
Duel.RegisterEffect(e1,tp)
--spsm
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP)
e1:SetCondition(MTC.LHcon1)
e1:SetOperation(MTC.LHop1)
Duel.RegisterEffect(e1,tp)
end
end
function MTC.LHfil1(c,tp)
return c:IsSummonPlayer(tp) and c:IsSetCard(0x630)
end
function MTC.LHcon1(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(MTC.LHfil1,1,nil,tp)
end
function MTC.LHop1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=eg:GetFirst()
while tc do
if tc:IsSetCard(0x630) then
Duel.RegisterFlagEffect(tc:GetSummonPlayer(),60010002,RESET_PHASE+PHASE_END,0,1)
Duel.RaiseEvent(c,EVENT_CUSTOM+60010002,nil,0,tc:GetSummonPlayer(),tc:GetSummonPlayer(),0)
end
tc=eg:GetNext()
end
end
--这个回合,自己把「传说天」怪兽召唤·特殊召唤的次数每有3次,返回值+1
function MTC.LHnum(tp)
local num=Duel.GetFlagEffect(tp,60010002)
local ti=0
while num>=3 do
num=num-3
ti=ti+1
end
return ti
end
-------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------
--系列「传说天」怪兽通用特招效果
--这张卡可以丢弃num张手卡从手卡特招
function MTC.LHSpS(c,num)
--special summon
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_SPSUMMON_PROC)
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE)
e1:SetRange(LOCATION_HAND)
e1:SetLabel(num)
e1:SetCondition(MTC.LHcon2)
e1:SetOperation(MTC.LHop2)
c:RegisterEffect(e1)
end
function MTC.LHcon2(e,tp,eg,ep,ev,re,r,rp)
if c==nil then return true end
local tp=c:GetControler()
local num=e:GetLabel()
return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(aux.TRUE,tp,LOCATION_HAND,0,num,c)
end
function MTC.LHop2(e,tp,eg,ep,ev,re,r,rp)
local num=e:GetLabel()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DISCARD)
local g=Duel.SelectMatchingCard(tp,aux.TRUE,tp,LOCATION_HAND,0,num,num,c)
Duel.SendtoGrave(g,REASON_COST+REASON_DISCARD)
end
-------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------
--塔隆·血魔类效果初始化
--MTC.CheckEffectSetCode(所使用的表名称,所使用的识别名,不予记录的code,...) ...中记录所需记录效果的event
function MTC.CheckEffectSetCode(tablename,ccode,excode,...)
local tablename=_G[tablename]
local ccode=_G[ccode]
if not ccode then
ccode=true
tablename={}
local events={...}
local MTCcode=Effect.SetCode --为函数Effect.SetCode增加一段适用前的记录
Effect.SetCode=function(ue,code,...)
local tf=false
for i=1,#events do --是否包含...中的某个event
if code==events[i] then
tf=true
end
end
if tf==true and ue:GetOwner():GetCode()~=excode then --符合条件则记录
local uid=ue:GetOwner():GetCode()
tablename[uid]={}
local tf2=false
local u=1
while tf2==false do --使用循环记录寻找一个未记录的位置记录该效果
if not tablename[uid][u] then
tablename[uid][u]=ue
tf2=true
end
u=u+1
end
end
MTCcode(ue,code,...)
end
for tc in aux.Next(Duel.GetMatchingGroup(nil,tp,0x1ff,0x1ff,nil)) do --重载
local ini=MTC.initial_effect
MTC.initial_effect=function() end
tc:ReplaceEffect(m,0)
MTC.initial_effect=ini
if tc.initial_effect then tc.initial_effect(tc) end
end
end
end
function MTC.filterEffectSetCode(c,tablename)
local tablename=_G[tablename]
return tablename[c:GetCode()][1]~=nil
end
--获取区域内有某个event的组(必须先使用MTC.CheckEffectSetCode进行记录)
--MTC.GetGroupEffectSetcode(tp,所使用的表名称,fil,loc1,loc2,除了xxx之外,...)
function MTC.GetGroupEffectSetcode(tp,tablename,fil,loc1,loc2,ex,...) --获取符合条件的卡
local tablename=_G[tablename]
local g=Duel.GetMatchingGroup(fil,tp,loc1,loc2,ex,...)
local ac=g:GetFirst()
for i=1,#g do
if tablename[ac:GetCode()][1]==nil then
g:RemoveCard(ac)
end
ac=g:GetNext()
end
return g
end
--适用某张卡的某个event的效果
--MTC.ApplyEffectSetCode(调用该函数的e,调用该函数的tp,需要适用的c,所使用的表名称,...)
function MTC.ApplyEffectSetCode(e,tp,c,tablename,...)
local tablename=_G[tablename]
local tf=false
local i=1
while tf==false do --利用循环把每一项适用
if tablename[c:GetCode()][i] then
MTC.ActivateEffect(tablename[c:GetCode()][i],tp,e)
end
if not tablename[c:GetCode()][i+1] then
tf=true
end
i=i+1
end
end
--MTC.ActivateEffect(需要适用的e,调用该函数的tp,调用该函数的e)
--Thanks to lanpa
function MTC.ActivateEffect(e,tp,oe)
local c=e:GetHandler()
local cos,tg,op=e:GetCost(),e:GetTarget(),e:GetOperation()
if e and (not cos or cos(e,tp,eg,ep,ev,re,r,rp,0)) and (not tg or tg(e,tp,eg,ep,ev,re,r,rp,0)) then
oe:SetProperty(e:GetProperty())
local code=c:GetOriginalCode()
Duel.Hint(HINT_CARD,tp,code)
e:UseCountLimit(tp,1,true)
c:CreateEffectRelation(e)
if cos then cos(e,p,eg,ep,ev,re,r,rp,1) end
if tg then tg(e,tp,eg,ep,ev,re,r,rp,1) end
local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS)
if g and #g~=0 then
local tg=g:GetFirst()
while tg do
tg:CreateEffectRelation(e)
tg=g:GetNext()
end
end
if op then op(e,tp,eg,ep,ev,re,r,rp) end
c:ReleaseEffectRelation(e)
if g then
tg=g:GetFirst()
while tg do
tg:ReleaseEffectRelation(e)
tg=g:GetNext()
end
end
end
end
-------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------
--对于某个g里的每张卡片依次适用操作op
function MTC.CycleApplyOp(g,op,...)
local ac=g:GetFirst()
for i=1,#g do
local c=ac
if op then op(...) end
ac=g:GetNext()
end
end
\ No newline at end of file
--基督代理魔人
local cm,m,o=GetID()
function cm.initial_effect(c)
--cannot special summon
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetCode(EFFECT_SPSUMMON_CONDITION)
c:RegisterEffect(e1)
--to hand
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_DRAW)
e1:SetType(EFFECT_TYPE_TRIGGER_F+EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetOperation(cm.thop)
c:RegisterEffect(e1)
end
cm.toss_dice=true
function cm.thop(e,tp,eg,ep,ev,re,r,rp)
for i=1,5 do
local d1=0
local d2=0
while d1==d2 do
d1,d2=Duel.TossDice(tp,1,1)
end
if d1<d2 then
Duel.Draw(1-tp,1,REASON_EFFECT)
else
Duel.Draw(tp,1,REASON_EFFECT)
end
end
end
\ No newline at end of file
--奥特兰赛 传说之天
Duel.LoadScript("c60010000.lua")
local cm,m,o=GetID()
function cm.initial_effect(c)
MTC.LHini(c,tp)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetOperation(cm.activate)
c:RegisterEffect(e1)
--to hand
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_CUSTOM+60010002)
e1:SetRange(LOCATION_FZONE)
e1:SetOperation(cm.thop)
c:RegisterEffect(e1)
end
function cm.filter(c)
return c:IsSetCard(0x630) and c:IsAbleToHand() and not c:IsCode(m)
end
function cm.activate(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(cm.filter,tp,LOCATION_DECK+LOCATION_GRAVE,0,nil)
if g:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(m,0)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local sg=g:Select(tp,1,1,nil)
Duel.SendtoHand(sg,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,sg)
end
end
function cm.thop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetFlagEffect(tp,60010002)==3 then
Duel.Damage(1-tp,1000,REASON_EFFECT)
Duel.Recover(tp,1000,REASON_EFFECT)
elseif Duel.GetFlagEffect(tp,60010002)==5 then
local ht=Duel.GetFieldGroupCount(p,LOCATION_HAND,0)
if ht<5 then
Duel.Draw(tp,5-ht,REASON_EFFECT)
end
elseif Duel.GetFlagEffect(tp,60010002)==7 and Duel.IsExistingMatchingCard(cm.filter2,tp,LOCATION_DECK,0,1,nil) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,cm.filter2,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
end
function cm.filter2(c)
return c:IsCode(60010003) and c:IsAbleToHand()
end
\ No newline at end of file
--统领传说之天
Duel.LoadScript("c60010000.lua")
local cm,m,o=GetID()
function cm.initial_effect(c)
MTC.LHini(c,tp)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetTarget(cm.target)
e1:SetOperation(cm.activate)
c:RegisterEffect(e1)
end
function cm.filter(c,e,tp)
return c:IsSetCard(0x630) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_HAND,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND)
end
function cm.activate(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,cm.filter,tp,LOCATION_HAND,0,1,1,nil,e,tp)
if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
local ti=MTC.LHnum(tp)
if ti~=0 and Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil,e,tp) then
local ti=math.min(ti,Duel.GetLocationCount(tp,LOCATION_MZONE))
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,cm.filter,tp,LOCATION_DECK+LOCATION_GRAVE,0,0,ti,nil,e,tp)
if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
end
end
end
\ No newline at end of file
--传说天之光临
Duel.LoadScript("c60010000.lua")
local cm,m,o=GetID()
function cm.initial_effect(c)
MTC.LHini(c,tp)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetTarget(cm.target)
e1:SetOperation(cm.activate)
c:RegisterEffect(e1)
end
function cm.filter(c,e,tp)
return c:IsSetCard(0x630) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_HAND,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND)
end
function cm.activate(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,cm.filter,tp,LOCATION_HAND,0,1,1,nil,e,tp)
if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
local ti=MTC.LHnum(tp)
if ti~=0 and Duel.IsExistingMatchingCard(aux.TRUE,tp,0,LOCATION_DECK,1,nil) then
local ti=math.min(ti,Duel.GetFieldGroupCount(tp,0,LOCATION_DECK))
local g=Duel.GetDecktopGroup(1-tp,ti)
if g:GetCount()>0 then
Duel.SendtoHand(g,tp,REASON_EFFECT)
end
end
end
end
\ No newline at end of file
--格玛瑞 传说天之双华
Duel.LoadScript("c60010000.lua")
local cm,m,o=GetID()
function cm.initial_effect(c)
MTC.LHSpS(c,2)
--search
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(m,0))
e3:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1)
e3:SetTarget(cm.thtg)
e3:SetOperation(cm.thop)
c:RegisterEffect(e3)
end
function cm.thfil(c)
return not c:IsCode(m) and c:IsAbleToHand()
end
function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.IsExistingMatchingCard(cm.thfil,tp,LOCATION_ONFIELD,0,1,c) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_ONFIELD)
end
function cm.thop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,cm.thfil,tp,LOCATION_ONFIELD,0,1,1,c)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
local ti=MTC.LHnum(tp)*200
Duel.Damage(1-tp,ti,REASON_EFFECT)
end
end
\ No newline at end of file
--欧米特莉 传说天之回翼
Duel.LoadScript("c60010000.lua")
local cm,m,o=GetID()
function cm.initial_effect(c)
MTC.LHSpS(c,2)
--search
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(m,0))
e3:SetCategory(CATEGORY_TOHAND)
e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1)
e3:SetTarget(cm.thtg)
e3:SetOperation(cm.thop)
c:RegisterEffect(e3)
end
function cm.thfil(c)
return c:IsAbleToHand()
end
function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.IsExistingMatchingCard(aux.TRUE,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_ONFIELD)
end
function cm.thop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.GetMatchingGroup(aux.TRUE,tp,LOCATION_ONFIELD,0,nil):RandomSelect(tp,1)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
local ti=MTC.LHnum(tp)*300
Duel.Recover(tp,ti,REASON_EFFECT)
end
end
\ No newline at end of file
--简丝 传说天之剑岚
Duel.LoadScript("c60010000.lua")
local cm,m,o=GetID()
function cm.initial_effect(c)
MTC.LHSpS(c,2)
--search
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(m,0))
e3:SetCategory(CATEGORY_REMOVE)
e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1)
e3:SetTarget(cm.thtg)
e3:SetOperation(cm.thop)
c:RegisterEffect(e3)
end
function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.IsExistingMatchingCard(aux.TRUE,tp,0,LOCATION_ONFIELD,1,c) end
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,1,tp,LOCATION_ONFIELD)
end
function cm.thop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,cm.thfil,tp,0,LOCATION_ONFIELD,1,1,c)
if g:GetCount()>0 then
Duel.Remove(g,POS_FACEUP,REASON_EFFECT)
local ti=math.min(MTC.LHnum(tp),Duel.GetFieldGroupCount(tp,0,LOCATION_DECK))
local rg=Duel.GetDecktopGroup(1-tp,ti)
Duel.Remove(rg,POS_FACEDOWN,REASON_EFFECT)
end
end
\ No newline at end of file
--塔斯汀娜 传说天之长岁
Duel.LoadScript("c60010000.lua")
local cm,m,o=GetID()
function cm.initial_effect(c)
MTC.LHSpS(c,3)
--to hand
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_TRIGGER_O+EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetTarget(cm.thtg)
e1:SetOperation(cm.thop)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e2)
end
function cm.tdfilter(c)
return c:IsSetCard(0x630) and c:IsAbleToHand()
end
function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
local num=Duel.GetFlagEffect(tp,60010002)
if Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)<num then return false end
local g=Duel.GetDecktopGroup(tp,num)
local result=g:FilterCount(Card.IsAbleToHand,nil)>0
return result
end
Duel.SetTargetPlayer(tp)
end
function cm.thop(e,tp,eg,ep,ev,re,r,rp)
local p=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER)
local num=Duel.GetFlagEffect(p,60010002)
Duel.ConfirmDecktop(p,num)
local g=Duel.GetDecktopGroup(p,num)
if not g or #g<num then return end
g=g:Filter(cm.tdfilter,nil)
local ct=num
if #g>0 and Duel.SelectYesNo(p,aux.Stringid(m,2)) then
Duel.Hint(HINT_SELECTMSG,p,HINTMSG_ATOHAND)
local sg=g:Select(p,1,1,nil)
Duel.DisableShuffleCheck()
Duel.SendtoHand(sg,nil,REASON_EFFECT)
Duel.ConfirmCards(1-p,sg)
Duel.ShuffleHand(p)
ct=ct-1
end
Duel.SortDecktop(p,p,ct)
for i=1,ct do
local mg=Duel.GetDecktopGroup(p,1)
Duel.MoveSequence(mg:GetFirst(),SEQ_DECKBOTTOM)
end
end
\ No newline at end of file
--尤娜 传说天之镜月
Duel.LoadScript("c60010000.lua")
local cm,m,o=GetID()
function cm.initial_effect(c)
MTC.LHSpS(c,3)
--to hand
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_TRIGGER_O+EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_SUMMON_SUCCESS)
--e1:SetTarget(cm.thtg)
e1:SetOperation(cm.thop)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e2)
end
function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFieldGroupCount(tp,LOCATION_GRAVE,0)~=0 and Duel.IsPlayerCanDraw(tp) end
end
function cm.thop(e,tp,eg,ep,ev,re,r,rp)
local num=math.min(Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)*5,Duel.GetFlagEffect(tp,60010002))
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local bg=Duel.SelectMatchingCard(tp,aux.TRUE,tp,LOCATION_GRAVE,0,0,num,nil)
if Duel.SendtoDeck(bg,nil,2,REASON_EFFECT) then
local tb=Duel.GetOperatedGroup():Filter(Card.IsLocation,nil,LOCATION_DECK)
local ti=0
while tb>=5 do
tb=tb-5
ti=ti+1
end
if ti~=0 then
Duel.Draw(tp,ti,REASON_EFFECT)
end
end
end
\ No newline at end of file
--伊莎贝尔 传说天之转界
Duel.LoadScript("c60010000.lua")
local cm,m,o=GetID()
function cm.initial_effect(c)
MTC.LHSpS(c,3)
--battle indes
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
e1:GetCondition(cm.con)
e1:SetValue(1)
c:RegisterEffect(e1)
--immune
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_IMMUNE_EFFECT)
e3:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e3:SetRange(LOCATION_MZONE)
e3:GetCondition(cm.con)
e3:SetValue(cm.efilter)
c:RegisterEffect(e3)
end
function cm.efilter(e,re)
return e:GetHandlerPlayer()~=re:GetOwnerPlayer() and re:IsActivated()
end
function cm.con(e,tp,eg,ep,ev,re,r,rp,tc)
return Duel.IsExistingMatchingCard(Card.IsCode,tp,LOCATION_FZONE,0,1,nil,60010002)
end
\ No newline at end of file
--恒久暗月永恒之人 藏匿心之恶兆烛影
local cm,m,o=GetID()
function cm.initial_effect(c)
--link summon
aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkAttribute,ATTRIBUTE_WATER+ATTRIBUTE_LIGHT),3)
c:EnableReviveLimit()
--battle
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_AVOID_BATTLE_DAMAGE)
e1:SetValue(1)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
e2:SetValue(1)
c:RegisterEffect(e2)
--search
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(m,0))
e3:SetCategory(CATEGORY_TOHAND)
e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1)
e3:SetTarget(cm.thtg)
e3:SetOperation(cm.thop)
c:RegisterEffect(e3)
end
function cm.filter(c,e,tp)
return c:IsSetCard(0x630) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE)
end
end
function cm.thop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,cm.filter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
end
\ No newline at end of file
--血煞天枢绝光之枪 镇守天海万古魔识
local cm,m,o=GetID()
function cm.initial_effect(c)
--link summon
aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkAttribute,ATTRIBUTE_WATER+ATTRIBUTE_LIGHT),3,99)
c:EnableReviveLimit()
--battle
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_AVOID_BATTLE_DAMAGE)
e1:SetValue(1)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
e2:SetValue(1)
c:RegisterEffect(e2)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetCode(EFFECT_CANNOT_ACTIVATE)
e2:SetRange(LOCATION_MZONE)
e2:SetTargetRange(1,1)
e2:SetValue(cm.aclimit)
c:RegisterEffect(e2)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_LEAVE_FIELD)
e1:SetRange(LOCATION_MZONE)
e1:SetOperation(cm.thop)
c:RegisterEffect(e1)
end
function cm.aclimit(e,re,tp)
local rc=re:GetHandler()
return rc:IsLocation(LOCATION_HAND) and re:IsActiveType(TYPE_MONSTER)
end
function cm.aclimit2(e,re,tp)
local loc=re:GetActivateLocation()
return (loc==LOCATION_GRAVE or loc==LOCATION_REMOVED) and re:IsActiveType(TYPE_MONSTER)
end
function cm.thop(e,tp,eg,ep,ev,re,r,rp)
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetCode(EFFECT_CANNOT_ACTIVATE)
e2:SetTargetRange(1,1)
e2:SetReset(RESET_PHASE+PHASE_END)
e2:SetValue(cm.aclimit)
Duel.RegisterEffect(e2,tp)
end
\ No newline at end of file
--拟态武装 片光零羽
function c67200660.initial_effect(c)
--xyz summon
aux.AddXyzProcedureLevelFree(c,c67200660.mfilter,c67200660.xyzcheck,2,2)
c:EnableReviveLimit()
--atkup
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(67200660,0))
e1:SetCategory(CATEGORY_ATKCHANGE)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetCondition(c67200660.atkcon1)
e1:SetTarget(c67200660.atktg1)
e1:SetOperation(c67200660.atkop1)
c:RegisterEffect(e1)
--damage
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(67200660,1))
e1:SetCategory(CATEGORY_DAMAGE+CATEGORY_HANDES+CATEGORY_TOGRAVE)
e1:SetRange(LOCATION_MZONE)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetCountLimit(1,67200660)
e1:SetCost(c67200660.damcost)
e1:SetTarget(c67200660.damtg)
e1:SetOperation(c67200660.damop)
c:RegisterEffect(e1)
end
--
function c67200660.mfilter(c,xyzc)
return c:IsXyzType(TYPE_MONSTER) and c:IsSetCard(0x667b)
end
function c67200660.xyzcheck(g)
return g:GetClassCount(c67200660.getlvrklk)==1
end
function c67200660.getlvrklk(c)
if c:IsLevelAbove(0) then return c:GetLevel() end
if c:IsLinkAbove(0) then return c:GetLink() end
--return c:GetLink()
end
function c67200660.atkcon1(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_XYZ)
end
function c67200660.atkval(e,c)
local g=e:GetHandler():GetMaterial()
local ag=Group.Filter(g,Card.IsType,nil,TYPE_MONSTER)
local x=0
local y=0
local tc=ag:GetFirst()
while tc do
y=tc:GetLink()
x=x+y
tc=ag:GetNext()
end
return x*500
end
function c67200660.atktg1(e,tp,eg,ep,ev,re,r,rp,chk)
local mg=e:GetHandler():GetMaterial()
if mg:GetCount()<1 then return false end
if chk==0 then return mg:IsExists(Card.IsType,1,nil,TYPE_LINK) end
end
function c67200660.atkop1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsFacedown() or not c:IsRelateToEffect(e) then return end
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(c67200660.atkval)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
c:RegisterEffect(e1)
end
--
function c67200660.damcost(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 c67200660.damtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetTargetPlayer(1-tp)
Duel.SetTargetParam(600)
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,1-tp,600)
end
function c67200660.sgfilter(c)
return c:IsSetCard(0x667b) and c:IsLevel(3)
end
function c67200660.damop(e,tp,eg,ep,ev,re,r,rp)
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
if Duel.Damage(p,d,REASON_EFFECT)~=0 and Duel.IsExistingMatchingCard(c67200660.sgfilter,tp,LOCATION_SZONE,0,2,nil) and Duel.GetFieldGroupCount(tp,0,LOCATION_HAND)>0 and Duel.SelectYesNo(tp,aux.Stringid(67200660,2)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local sg=Duel.SelectMatchingCard(tp,c67200660.sgfilter,tp,LOCATION_SZONE,0,2,2,nil)
if Duel.SendtoGrave(sg,REASON_EFFECT)~=0 then
local gg=Duel.GetFieldGroup(tp,0,LOCATION_HAND)
local sgg=gg:RandomSelect(tp,1)
Duel.SendtoGrave(sgg,REASON_EFFECT)
end
end
end
\ No newline at end of file
--拟态武装 不灭之翼
function c67200661.initial_effect(c)
--link summon
aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkSetCard,0x667b),2,2,c67200661.lcheck)
c:EnableReviveLimit()
--atkup
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(67200661,0))
e1:SetCategory(CATEGORY_ATKCHANGE)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetCondition(c67200661.atkcon1)
e1:SetTarget(c67200661.atktg1)
e1:SetOperation(c67200661.atkop1)
c:RegisterEffect(e1)
--Gains Effect
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_BE_MATERIAL)
e2:SetProperty(EFFECT_FLAG_EVENT_PLAYER)
e2:SetCountLimit(1,67200661)
e2:SetCondition(c67200661.efcon)
e2:SetOperation(c67200661.efop)
c:RegisterEffect(e2)
end
function c67200661.lcheck(g,lc)
return g:IsExists(Card.IsLinkAttribute,1,nil,ATTRIBUTE_WATER)
end
--
function c67200661.atkcon1(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_LINK)
end
function c67200661.atkval(e,c)
local g=e:GetHandler():GetMaterial()
local ag=Group.Filter(g,Card.IsLevelAbove,nil,1)
local x=0
local y=0
local tc=ag:GetFirst()
while tc do
y=tc:GetLevel()
x=x+y
tc=ag:GetNext()
end
return x*500
end
function c67200661.atktg1(e,tp,eg,ep,ev,re,r,rp,chk)
local mg=e:GetHandler():GetMaterial()
if mg:GetCount()<1 then return false end
if chk==0 then return mg:IsExists(Card.IsLevelAbove,1,nil,1) end
end
function c67200661.atkop1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsFacedown() or not c:IsRelateToEffect(e) then return end
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(c67200661.atkval)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
c:RegisterEffect(e1)
end
--
function c67200661.efcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return r==REASON_XYZ and c:IsPreviousLocation(LOCATION_ONFIELD) and c:GetReasonCard():IsSetCard(0x667b)
end
function c67200661.efop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local rc=c:GetReasonCard()
local e1=Effect.CreateEffect(rc)
e1:SetDescription(aux.Stringid(67200661,1))
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(c:GetBaseAttack())
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
rc:RegisterEffect(e1)
end
--拟态武装 紫竹
function c67200662.initial_effect(c)
--link summon
aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkSetCard,0x667b),2)
c:EnableReviveLimit()
--extra link
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_FIELD)
e0:SetProperty(EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_IGNORE_IMMUNE)
e0:SetRange(LOCATION_EXTRA)
e0:SetTarget(c67200662.mattg)
e0:SetCode(EFFECT_EXTRA_LINK_MATERIAL)
e0:SetTargetRange(LOCATION_SZONE,0)
e0:SetValue(c67200662.matval)
c:RegisterEffect(e0)
--tohand
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(67200662,0))
e1:SetCategory(CATEGORY_ATKCHANGE+CATEGORY_SPECIAL_SUMMON+CATEGORY_TOKEN)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetCondition(c67200662.spcon)
e1:SetTarget(c67200662.sptg)
e1:SetOperation(c67200662.spop)
c:RegisterEffect(e1)
end
---
function c67200662.matval(e,lc,mg,c,tp)
if e:GetHandler()~=lc then return false,nil end
return true,true
end
function c67200662.mattg(e,c)
return c:IsFaceup() and c:IsLinkType(TYPE_MONSTER) and c:IsLevel(3)
end
--
function c67200662.spcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_LINK)
end
function c67200662.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsPlayerCanSpecialSummonMonster(tp,67200663,0,TYPES_TOKEN_MONSTER+TYPE_TUNER,0,0,4,RACE_PSYCHO,ATTRIBUTE_DARK)
and not Duel.IsExistingMatchingCard(Card.IsType,tp,LOCATION_MZONE,0,1,nil,TYPE_TOKEN) end
Duel.SetOperationInfo(0,CATEGORY_TOKEN,nil,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,0)
Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription())
end
function c67200662.spop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
if not Duel.IsPlayerCanSpecialSummonMonster(tp,67200663,0,TYPES_TOKEN_MONSTER+TYPE_TUNER,0,0,4,RACE_PSYCHO,ATTRIBUTE_DARK) then return end
local token=Duel.CreateToken(tp,67200663)
if Duel.SpecialSummon(token,0,tp,tp,false,false,POS_FACEUP)~=0 and Duel.SelectYesNo(tp,aux.Stringid(67200662,2)) then
if Duel.Destroy(e:GetHandler(),REASON_EFFECT)~=0 then
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetTargetRange(LOCATION_MZONE,0)
e1:SetTarget(aux.TargetBoolFunction(Card.IsCode,67200663))
e1:SetValue(c67200662.val)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
end
end
function c67200662.val(e,c)
local ag=Duel.GetMatchingGroup(c67200662.atkfilter,c:GetControler(),LOCATION_GRAVE+LOCATION_MZONE,0,nil)
local x=0
local y=0
local tc=ag:GetFirst()
while tc do
y=tc:GetLink()
x=x+y
tc=ag:GetNext()
end
return x*500
end
function c67200662.atkfilter(c)
return c:IsSetCard(0x667b) and c:IsType(TYPE_LINK)
end
--拟态武装 契约徽章玫茨
function c67200664.initial_effect(c)
--pendulum summon
aux.EnablePendulumAttribute(c)
--spsummon
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(67200644,1))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetRange(LOCATION_PZONE)
e1:SetCountLimit(1)
e1:SetTarget(c67200644.seqtg)
e1:SetOperation(c67200644.seqop)
c:RegisterEffect(e1)
--extra material
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_EXTRA_LINK_MATERIAL)
e2:SetRange(LOCATION_SZONE)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetCountLimit(2,67200644)
e2:SetValue(c67200644.matval)
c:RegisterEffect(e2)
--Attribute Water
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e3:SetCode(EFFECT_ADD_ATTRIBUTE)
e3:SetRange(LOCATION_MZONE)
e3:SetValue(ATTRIBUTE_WATER)
c:RegisterEffect(e3)
end
--
function c67200644.filter(c,e,tp)
return c:IsSetCard(0x667b) and c:IsLevel(3) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP)
end
function c67200644.seqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_SZONE) and chkc:IsControler(tp) and c67200644.filter(chkc,e,tp) end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingTarget(c67200644.filter,tp,LOCATION_SZONE,0,1,e:GetHandler(),e,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectTarget(tp,c67200644.filter,tp,LOCATION_SZONE,0,1,1,e:GetHandler(),e,tp)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,0,0)
end
function c67200644.seqop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)
end
end
---
function c67200644.exmfilter(c)
return c:IsLocation(LOCATION_SZONE) and c:IsCode(67200644)
end
function c67200644.matval(e,lc,mg,c,tp)
if not (lc:IsSetCard(0x667b) and (lc:IsAttribute(ATTRIBUTE_LIGHT) or lc:IsAttribute(ATTRIBUTE_WATER))) then return false,nil end
return true,not mg or not mg:IsExists(c67200644.exmfilter,1,nil)
end
--废铁咒术师
local s,id,o=GetID()
function s.initial_effect(c)
--LinkSummon
aux.AddLinkProcedure(c,s.lkfilter1,2,99,s.lkfilter2)
c:EnableReviveLimit()
--set
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,0))
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_MZONE)
e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_MAIN_END)
e1:SetCountLimit(1,id)
e1:SetTarget(s.tftg)
e1:SetOperation(s.tfop)
c:RegisterEffect(e1)
--special summon
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(id,1))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetRange(LOCATION_MZONE)
e2:SetCode(EVENT_TO_GRAVE)
e2:SetCountLimit(1,id+1)
e2:SetCondition(s.condition)
e2:SetTarget(s.target)
e2:SetOperation(s.operation)
c:RegisterEffect(e2)
end
function s.lkfilter1(c)
return c:IsSetCard(0x24) and c:IsType(TYPE_MONSTER)
end
function s.lkfilter2(g,lc)
return g:IsExists(Card.IsLinkRace,1,nil,TYPE_SYNCHRO+TYPE_LINK)
end
function s.setfilter(c)
return c:IsSetCard(0x24) and c:IsType(TYPE_SPELL+TYPE_TRAP) and c:IsSSetable()
or c:IsCode(48497555) or c:IsCode(50947142) or c:IsCode(85520170) or c:IsCode(98427577)
end
function s.tftg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
local b=Duel.IsExistingMatchingCard(s.setfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil)
if chk==0 then return b end
local g=Duel.SelectTarget(tp,nil,tp,LOCATION_ONFIELD,0,1,1,nil,e,0,tp,false,false,POS_FACEUP,tp)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,nil,1,tp,LOCATION_ONFIELD)
end
function s.tfop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetFirstTarget()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
Duel.Destroy(g,REASON_EFFECT)
if g then
local c=e:GetHandler()
local b=Duel.IsExistingMatchingCard(s.setfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil)
if not b then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET)
local g=Duel.SelectMatchingCard(tp,s.setfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil)
local tc=g:GetFirst()
if tc and Duel.SSet(tp,tc)~=0 then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_TRAP_ACT_IN_SET_TURN)
e1:SetProperty(EFFECT_FLAG_SET_AVAILABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_QP_ACT_IN_SET_TURN)
tc:RegisterEffect(e2)
end
end
end
function s.cfilter(c)
return c:IsReason(REASON_EFFECT) and c:IsPreviousLocation(LOCATION_MZONE) and c:IsPreviousSetCard(0x24) and c:IsPreviousPosition(POS_FACEUP)
end
function s.condition(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(s.cfilter,1,nil)
end
function s.spfilter(c,e,tp)
return c:IsSetCard(0x24) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(s.spfilter,tp,LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE)
end
function s.operation(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,s.spfilter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
if g then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
end
\ No newline at end of file
......@@ -2,7 +2,7 @@
function c88800012.initial_effect(c)
--activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_NEGATE+CATEGORY_DESTROY)
e1:SetCategory(CATEGORY_NEGATE+CATEGORY_RELEASE)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_CHAINING)
e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
......@@ -11,6 +11,9 @@ function c88800012.initial_effect(c)
e1:SetTarget(c88800012.distg)
e1:SetOperation(c88800012.disop)
c:RegisterEffect(e1)
local e3=e1:Clone()
e3:SetCode(c88800012.condition1)
c:RegisterEffect(e3)
--spsummon1
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_QUICK_O)
......@@ -24,13 +27,20 @@ function c88800012.initial_effect(c)
c:RegisterEffect(e2)
end
function c88800012.filter(c)
return c:IsFaceup() and c:IsSetCard(0xc01) and c:IsType(TYPE_MONSTER) and c:IsType(TYPE_FUSION)
return c:IsFaceup() and c:IsSetCard(0xc01) and c:IsType(TYPE_MONSTER)
end
function c88800012.condition(e,tp,eg,ep,ev,re,r,rp)
if not Duel.IsExistingMatchingCard(c88800012.filter,tp,LOCATION_MZONE,0,1,nil) then return false end
if not Duel.IsChainNegatable(ev) then return false end
return re:IsActiveType(TYPE_MONSTER+TYPE_SPELL+TYPE_TRAP)
end
function c88800012.pcfilter(c)
return c:IsFacedown() or not c:IsSetCard(0xc01)
end
function c88800012.condition1(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetFieldGroup(tp,LOCATION_MZONE,0)
return g:GetCount()>0 and not g:IsExists(s.pcfilter,1,nil)
end
function c88800012.distg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_DISABLE,eg,1,0,0)
......@@ -44,25 +54,19 @@ function c88800012.disop(e,tp,eg,ep,ev,re,r,rp,chk)
end
end
function c88800012.cfilter(c)
return c:IsSetCard(0xc01) and c:IsType(TYPE_TRAP) and c:IsDiscardable()
return c:IsSetCard(0xc01) and c:IsDiscardable()
end
function c88800012.spcost1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c88800012.cfilter,tp,LOCATION_HAND,0,1,e:GetHandler()) end
Duel.DiscardHand(tp,c88800012.cfilter,1,1,REASON_COST+REASON_DISCARD,e:GetHandler())
end
function c88800012.sfilter(c)
return c:IsSetCard(0xc01) and c:IsType(TYPE_TRAP+TYPE_SPELL) and c:IsSSetable()
end
function c88800012.settg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0
and Duel.IsExistingMatchingCard(c88800012.sfilter,tp,LOCATION_HAND,0,1,nil) end
if chk==0 then return true end
Duel.SetTargetPlayer(1-tp)
Duel.SetTargetParam(1200)
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,1-tp,1200)
end
function c88800012.setop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET)
local g=Duel.SelectMatchingCard(tp,c88800012.sfilter,tp,LOCATION_HAND,0,1,1,nil)
local tc=g:GetFirst()
if tc then
Duel.SSet(tp,tc)
end
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
Duel.Damage(p,d,REASON_EFFECT)
end
\ No newline at end of file
......@@ -46,12 +46,14 @@ end
function c88800020.ffilter(c)
return c:IsSetCard(0xc01) and c:IsType(TYPE_MONSTER)
end
function c88800020.cfilter1(c,tp)
return c:IsSetCard(0xc01) and Duel.IsExistingTarget(Card.IsReleasableByEffect,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,c)
function c88800020.costfilter(c,tp)
return (c:IsControler(tp) or c:IsFaceup())
and ((c:IsSetCard(0xc01) and c:IsType(TYPE_MONSTER)) or c:IsHasEffect(88800021,tp) and c:IsControler(1-tp))
end
function c88800020.discost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckReleaseGroup(REASON_COST,tp,c88800020.cfilter1,1,nil,tp) end
local g=Duel.SelectReleaseGroup(REASON_COST,tp,c88800020.cfilter1,1,1,nil,tp)
if chk==0 then return Duel.CheckReleaseGroup(tp,c88800020.costfilter,1,nil,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local g=Duel.SelectReleaseGroup(tp,c88800020.costfilter,1,1,nil,tp)
Duel.Release(g,REASON_COST)
end
function c88800020.rltg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
......
......@@ -35,12 +35,25 @@ function cm.initial_effect(c)
e4:SetTargetRange(0,1)
e4:SetCondition(cm.costcon)
c:RegisterEffect(e4)
--release replace
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_FIELD)
e5:SetCode(EFFECT_EXTRA_RELEASE_NONSUM)
e5:SetRange(LOCATION_MZONE)
e5:SetTargetRange(0,LOCATION_MZONE)
e5:SetTarget(aux.TRUE)
e5:SetCountLimit(1)
e5:SetValue(cm.relval)
c:RegisterEffect(e5)
local e6=e5:Clone()
e6:SetCode(m)
c:RegisterEffect(e6)
end
function cm.cfilter(c)
return c:IsFaceup() and c:IsSetCard(0xc01) and c:IsType(TYPE_MONSTER)
return c:IsFaceup() and c:IsSetCard(0xc01)
end
function cm.spcon1(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(cm.cfilter,tp,LOCATION_MZONE,0,1,nil)
return Duel.IsExistingMatchingCard(cm.cfilter,tp,LOCATION_ONFIELD,0,1,nil)
end
function cm.sptg1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
......@@ -66,3 +79,6 @@ end
function cm.costop(e,tp,eg,ep,ev,re,r,rp)
Duel.PayLPCost(tp,360)
end
function cm.relval(e,re,r,rp)
return re:IsActivated() and re:GetHandler():IsSetCard(0xc01) and bit.band(r,REASON_COST)~=0
end
\ No newline at end of file
......@@ -39,7 +39,7 @@ function c9910186.target(e,tp,eg,ep,ev,re,r,rp,chk)
local tep=nil
if Duel.GetCurrentChain()>1 then tep=Duel.GetChainInfo(Duel.GetCurrentChain()-1,CHAININFO_TRIGGERING_PLAYER) end
if e:IsHasType(EFFECT_TYPE_ACTIVATE) and tep and tep==1-tp then
e:SetCategory(CATEGORY_DESTROY+CATEGORY_REMOVE)
e:SetCategory(CATEGORY_HANDES+CATEGORY_TOHAND+CATEGORY_SEARCH+CATEGORY_DESTROY+CATEGORY_REMOVE)
e:SetLabel(1)
end
end
......
......@@ -14,7 +14,7 @@ function c9910202.initial_effect(c)
c:RegisterEffect(e1)
--negate
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_NEGATE+CATEGORY_SPECIAL_SUMMON)
e2:SetCategory(CATEGORY_NEGATE+CATEGORY_DESTROY)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_CHAINING)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
......@@ -62,8 +62,16 @@ end
function c9910202.retop(e,tp,eg,ep,ev,re,r,rp)
Duel.ReturnToField(e:GetLabelObject())
end
function c9910202.locfilter(c)
return
end
function c9910202.distg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
local tg=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS)
if re:IsHasProperty(EFFECT_FLAG_CARD_TARGET) and tg and #tg>0 then
e:SetCategory(CATEGORY_NEGATE+CATEGORY_DESTROY+CATEGORY_SPECIAL_SUMMON)
e:SetLabel(1)
end
Duel.SetOperationInfo(0,CATEGORY_NEGATE,eg,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,0,tp,LOCATION_REMOVED)
if re:GetHandler():IsDestructable() and re:GetHandler():IsRelateToEffect(re) then
......@@ -71,18 +79,11 @@ function c9910202.distg(e,tp,eg,ep,ev,re,r,rp,chk)
end
end
function c9910202.spfilter(c,e,tp)
return c:IsType(TYPE_LINK) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c9910202.locfilter(c)
return c:IsLocation(LOCATION_ONFIELD+LOCATION_GRAVE)
or c:IsPreviousLocation(LOCATION_ONFIELD+LOCATION_GRAVE)
return c:IsFaceup() and c:IsType(TYPE_LINK) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c9910202.disop(e,tp,eg,ep,ev,re,r,rp)
local tg=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS)
if Duel.NegateActivation(ev) and re:GetHandler():IsRelateToEffect(re) then
Duel.Destroy(eg,REASON_EFFECT)
end
if tg and tg:IsExists(c9910202.locfilter,1,nil) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
if Duel.NegateActivation(ev) and re:GetHandler():IsRelateToEffect(re) and Duel.Destroy(eg,REASON_EFFECT)>0
and e:GetLabel()==1 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c9910202.spfilter,tp,LOCATION_REMOVED,0,1,nil,e,tp)
and Duel.SelectYesNo(tp,aux.Stringid(9910202,0)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
......
......@@ -3,6 +3,7 @@ function c9910501.initial_effect(c)
c:EnableReviveLimit()
--destroy
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(9910501,0))
e1:SetCategory(CATEGORY_DESTROY)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
......@@ -10,28 +11,26 @@ function c9910501.initial_effect(c)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetCountLimit(1,9910501)
e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e1:SetCondition(c9910501.descon)
e1:SetTarget(c9910501.destg)
e1:SetOperation(c9910501.desop)
c:RegisterEffect(e1)
--tohand
--release
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_TOHAND)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_RELEASE)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP)
e2:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP)
e2:SetCountLimit(1,9910502)
e2:SetTarget(c9910501.thtg)
e2:SetOperation(c9910501.thop)
e2:SetTarget(c9910501.rltg)
e2:SetOperation(c9910501.rlop)
c:RegisterEffect(e2)
end
function c9910501.descon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetAttack()>e:GetHandler():GetBaseAttack()
c9910501.tsukisome_release_effect=e2
end
function c9910501.destg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local c=e:GetHandler()
if chkc then return chkc:IsOnField() end
if chk==0 then return Duel.IsExistingTarget(nil,tp,0,LOCATION_ONFIELD,1,nil) end
if chkc then return chkc:IsOnField() and chkc:IsControler(1-tp) end
if chk==0 then return c:IsLocation(LOCATION_MZONE) and c:IsFaceup() and c:GetAttack()>c:GetBaseAttack()
and Duel.IsExistingTarget(nil,tp,0,LOCATION_ONFIELD,1,nil) end
Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription())
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g=Duel.SelectTarget(tp,nil,tp,0,LOCATION_ONFIELD,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0)
......@@ -41,7 +40,7 @@ function c9910501.desop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local label=e:GetLabel()
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and Duel.Destroy(tc,REASON_EFFECT)~=0 and label>0 then
if tc:IsRelateToEffect(e) and Duel.Destroy(tc,REASON_EFFECT)~=0 and label>0 and c:IsRelateToEffect(e) and c:IsFaceup() then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
......@@ -50,19 +49,16 @@ function c9910501.desop(e,tp,eg,ep,ev,re,r,rp)
c:RegisterEffect(e1)
end
end
function c9910501.thfilter(c)
return c:IsSetCard(0xa950) and c:IsAbleToHand()
function c9910501.rlfilter(c)
return c:IsType(TYPE_MONSTER) and c:IsSetCard(0xa950) and c:IsReleasableByEffect()
end
function c9910501.thtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and c9910501.thfilter(chkc) end
if chk==0 then return Duel.IsExistingTarget(c9910501.thfilter,tp,LOCATION_GRAVE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectTarget(tp,c9910501.thfilter,tp,LOCATION_GRAVE,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,g,1,0,0)
function c9910501.rltg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c9910501.rlfilter,tp,LOCATION_DECK,0,1,nil) end
end
function c9910501.thop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then
Duel.SendtoHand(tc,nil,REASON_EFFECT)
function c9910501.rlop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local g=Duel.SelectMatchingCard(tp,c9910501.rlfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoGrave(g,REASON_RELEASE+REASON_EFFECT)
end
end
......@@ -3,11 +3,13 @@ function c9910503.initial_effect(c)
c:EnableReviveLimit()
--atk up
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_ATKCHANGE)
e1:SetDescription(aux.Stringid(9910503,0))
e1:SetCategory(CATEGORY_ATKCHANGE+CATEGORY_DRAW)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1,9910503)
e1:SetCondition(c9910503.atkcon)
e1:SetTarget(c9910503.atktg)
e1:SetOperation(c9910503.atkop)
......@@ -18,40 +20,51 @@ function c9910503.initial_effect(c)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_RELEASE)
e2:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP)
e2:SetCountLimit(1,9910503)
e2:SetCountLimit(1,9910513)
e2:SetTarget(c9910503.thtg)
e2:SetOperation(c9910503.thop)
c:RegisterEffect(e2)
c9910503.tsukisome_release_effect=e2
end
function c9910503.cfilter(c,tp)
return c:IsFaceup() and c:IsSetCard(0xa950) and c:IsControler(tp)
function c9910503.cfilter(c)
return c:IsFaceup() and c:IsSetCard(0xa950)
end
function c9910503.atkcon(e,tp,eg,ep,ev,re,r,rp)
return not eg:IsContains(e:GetHandler()) and eg:IsExists(c9910503.cfilter,1,nil,tp)
return not eg:IsContains(e:GetHandler()) and eg:IsExists(c9910503.cfilter,1,nil)
end
function c9910503.atkfilter(c)
return c:IsFaceup() and not c:IsAttack(c:GetBaseAttack())
end
function c9910503.atkfilter2(c)
return c:IsFaceup() and c:IsType(TYPE_RITUAL)
end
function c9910503.atktg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c9910503.atkfilter,tp,LOCATION_MZONE,0,1,nil) end
local atkg=Duel.GetMatchingGroup(c9910503.atkfilter,tp,LOCATION_MZONE,LOCATION_MZONE,nil)
local num=math.floor(#atkg/3)
if chk==0 then return Duel.IsExistingMatchingCard(c9910503.atkfilter2,tp,LOCATION_MZONE,0,1,nil)
and (num<1 or Duel.IsPlayerCanDraw(tp,num)) end
Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription())
end
function c9910503.atkop(e,tp,eg,ep,ev,re,r,rp)
local tg=Duel.GetMatchingGroup(c9910503.atkfilter,tp,LOCATION_MZONE,0,nil)
if tg:GetCount()>0 then
local sc=tg:GetFirst()
while sc do
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetValue(400)
sc:RegisterEffect(e1)
sc=tg:GetNext()
end
local g=Duel.GetMatchingGroup(c9910503.atkfilter2,tp,LOCATION_MZONE,0,nil)
tc=g:GetFirst()
if not tc then return end
while tc do
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(400)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1)
tc=g:GetNext()
end
local atkg=Duel.GetMatchingGroup(c9910503.atkfilter,tp,LOCATION_MZONE,LOCATION_MZONE,nil)
local num=math.floor(#atkg/3)
if num<1 then return end
Duel.Draw(tp,num,REASON_EFFECT)
end
function c9910503.thfilter(c)
return c:IsSetCard(0xa950) and c:IsType(TYPE_MONSTER) and c:IsAbleToHand() and not c:IsCode(9910503)
return c:IsSetCard(0xa950) and c:IsType(TYPE_MONSTER) and c:IsAbleToHand()
end
function c9910503.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c9910503.thfilter,tp,LOCATION_DECK,0,1,nil) end
......
--桃绯傀儡 鸨田奏海
function c9910505.initial_effect(c)
c:EnableReviveLimit()
--ritual summon
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_RELEASE+CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1,9910505)
e1:SetTarget(c9910505.rstg)
e1:SetOperation(c9910505.rsop)
c:RegisterEffect(e1)
--draw
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_HANDES+CATEGORY_DRAW)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_RELEASE)
e2:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP)
e2:SetCountLimit(1,9910506)
e2:SetTarget(c9910505.drtg)
e2:SetOperation(c9910505.drop)
c:RegisterEffect(e2)
end
function c9910505.rcheck(gc)
return function(tp,g,c)
return g:IsContains(gc)
end
end
function c9910505.filter(c)
return c:IsSetCard(0xa950)
end
function c9910505.rstg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then
local mg=Duel.GetRitualMaterial(tp)
aux.RCheckAdditional=c9910505.rcheck(c)
local res=mg:IsContains(c) and Duel.IsExistingMatchingCard(aux.RitualUltimateFilter,tp,LOCATION_HAND,0,1,nil,c9910505.filter,e,tp,mg,nil,Card.GetLevel,"Greater")
aux.RCheckAdditional=nil
return res
end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND)
end
function c9910505.rsop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local mg=Duel.GetRitualMaterial(tp)
if c:GetControler()~=tp or not c:IsRelateToEffect(e) or not mg:IsContains(c) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
aux.RCheckAdditional=c9910505.rcheck(c)
local tg=Duel.SelectMatchingCard(tp,aux.RitualUltimateFilter,tp,LOCATION_HAND,0,1,1,nil,c9910505.filter,e,tp,mg,nil,Card.GetLevel,"Greater")
local tc=tg:GetFirst()
if tc then
mg=mg:Filter(Card.IsCanBeRitualMaterial,tc,tc)
if tc.mat_filter then
mg=mg:Filter(tc.mat_filter,tc,tp)
else
mg:RemoveCard(tc)
end
if not mg:IsContains(c) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
Duel.SetSelectedCard(c)
aux.GCheckAdditional=aux.RitualCheckAdditional(tc,tc:GetLevel(),"Greater")
local mat=mg:SelectSubGroup(tp,aux.RitualCheck,false,1,tc:GetLevel(),tp,tc,tc:GetLevel(),"Greater")
aux.GCheckAdditional=nil
if not mat or mat:GetCount()==0 then
aux.RCheckAdditional=nil
return
end
tc:SetMaterial(mat)
Duel.ReleaseRitualMaterial(mat)
Duel.BreakEffect()
if Duel.SpecialSummon(tc,SUMMON_TYPE_RITUAL,tp,tp,false,true,POS_FACEUP)~=0 then
tc:CompleteProcedure()
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(800)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1,true)
end
end
aux.RCheckAdditional=nil
end
function c9910505.drtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return Duel.IsPlayerCanDraw(tp,1) end
Duel.SetTargetPlayer(tp)
Duel.SetTargetParam(1)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
Duel.SetOperationInfo(0,CATEGORY_HANDES,nil,0,tp,1)
end
function c9910505.drop(e,tp,eg,ep,ev,re,r,rp,chk)
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
if Duel.Draw(p,d,REASON_EFFECT)~=0 then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DISCARD)
local g=Duel.SelectMatchingCard(tp,aux.TRUE,tp,LOCATION_HAND,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoGrave(g,REASON_EFFECT+REASON_DISCARD)
end
end
end
--桃绯武士 生浒
--桃绯武士 生浒
function c9910507.initial_effect(c)
c:EnableReviveLimit()
--search
--equip
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SEARCH+CATEGORY_TOHAND)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCondition(c9910507.srcon)
e1:SetTarget(c9910507.srtg)
e1:SetOperation(c9910507.srop)
e1:SetDescription(aux.Stringid(9910507,0))
e1:SetCategory(CATEGORY_EQUIP)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_MZONE)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetCountLimit(1,9910507)
e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e1:SetTarget(c9910507.eqtg)
e1:SetOperation(c9910507.eqop)
c:RegisterEffect(e1)
--ritual summon
--atkup
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,9910507)
e2:SetCondition(c9910507.spcon)
e2:SetTarget(c9910507.sptg)
e2:SetOperation(c9910507.spop)
e2:SetCategory(CATEGORY_ATKCHANGE)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_RELEASE)
e2:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP)
e2:SetCountLimit(1,9910508)
e2:SetOperation(c9910507.regop)
c:RegisterEffect(e2)
--atkup
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_ATKCHANGE)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_RELEASE)
e3:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP)
e3:SetCountLimit(1,9910508)
e3:SetTarget(c9910507.atktg)
e3:SetOperation(c9910507.atkop)
c:RegisterEffect(e3)
end
function c9910507.srfilter(c)
return c:IsSetCard(0xa950) and c:IsType(TYPE_EQUIP) and c:IsAbleToHand()
c9910507.tsukisome_release_effect=e2
end
function c9910507.srcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_RITUAL)
end
function c9910507.srtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c9910507.srfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function c9910507.srop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c9910507.srfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
function c9910507.tgfilter(c,tp)
return c:IsFaceup() and c:IsSetCard(0xa950) and Duel.IsExistingMatchingCard(c9910507.eqfilter,tp,LOCATION_DECK,0,1,nil,c,tp)
end
function c9910507.spcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetAttack()>e:GetHandler():GetBaseAttack()
function c9910507.eqfilter(c,tc,tp)
return c:IsType(TYPE_EQUIP) and c:CheckEquipTarget(tc) and c:CheckUniqueOnField(tp) and not c:IsForbidden()
end
function c9910507.spfilter(c,e,tp)
return c:GetType()&0x81==0x81 and c:IsSetCard(0xa950) and c:IsLevelBelow(4)
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_RITUAL,tp,true,false)
end
function c9910507.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
function c9910507.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local c=e:GetHandler()
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c9910507.spfilter,tp,LOCATION_HAND,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and c9910507.tgfilter(chkc,tp) end
if chk==0 then return c:IsLocation(LOCATION_MZONE) and c:IsFaceup() and c:GetAttack()>c:GetBaseAttack()
and Duel.IsExistingTarget(c9910507.tgfilter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil,tp) end
Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription())
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
Duel.SelectTarget(tp,c9910507.tgfilter,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil,tp)
e:SetLabel(c:GetAttack()-c:GetBaseAttack())
end
function c9910507.spop(e,tp,eg,ep,ev,re,r,rp)
function c9910507.eqop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 then return end
local c=e:GetHandler()
local label=e:GetLabel()
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c9910507.spfilter,tp,LOCATION_HAND,0,1,1,nil,e,tp)
local tc=g:GetFirst()
if g:GetCount()>0 and Duel.SpecialSummon(tc,SUMMON_TYPE_RITUAL,tp,tp,true,false,POS_FACEUP)~=0 then
tc:CompleteProcedure()
if label>0 then
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and tc:IsFaceup() then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
local g=Duel.SelectMatchingCard(tp,c9910507.eqfilter,tp,LOCATION_DECK,0,1,1,nil,tc,tp)
if #g>0 and Duel.Equip(tp,g:GetFirst(),tc) and label>0 and c:IsRelateToEffect(e) and c:IsFaceup() then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
......@@ -83,23 +59,35 @@ function c9910507.spop(e,tp,eg,ep,ev,re,r,rp)
end
end
end
function c9910507.atkfilter(c)
return c:IsFaceup() and c:IsType(TYPE_RITUAL)
function c9910507.regop(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PHASE+PHASE_STANDBY)
e1:SetCountLimit(1)
if Duel.GetCurrentPhase()==PHASE_STANDBY then
e1:SetLabel(Duel.GetTurnCount())
e1:SetReset(RESET_PHASE+PHASE_STANDBY,2)
else
e1:SetLabel(0)
e1:SetReset(RESET_PHASE+PHASE_STANDBY)
end
e1:SetCondition(c9910507.atkcon)
e1:SetOperation(c9910507.atkop)
Duel.RegisterEffect(e1,tp)
end
function c9910507.atktg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c9910507.atkfilter(chkc) end
if chk==0 then return Duel.IsExistingTarget(c9910507.atkfilter,tp,LOCATION_MZONE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
Duel.SelectTarget(tp,c9910507.atkfilter,tp,LOCATION_MZONE,0,1,1,nil)
function c9910507.atkcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnCount()~=e:GetLabel() and Duel.IsExistingMatchingCard(Card.IsFaceup,tp,LOCATION_MZONE,0,1,nil)
end
function c9910507.atkop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsFaceup() and tc:IsRelateToEffect(e) then
local e1=Effect.CreateEffect(e:GetHandler())
Duel.Hint(HINT_CARD,0,9910507)
local c=e:GetHandler()
local g=Duel.GetMatchingGroup(Card.IsFaceup,tp,LOCATION_MZONE,0,nil)
for tc in aux.Next(g) do
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(1000)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetValue(750)
tc:RegisterEffect(e1)
end
end
......@@ -2,83 +2,62 @@
function c9910512.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_ATKCHANGE)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DAMAGE_STEP)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,9910512+EFFECT_COUNT_CODE_OATH)
e1:SetHintTiming(TIMING_DAMAGE_STEP,TIMINGS_CHECK_MONSTER+TIMING_DAMAGE_STEP)
e1:SetCondition(aux.dscon)
e1:SetTarget(c9910512.target)
e1:SetOperation(c9910512.activate)
c:RegisterEffect(e1)
--atk
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_ATKCHANGE)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetRange(LOCATION_SZONE)
e2:SetCountLimit(1,9910512)
e2:SetTarget(c9910512.atktg)
e2:SetOperation(c9910512.atkop)
c:RegisterEffect(e2)
--destroy
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_DESTROY)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_SPSUMMON_SUCCESS)
e3:SetRange(LOCATION_SZONE)
e3:SetCountLimit(1,9910513)
e3:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DELAY)
e3:SetCondition(c9910512.descon)
e3:SetTarget(c9910512.destg)
e3:SetOperation(c9910512.desop)
c:RegisterEffect(e3)
end
function c9910512.atkfilter(c)
return c:IsFaceup() and c:IsSetCard(0xa950)
function c9910512.spfilter(c,e,tp)
return c:IsSetCard(0xa950) and c:IsLevel(4) and c:GetType()&0x81==0x81 and c:IsCanBeSpecialSummoned(e,0,tp,true,false)
end
function c9910512.atktg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(1-tp) and aux.nzatk(chkc) end
if chk==0 then return Duel.IsExistingTarget(aux.nzatk,tp,0,LOCATION_MZONE,1,nil)
and Duel.IsExistingMatchingCard(c9910512.atkfilter,tp,LOCATION_MZONE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
Duel.SelectTarget(tp,aux.nzatk,tp,0,LOCATION_MZONE,1,1,nil)
end
function c9910512.atkop(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end
local tc=Duel.GetFirstTarget()
local g=Duel.GetMatchingGroup(c9910512.atkfilter,tp,LOCATION_MZONE,0,nil)
if g:GetCount()==0 or tc:IsFacedown() or not tc:IsRelateToEffect(e) then return end
local atk=tc:GetAttack()
local sc=g:GetFirst()
while sc do
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(math.ceil(atk/2))
sc:RegisterEffect(e1)
sc=g:GetNext()
end
if tc:IsFaceup() and tc:IsRelateToEffect(e) and not tc:IsImmuneToEffect(e) then
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_ATTACK_FINAL)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
e1:SetValue(math.ceil(atk/2))
tc:RegisterEffect(e1)
end
end
function c9910512.cfilter(c,tp)
return c:IsFaceup() and c:IsSetCard(0xa950) and c:IsControler(tp)
function c9910512.filter(c,e,tp)
local b1=c:GetAttack()<c:GetBaseAttack() and Duel.IsExistingMatchingCard(Card.IsCanTurnSet,tp,0,LOCATION_MZONE,1,nil)
local b2=c:GetAttack()>c:GetBaseAttack() and Duel.IsExistingMatchingCard(c9910512.spfilter,tp,LOCATION_DECK,0,1,nil,e,tp)
return c:IsFaceup() and (b1 or b2)
end
function c9910512.descon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c9910512.cfilter,1,nil,tp)
end
function c9910512.destg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsOnField() and chkc:IsControler(1-tp) and chkc:IsFacedown() end
if chk==0 then return Duel.IsExistingTarget(Card.IsFacedown,tp,0,LOCATION_ONFIELD,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g=Duel.SelectTarget(tp,Card.IsFacedown,tp,0,LOCATION_ONFIELD,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0)
function c9910512.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsControler(tp) and chkc:IsLocation(LOCATION_MZONE) and c9910512.filter(chkc,e,tp) end
if chk==0 then return Duel.IsExistingTarget(c9910512.filter,tp,LOCATION_MZONE,0,1,nil,e,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
Duel.SelectTarget(tp,c9910512.filter,tp,LOCATION_MZONE,0,1,1,nil,e,tp)
end
function c9910512.desop(e,tp,eg,ep,ev,re,r,rp)
function c9910512.activate(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then
Duel.Destroy(tc,REASON_EFFECT)
if tc:IsRelateToEffect(e) and tc:IsFaceup() then
local atk=tc:GetAttack()
local batk=tc:GetBaseAttack()
if atk<batk then
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(1000)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_POSCHANGE)
local g=Duel.SelectMatchingCard(tp,Card.IsCanTurnSet,tp,0,LOCATION_MZONE,1,2,nil)
if g:GetCount()>0 then
Duel.HintSelection(g)
Duel.ChangePosition(g,POS_FACEDOWN_DEFENSE)
end
elseif atk>batk then
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_UPDATE_ATTACK)
e2:SetValue(-1000)
e2:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e2)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sc=Duel.SelectMatchingCard(tp,c9910512.spfilter,tp,LOCATION_DECK,0,1,1,nil,e,tp):GetFirst()
if sc then
Duel.SpecialSummon(sc,SUMMON_VALUE_NOUVELLEZ,tp,tp,true,false,POS_FACEUP)
end
end
end
end
--桃绯武士 数马
--桃绯武士 数马
function c9910515.initial_effect(c)
c:EnableReviveLimit()
--ritual summon
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_ATKCHANGE+CATEGORY_SPECIAL_SUMMON)
e1:SetDescription(aux.Stringid(9910515,0))
e1:SetCategory(CATEGORY_ATKCHANGE)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1,9910515)
e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e1:SetCondition(c9910515.spcon)
e1:SetTarget(c9910515.sptg)
e1:SetOperation(c9910515.spop)
e1:SetTarget(c9910515.atktg)
e1:SetOperation(c9910515.atkop)
c:RegisterEffect(e1)
--atkup
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_ATKCHANGE)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_RELEASE)
e3:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP)
e3:SetCountLimit(1,9910516)
e3:SetTarget(c9910515.atktg)
e3:SetOperation(c9910515.atkop)
c:RegisterEffect(e3)
--set card
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_GRAVE_SPSUMMON)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_RELEASE)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP)
e2:SetCountLimit(1,9910516)
e2:SetOperation(c9910515.regop)
c:RegisterEffect(e2)
c9910515.tsukisome_release_effect=e2
end
function c9910515.spcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetAttack()>e:GetHandler():GetBaseAttack()
end
function c9910515.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
function c9910515.atktg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
local g=Duel.GetMatchingGroup(Card.IsFaceup,tp,0,LOCATION_MZONE,nil)
if c:IsFaceup() then g:AddCard(c) end
if chk==0 then return g:GetCount()>0 end
if chk==0 then return c:IsLocation(LOCATION_MZONE) and c:IsFaceup() and c:GetAttack()>c:GetBaseAttack() and #g>0 end
Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription())
e:SetLabel(c:GetAttack()-c:GetBaseAttack())
end
function c9910515.spfilter(c,e,tp,sum)
return c:GetType()&0x81==0x81 and c:IsSetCard(0xa950) and c:IsAttackBelow(sum)
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_RITUAL,tp,true,false)
end
function c9910515.spop(e,tp,eg,ep,ev,re,r,rp)
function c9910515.atkop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local label=e:GetLabel()
if label<=0 then return end
local g=Duel.GetMatchingGroup(Card.IsFaceup,tp,0,LOCATION_MZONE,nil)
if c:IsFaceup() and c:IsRelateToEffect(e) then g:AddCard(c) end
local sum=0
if g:GetCount()>0 then
local sc=g:GetFirst()
while sc do
local preatk=sc:GetAttack()
if #g>0 then
for tc in aux.Next(g) do
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetValue(-label)
sc:RegisterEffect(e1)
if sc:GetAttack()<preatk then sum=sum+preatk-sc:GetAttack() end
sc=g:GetNext()
tc:RegisterEffect(e1)
end
end
if sum~=0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c9910515.spfilter,tp,LOCATION_DECK,0,1,nil,e,tp,sum)
and Duel.SelectYesNo(tp,aux.Stringid(9910515,0)) then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c9910515.spfilter,tp,LOCATION_DECK,0,1,1,nil,e,tp,sum)
local tc=g:GetFirst()
if tc then
Duel.SpecialSummon(tc,SUMMON_TYPE_RITUAL,tp,tp,true,false,POS_FACEUP)
tc:CompleteProcedure()
end
end
function c9910515.regop(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetCountLimit(1)
if Duel.GetCurrentPhase()==PHASE_END then
e1:SetLabel(Duel.GetTurnCount())
e1:SetReset(RESET_PHASE+PHASE_END,2)
else
e1:SetLabel(0)
e1:SetReset(RESET_PHASE+PHASE_END)
end
e1:SetCondition(c9910515.setcon)
e1:SetOperation(c9910515.setop)
Duel.RegisterEffect(e1,tp)
end
function c9910515.atktg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(1-tp) and chkc:IsFaceup() end
if chk==0 then return Duel.IsExistingTarget(Card.IsFaceup,tp,0,LOCATION_MZONE,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
Duel.SelectTarget(tp,Card.IsFaceup,tp,0,LOCATION_MZONE,1,1,nil)
function c9910515.setfilter(c,e,tp)
if not c:IsSetCard(0xa950) or not c:IsFaceupEx() then return false end
if c:IsType(TYPE_MONSTER) then
return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEDOWN_DEFENSE)
else return c:IsSSetable() end
end
function c9910515.atkop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsFaceup() and tc:IsRelateToEffect(e) then
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(-500)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1)
function c9910515.setcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnCount()~=e:GetLabel()
and Duel.IsExistingMatchingCard(aux.NecroValleyFilter(c9910515.setfilter),tp,LOCATION_GRAVE+LOCATION_REMOVED,0,1,nil,e,tp)
end
function c9910515.setop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_CARD,0,9910515)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c9910515.setfilter),tp,LOCATION_GRAVE+LOCATION_REMOVED,0,1,1,nil,e,tp)
local tc=g:GetFirst()
if tc then
if tc:IsType(TYPE_MONSTER) then
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEDOWN_DEFENSE)
Duel.ConfirmCards(1-tp,tc)
else
Duel.SSet(tp,tc)
end
end
end
......@@ -10,6 +10,7 @@ function c9910521.initial_effect(c)
c:RegisterEffect(e1)
--to hand
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(9910521,2))
e2:SetCategory(CATEGORY_SEARCH+CATEGORY_TOHAND)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_MZONE)
......@@ -38,6 +39,7 @@ function c9910521.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
end
function c9910521.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFieldGroupCount(tp,0,LOCATION_HAND)>0 end
Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription())
end
function c9910521.thfilter(c,cardtype)
return c:IsSetCard(0xa950) and c:IsType(cardtype) and c:IsAbleToHand()
......
--桃绯武士 更科睦美
function c9910527.initial_effect(c)
c:EnableReviveLimit()
--negate
--tohand
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_HAND)
e1:SetDescription(aux.Stringid(9910527,0))
e1:SetCategory(CATEGORY_TOHAND)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_MZONE)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetCountLimit(1,9910527)
e1:SetCost(c9910527.cost)
e1:SetOperation(c9910527.operation)
e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e1:SetTarget(c9910527.thtg)
e1:SetOperation(c9910527.thop)
c:RegisterEffect(e1)
--tohand
--negate
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_TOHAND)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_MZONE)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetCategory(CATEGORY_DISABLE)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_RELEASE)
e2:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP)
e2:SetCountLimit(1,9910528)
e2:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e2:SetCondition(c9910527.thcon)
e2:SetTarget(c9910527.thtg)
e2:SetOperation(c9910527.thop)
e2:SetTarget(c9910527.distg)
e2:SetOperation(c9910527.disop)
c:RegisterEffect(e2)
end
function c9910527.cfilter(c)
return c:IsType(TYPE_RITUAL) and c:IsType(TYPE_MONSTER) and c:IsReleasable()
end
function c9910527.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsReleasable()
and Duel.IsExistingMatchingCard(c9910527.cfilter,tp,LOCATION_HAND,0,1,e:GetHandler()) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local g=Duel.SelectMatchingCard(tp,c9910527.cfilter,tp,LOCATION_HAND,0,1,1,e:GetHandler())
g:AddCard(e:GetHandler())
Duel.Release(g,REASON_COST)
end
function c9910527.operation(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_CANNOT_SUMMON)
e1:SetTargetRange(1,0)
e1:SetTarget(c9910527.splimit)
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(c9910527.negcon)
e2:SetOperation(c9910527.negop)
e2:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e2,tp)
end
function c9910527.splimit(e,c)
return not c:IsSetCard(0xa950)
end
function c9910527.negcon(e,tp,eg,ep,ev,re,r,rp)
return rp==1-tp and Duel.IsChainDisablable(ev) and Duel.GetFlagEffect(tp,9910527)<1
end
function c9910527.negop(e,tp,eg,ep,ev,re,r,rp)
if not Duel.SelectYesNo(tp,aux.Stringid(9910527,0)) then return end
Duel.Hint(HINT_CARD,0,9910527)
Duel.RegisterFlagEffect(tp,9910527,RESET_PHASE+PHASE_END,0,1)
Duel.NegateEffect(ev)
end
function c9910527.thcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetAttack()>e:GetHandler():GetBaseAttack()
c9910527.tsukisome_release_effect=e2
end
function c9910527.thtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local c=e:GetHandler()
if chkc then return chkc:IsOnField() and chkc~=c and c:IsAbleToHand() end
if chk==0 then return Duel.IsExistingTarget(Card.IsAbleToHand,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,c) end
if chk==0 then return c:IsLocation(LOCATION_MZONE) and c:IsFaceup() and c:GetAttack()>c:GetBaseAttack()
and Duel.IsExistingTarget(Card.IsAbleToHand,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,c) end
Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription())
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RTOHAND)
local g=Duel.SelectTarget(tp,Card.IsAbleToHand,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,c)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,g,1,0,0)
......@@ -79,7 +41,8 @@ function c9910527.thop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local label=e:GetLabel()
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and Duel.SendtoHand(tc,nil,REASON_EFFECT)~=0 and label>0 then
if tc:IsRelateToEffect(e) and Duel.SendtoHand(tc,nil,REASON_EFFECT)~=0 and tc:IsLocation(LOCATION_HAND)
and label>0 and c:IsRelateToEffect(e) and c:IsFaceup() then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
......@@ -88,3 +51,55 @@ function c9910527.thop(e,tp,eg,ep,ev,re,r,rp)
c:RegisterEffect(e1)
end
end
function c9910527.disfilter(c,e)
return c:IsFaceupEx() and c:IsType(TYPE_EFFECT) and (c:IsCanBeDisabledByEffect(e) or c:IsLocation(LOCATION_GRAVE))
end
function c9910527.distg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c9910527.disfilter,tp,0,LOCATION_MZONE+LOCATION_GRAVE,1,nil,e) end
end
function c9910527.disop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DISABLE)
local g=Duel.SelectMatchingCard(tp,c9910527.disfilter,tp,0,LOCATION_MZONE+LOCATION_GRAVE,1,1,nil,e)
local tc=g:GetFirst()
if tc then
Duel.HintSelection(g)
if tc:IsLocation(LOCATION_MZONE) then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_DISABLE_EFFECT)
tc:RegisterEffect(e2)
end
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_DISABLE)
e3:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE)
e3:SetTarget(c9910527.distg2)
e3:SetLabelObject(tc)
e3:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e3,tp)
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e4:SetCode(EVENT_CHAIN_SOLVING)
e4:SetCondition(c9910527.discon2)
e4:SetOperation(c9910527.disop2)
e4:SetLabelObject(tc)
e4:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e4,tp)
end
end
function c9910527.distg2(e,c)
local tc=e:GetLabelObject()
return c:IsOriginalCodeRule(tc:GetOriginalCodeRule())
end
function c9910527.discon2(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetLabelObject()
return re:IsActiveType(TYPE_MONSTER) and re:GetHandler():IsOriginalCodeRule(tc:GetOriginalCodeRule())
end
function c9910527.disop2(e,tp,eg,ep,ev,re,r,rp)
Duel.NegateEffect(ev)
end
......@@ -27,13 +27,13 @@ function c9910723.filter(c,lv,e,tp)
and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and c:IsCanBeSpecialSummoned(e,0,tp,true,false)
end
function c9910723.target(e,tp,eg,ep,ev,re,r,rp,chk)
local lv=Duel.GetFieldGroupCount(1-tp,LOCATION_MZONE,0)
local lv=Duel.GetFieldGroupCount(1-tp,LOCATION_MZONE,0)+1
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c9910723.filter,tp,LOCATION_DECK,0,1,nil,lv,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
end
function c9910723.activate(e,tp,eg,ep,ev,re,r,rp)
local lv=Duel.GetFieldGroupCount(1-tp,LOCATION_MZONE,0)
local lv=Duel.GetFieldGroupCount(1-tp,LOCATION_MZONE,0)+1
if Duel.GetLocationCount(tp,LOCATION_MZONE)>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c9910723.filter,tp,LOCATION_DECK,0,1,1,nil,lv,e,tp)
......@@ -52,8 +52,7 @@ function c9910723.cost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SendtoGrave(g,REASON_COST)
end
function c9910723.target2(e,tp,eg,ep,ev,re,r,rp,chk)
local lv=Duel.GetFieldGroupCount(1-tp,LOCATION_MZONE,0)
if e:IsHasType(EFFECT_TYPE_ACTIVATE) then lv=lv+1 end
local lv=Duel.GetFieldGroupCount(1-tp,LOCATION_MZONE,0)+1
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c9910723.filter,tp,LOCATION_DECK,0,1,nil,lv,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
......@@ -65,12 +64,11 @@ function c9910723.chlimit(e,ep,tp)
return tp==ep
end
function c9910723.activate2(e,tp,eg,ep,ev,re,r,rp)
local lv=Duel.GetFieldGroupCount(1-tp,LOCATION_MZONE,0)
if e:IsHasType(EFFECT_TYPE_ACTIVATE) then lv=lv+1 end
local lv=Duel.GetFieldGroupCount(1-tp,LOCATION_MZONE,0)+1
local ct=1
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
if ft<=0 then return end
if ft>1 and e:IsHasType(EFFECT_TYPE_ACTIVATE) then ct=2 end
if e:IsHasType(EFFECT_TYPE_ACTIVATE) and ft>1 and not Duel.IsPlayerAffectedByEffect(tp,59822133) then ct=2 end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c9910723.filter,tp,LOCATION_DECK,0,1,ct,nil,lv,e,tp)
if g:GetCount()>0 then
......
......@@ -27,7 +27,7 @@ function c9911324.initial_effect(c)
c:RegisterEffect(e3)
--destroy
local e4=Effect.CreateEffect(c)
e4:SetCategory(CATEGORY_TOHAND)
e4:SetCategory(CATEGORY_DESTROY)
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e4:SetCode(EVENT_TO_GRAVE)
e4:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DELAY)
......
--苍穹之兽王骑士
function c9911401.initial_effect(c)
c:EnableReviveLimit()
--xyz summon
aux.AddXyzProcedureLevelFree(c,c9911401.mfilter,aux.TRUE,2,2)
--search
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1,9911401)
e1:SetCost(c9911401.thcost)
e1:SetTarget(c9911401.thtg)
e1:SetOperation(c9911401.thop)
c:RegisterEffect(e1)
--special summon
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_GRAVE)
e2:SetCountLimit(1,9911402)
e2:SetHintTiming(0,TIMING_MAIN_END)
e2:SetCondition(c9911401.spcon)
e2:SetCost(c9911401.spcost)
e2:SetTarget(c9911401.sptg)
e2:SetOperation(c9911401.spop)
c:RegisterEffect(e2)
end
function c9911401.mfilter(c,xyzc)
return c:IsXyzLevel(xyzc,4) or c:IsXyzLevel(xyzc,8)
end
function c9911401.thcost(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 c9911401.thfilter(c)
return c:IsLevelAbove(5) and c:IsRace(RACE_BEASTWARRIOR) and c:IsAbleToHand()
end
function c9911401.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c9911401.thfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function c9911401.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c9911401.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 c9911401.spcon(e,tp,eg,ep,ev,re,r,rp)
local ph=Duel.GetCurrentPhase()
return ph==PHASE_MAIN1 or ph==PHASE_MAIN2
end
function c9911401.gcheck1(g,tp)
return g:IsExists(c9911401.typfilter,1,nil,tp)
end
function c9911401.typfilter(c,tp)
local type1=c:GetType()&0x7
return Duel.IsExistingMatchingCard(c9911401.xmfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil,type1)
end
function c9911401.xmfilter(c,type1)
return c:IsType(type1) and c:IsFaceup() and c:IsCanOverlay()
end
function c9911401.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
local g=Duel.GetMatchingGroup(Card.IsDiscardable,tp,LOCATION_HAND,0,nil)
if chk==0 then return g:CheckSubGroup(c9911401.gcheck1,2,2,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DISCARD)
local sg=g:SelectSubGroup(tp,c9911401.gcheck1,false,2,2,tp)
Duel.SendtoGrave(sg,REASON_DISCARD+REASON_COST)
local type1=sg:GetFirst():GetType()&0x7
type1=sg:GetNext():GetType()&0x7|type1
e:SetLabel(type1)
end
function c9911401.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and c:IsType(TYPE_XYZ)
and c:IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
end
function c9911401.gcheck2(g,type1,type2)
return #g==1 or aux.gfcheck(g,Card.IsType,type1,type2)
end
function c9911401.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local type1=e:GetLabel()
if c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)>0 and type1>0 then
local g=Duel.GetMatchingGroup(c9911401.xmfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,c,type1)
if #g==0 then return end
local type2=0
if type1&0x1~=0 then
type2=type1-0x1
type1=0x1
elseif type1&0x2~=0 then
type2=type1-0x2
type1=0x2
end
local sg=Group.CreateGroup()
if type2==0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_XMATERIAL)
sg=g:Select(tp,1,1,nil)
else
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_XMATERIAL)
sg=g:SelectSubGroup(tp,c9911401.gcheck2,false,1,2,type1,type2)
end
if #sg==0 then return end
Duel.HintSelection(sg)
local og=Group.CreateGroup()
for tc in aux.Next(sg) do
og:Merge(tc:GetOverlayGroup())
tc:CancelToGrave()
end
if #og>0 then Duel.SendtoGrave(og,REASON_RULE) end
Duel.Overlay(c,sg)
end
end
--浮光之圣泉 桑茨普茵
function c9911403.initial_effect(c)
--spsummon
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,9911403)
e1:SetCost(c9911403.spcost)
e1:SetTarget(c9911403.sptg)
e1:SetOperation(c9911403.spop)
c:RegisterEffect(e1)
--atk
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_ATKCHANGE)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetOperation(c9911403.atkop)
c:RegisterEffect(e2)
if c9911403.counter==nil then
c9911403.counter=true
c9911403[0]=0
c9911403[1]=0
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e2:SetCode(EVENT_PHASE_START+PHASE_DRAW)
e2:SetOperation(c9911403.resetcount)
Duel.RegisterEffect(e2,0)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e3:SetCode(EVENT_RELEASE)
e3:SetOperation(c9911403.addcount)
Duel.RegisterEffect(e3,0)
end
end
function c9911403.resetcount(e,tp,eg,ep,ev,re,r,rp)
c9911403[0]=0
c9911403[1]=0
end
function c9911403.cfilter(c,tp)
return c:GetFlagEffectLabel(9911404) and c:GetFlagEffectLabel(9911404)>0 and c:GetSummonPlayer()==tp
end
function c9911403.addcount(e,tp,eg,ep,ev,re,r,rp)
local tc=eg:GetFirst()
while tc do
if tc:IsPreviousLocation(LOCATION_MZONE) or (tc:IsPreviousLocation(LOCATION_HAND) and tc:IsType(TYPE_MONSTER)) then
local p=tc:GetPreviousControler()
local sc=Duel.GetMatchingGroup(c9911403.cfilter,0,LOCATION_MZONE,LOCATION_MZONE,nil,p):GetFirst()
if sc then
local flag=sc:GetFlagEffectLabel(9911404)
if c9911403[p]<flag then c9911403[p]=c9911403[p]+1 end
sc:SetFlagEffectLabel(9911404,flag+1)
end
end
tc=eg:GetNext()
end
end
function c9911403.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
local g=Duel.GetDecktopGroup(tp,3)
if chk==0 then return g:FilterCount(Card.IsAbleToRemoveAsCost,nil,POS_FACEDOWN)==3 end
Duel.DisableShuffleCheck()
Duel.Remove(g,POS_FACEDOWN,REASON_COST)
local fid=e:GetHandler():GetFieldID()
for tc in aux.Next(g) do
tc:RegisterFlagEffect(9911403,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1,fid)
end
g:KeepAlive()
e:SetLabel(fid)
e:SetLabelObject(g)
end
function c9911403.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
end
function c9911403.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)>0 then
local g=e:GetLabelObject()
if #g>0 then
c:RegisterFlagEffect(9911404,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1,1)
g:KeepAlive()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetCountLimit(1)
e1:SetLabel(e:GetLabel())
e1:SetLabelObject(g)
e1:SetCondition(c9911403.thcon)
e1:SetOperation(c9911403.thop)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
end
end
function c9911403.thfilter(c,fid)
return c:GetFlagEffectLabel(9911403)==fid and c:IsAbleToHand()
end
function c9911403.thcon(e,tp,eg,ep,ev,re,r,rp)
local g=e:GetLabelObject()
if not g:IsExists(c9911403.thfilter,1,nil,e:GetLabel()) then
g:DeleteGroup()
e:Reset()
return false
else return true end
end
function c9911403.thop(e,tp,eg,ep,ev,re,r,rp)
local g=e:GetLabelObject()
local sg=g:Filter(c9911403.thfilter,nil,e:GetLabel())
g:DeleteGroup()
if #sg>0 and c9911403[tp]>=3 then
Duel.Hint(HINT_CARD,0,9911403)
Duel.SendtoHand(sg,nil,REASON_EFFECT)
end
end
function c9911403.atkop(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetTargetRange(LOCATION_MZONE,0)
e1:SetValue(c9911403.value1)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
local e2=e1:Clone()
e2:SetTargetRange(0,LOCATION_MZONE)
e2:SetValue(c9911403.value2)
Duel.RegisterEffect(e2,tp)
end
function c9911403.value1(e,c)
return Duel.GetMatchingGroupCount(Card.IsFacedown,0,LOCATION_REMOVED,LOCATION_REMOVED,nil)*200
end
function c9911403.value2(e,c)
return Duel.GetMatchingGroupCount(Card.IsFacedown,0,LOCATION_REMOVED,LOCATION_REMOVED,nil)*(-200)
end
......@@ -1122,6 +1122,9 @@
#锦依卫66ccff 745
!setname 0x745 人偶
#???
!setname 0x630 传说天
#TYGOC Submissions
#Desruc_6872 987
!counter 0x57b Scarlet Counter
......
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