Commit c9618fc1 authored by POLYMER's avatar POLYMER

update 250915

parent 340466f2
......@@ -3351,7 +3351,6 @@
40010894 0
42620027 0
42620045 0
98920173 2
98920491 0
99990220 1
10173058 2
......@@ -7194,7 +7193,6 @@
11451972 1
11451997 1
11513042 1
33202007 1
71200816 1
7457077 1
95101148 1
......@@ -7252,7 +7250,6 @@
23558733 0 --Phoenixian Cluster Amaryllis
1357146 0 --Ronintoadin
75732622 0 --Grinder Golem
67441435 0 --Glow-up Bulb
91258852 0 --SPYRAL Master Plan
20292186 0 --Artifact Scythe
73356503 0 --Barrier Statue of the Stormwinds
......@@ -7281,14 +7278,12 @@
50588353 0 --Crystron Halqifibrax
39064822 0 --Knightmare Goblin
22593417 0 --Topologic Gumblar Dragon
61665245 0 --Summon Sorceress
3679218 0 --Knightmare Mermaid
85243784 0 --Linkross
59537380 0 --Guardragon Agarpain
24094258 0 --Heavymetalfoes Electrumite
83152482 0 --Union Carrier
86148577 0 --Guardragon Elpy
48905153 0 --Zoodiac Drident
72330894 0 --Simorgh, Bird of Sovereignty
44097050 0 --Mecha Phantom Beast Auroradon
25725326 0 --Prank-Kids Meow-Meow-Mu
......@@ -7299,10 +7294,8 @@
95474755 0 --Number 89: Diablosis the Mind Hacker
48626373 0 --Kashtira Arise-Heart
59934749 0 --Isolde, Two Tales of the Noble Knights
41999284 0 --Linkuriboh
84815190 0 --Baronne de Fleur
27548199 0 --Borreload Savage Dragon
46640168 0 --Fiendsmith's Lacrima
04280258 0 --Apollousa, Bow of the Goddess
62242678 0 --Hot Red Dragon Archfiend King Calamity
27552504 0 --Beatrice, Lady of the Eternal
......@@ -7310,6 +7303,10 @@
30342076 0
21044178 0
440556 0
71818935 0
59859086 0
11398059 0
35772782 0
##SPELLS CARDS
69243953 0 --Butterfly Dagger - Elma
57953380 0 --Card of Safe Return
......@@ -7357,7 +7354,6 @@
33396948 1 --Exodia the Forbidden One
78872731 1 --Zoodiac Ratpier
14536035 1 --Dark Grepher
12958919 1 --Phantom Skyblaster
38572779 1 --Miscellaneousaurus
76794549 1 --Astrograph Sorcerer
20663556 1 --Substitoad
......@@ -7368,11 +7364,13 @@
572850 1 --Tearlaments Scheiren
38814750 1 --PSY-Framegear Gamma
33854624 1 --Bystial Magnamhut
21377582 1 --Master Peace, The True Dracoslaying King
36521307 1 --Mathmech Circular
91810826 1
6637331 1
91800273 1
34022970 1
32061192 1
29302858 1
##EXTRA DECK MONSTERS
39512984 1 --Gem-Knight Master Diamond
90953320 1 --T.G. Hyper Librarian
......@@ -7384,8 +7382,13 @@
6728559 1 --Archnemeses Protos
75433814 1 --Number 40: Gimmick Puppet of Strings
69170557 1 --Number C40: Gimmick Puppet of Dark Strings
46640168 1 --Fiendsmith's Lacrima
41999284 1 --Linkuriboh
61665245 1 --Summon Sorceress
48905153 1 --Zoodiac Drident
80453041 1
34909328 1
79606837 1
##SPELLS CARDS
95308449 1 --Final Countdown
81439173 1 --Foolish Burial
......@@ -7407,7 +7410,6 @@
24940422 1 --Sekka's Light
15854426 1 --Divine Wind of the Mist Valley
71650854 1 --Magical Mid-Breaker Field
13035077 1 --Dragonic Diagram
91623717 1 --Chain Strike
72892473 1 --Card Destruction
24224830 1 --Called by the Grave
......@@ -7418,16 +7420,17 @@
99266988 1 --Chaos Space
45986603 1 --Snatch Steal
67616300 1 --Chicken Game
44362883 1 --Branded Fusion
30336082 1 --Sangen Summoning
84211599 1 --Pot of Prosperity
11110587 1 --That Grass Looks Greener
46060017 1 --Zoodiac Barrage
7394770 1 --Brilliant Fusion
66730191 1
85106525 1
65681983 1
25311006 1
31552317 1
72537897 1
54562327 1
##TRAPS CARDS
32723153 1 --Magical Explosion
3734202 1 --Naturia Sacred Tree
......@@ -7436,21 +7439,17 @@
24207889 1 --There Can Be Only One
58921041 1 --Anti-Spell Fragrance
82732705 1 --Skill Drain
41420027 1
#Semi-Limited TCG
14532163 2 --Lightning Storm
55584558 2 --Purrely Delicious Memory
21347668 2 --Purrely Sleepy Memory
92107604 2 --Runick Fountain
33508719 2 --Morphing Jar
09674034 2 --Snake-Eye Ash
90241276 2 --Snake-Eyes Poplar
99234526 2 --White Dragon Wyverburster
61901281 2 --Black Dragon Collapserpent
41165831 2 --Unchained Soul of Sharvara
34022970 2
44362883 2 --Branded Fusion
8633261 2
35844557 2
32061192 2
69272449 2
68337209 2
......@@ -7646,7 +7645,6 @@
23558733 1 --Phoenixian Cluster Amaryllis
1357146 1 --Ronintoadin
75732622 1 --Grinder Golem
67441435 1 --Glow-up Bulb
91258852 1 --SPYRAL Master Plan
20292186 1 --Artifact Scythe
73356503 1 --Barrier Statue of the Stormwinds
......@@ -7655,6 +7653,10 @@
25926710 1 --Kelbek the Ancient Vanguard
41855169 1
55204071 1
71818935 1
59859086 1
11398059 1
35772782 1
##EXTRA DECK MONSTERS
17412721 1 --Elder Entity Norden
43387895 1 --Supreme King Dragon Starving Venom
......@@ -7675,14 +7677,12 @@
50588353 1 --Crystron Halqifibrax
39064822 1 --Knightmare Goblin
22593417 1 --Topologic Gumblar Dragon
61665245 1 --Summon Sorceress
3679218 1 --Knightmare Mermaid
85243784 1 --Linkross
59537380 1 --Guardragon Agarpain
24094258 1 --Heavymetalfoes Electrumite
83152482 1 --Union Carrier
86148577 1 --Guardragon Elpy
48905153 1 --Zoodiac Drident
72330894 1 --Simorgh, Bird of Sovereignty
44097050 1 --Mecha Phantom Beast Auroradon
25725326 1 --Prank-Kids Meow-Meow-Mu
......@@ -7693,10 +7693,8 @@
95474755 1 --Number 89: Diablosis the Mind Hacker
48626373 1 --Kashtira Arise-Heart
59934749 1 --Isolde, Two Tales of the Noble Knights
41999284 1 --Linkuriboh
84815190 1 --Baronne de Fleur
27548199 1 --Borreload Savage Dragon
46640168 1 --Fiendsmith's Lacrima
04280258 1 --Apollousa, Bow of the Goddess
62242678 1 --Hot Red Dragon Archfiend King Calamity
27552504 1 --Beatrice, Lady of the Eternal
......
No preview for this file type
expansions/pics/33202007.jpg

28.7 KB | W: | H:

expansions/pics/33202007.jpg

80.2 KB | W: | H:

expansions/pics/33202007.jpg
expansions/pics/33202007.jpg
expansions/pics/33202007.jpg
expansions/pics/33202007.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/66680110.jpg

49.4 KB | W: | H:

expansions/pics/66680110.jpg

49.6 KB | W: | H:

expansions/pics/66680110.jpg
expansions/pics/66680110.jpg
expansions/pics/66680110.jpg
expansions/pics/66680110.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/66680115.jpg

48.3 KB | W: | H:

expansions/pics/66680115.jpg

48.4 KB | W: | H:

expansions/pics/66680115.jpg
expansions/pics/66680115.jpg
expansions/pics/66680115.jpg
expansions/pics/66680115.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/66680120.jpg

51.4 KB | W: | H:

expansions/pics/66680120.jpg

49.4 KB | W: | H:

expansions/pics/66680120.jpg
expansions/pics/66680120.jpg
expansions/pics/66680120.jpg
expansions/pics/66680120.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/66680125.jpg

50.3 KB | W: | H:

expansions/pics/66680125.jpg

50.6 KB | W: | H:

expansions/pics/66680125.jpg
expansions/pics/66680125.jpg
expansions/pics/66680125.jpg
expansions/pics/66680125.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/66680130.jpg

50.1 KB | W: | H:

expansions/pics/66680130.jpg

51 KB | W: | H:

expansions/pics/66680130.jpg
expansions/pics/66680130.jpg
expansions/pics/66680130.jpg
expansions/pics/66680130.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/66680135.jpg

52 KB | W: | H:

expansions/pics/66680135.jpg

51.1 KB | W: | H:

expansions/pics/66680135.jpg
expansions/pics/66680135.jpg
expansions/pics/66680135.jpg
expansions/pics/66680135.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/66680210.jpg

53.5 KB | W: | H:

expansions/pics/66680210.jpg

53.7 KB | W: | H:

expansions/pics/66680210.jpg
expansions/pics/66680210.jpg
expansions/pics/66680210.jpg
expansions/pics/66680210.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/66680215.jpg

49.7 KB | W: | H:

expansions/pics/66680215.jpg

49.9 KB | W: | H:

expansions/pics/66680215.jpg
expansions/pics/66680215.jpg
expansions/pics/66680215.jpg
expansions/pics/66680215.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/66680220.jpg

57.2 KB | W: | H:

expansions/pics/66680220.jpg

57.3 KB | W: | H:

expansions/pics/66680220.jpg
expansions/pics/66680220.jpg
expansions/pics/66680220.jpg
expansions/pics/66680220.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/66680310.jpg

51.9 KB | W: | H:

expansions/pics/66680310.jpg

52.1 KB | W: | H:

expansions/pics/66680310.jpg
expansions/pics/66680310.jpg
expansions/pics/66680310.jpg
expansions/pics/66680310.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/66680315.jpg

55.9 KB | W: | H:

expansions/pics/66680315.jpg

55.4 KB | W: | H:

expansions/pics/66680315.jpg
expansions/pics/66680315.jpg
expansions/pics/66680315.jpg
expansions/pics/66680315.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/66680320.jpg

49.4 KB | W: | H:

expansions/pics/66680320.jpg

50 KB | W: | H:

expansions/pics/66680320.jpg
expansions/pics/66680320.jpg
expansions/pics/66680320.jpg
expansions/pics/66680320.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/66680325.jpg

50.4 KB | W: | H:

expansions/pics/66680325.jpg

50.6 KB | W: | H:

expansions/pics/66680325.jpg
expansions/pics/66680325.jpg
expansions/pics/66680325.jpg
expansions/pics/66680325.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/66680330.jpg

48 KB | W: | H:

expansions/pics/66680330.jpg

46.2 KB | W: | H:

expansions/pics/66680330.jpg
expansions/pics/66680330.jpg
expansions/pics/66680330.jpg
expansions/pics/66680330.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/66680335.jpg

50.4 KB | W: | H:

expansions/pics/66680335.jpg

50.6 KB | W: | H:

expansions/pics/66680335.jpg
expansions/pics/66680335.jpg
expansions/pics/66680335.jpg
expansions/pics/66680335.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/66690235.jpg

67.6 KB | W: | H:

expansions/pics/66690235.jpg

67.1 KB | W: | H:

expansions/pics/66690235.jpg
expansions/pics/66690235.jpg
expansions/pics/66690235.jpg
expansions/pics/66690235.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/75646150.jpg

49.7 KB | W: | H:

expansions/pics/75646150.jpg

66.5 KB | W: | H:

expansions/pics/75646150.jpg
expansions/pics/75646150.jpg
expansions/pics/75646150.jpg
expansions/pics/75646150.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/75646151.jpg

41.4 KB | W: | H:

expansions/pics/75646151.jpg

51.1 KB | W: | H:

expansions/pics/75646151.jpg
expansions/pics/75646151.jpg
expansions/pics/75646151.jpg
expansions/pics/75646151.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/75646152.jpg

45.9 KB | W: | H:

expansions/pics/75646152.jpg

62.2 KB | W: | H:

expansions/pics/75646152.jpg
expansions/pics/75646152.jpg
expansions/pics/75646152.jpg
expansions/pics/75646152.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/75646153.jpg

44.6 KB | W: | H:

expansions/pics/75646153.jpg

62.4 KB | W: | H:

expansions/pics/75646153.jpg
expansions/pics/75646153.jpg
expansions/pics/75646153.jpg
expansions/pics/75646153.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/75646154.jpg

38.2 KB | W: | H:

expansions/pics/75646154.jpg

54.7 KB | W: | H:

expansions/pics/75646154.jpg
expansions/pics/75646154.jpg
expansions/pics/75646154.jpg
expansions/pics/75646154.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/75646155.jpg

46.5 KB | W: | H:

expansions/pics/75646155.jpg

62.7 KB | W: | H:

expansions/pics/75646155.jpg
expansions/pics/75646155.jpg
expansions/pics/75646155.jpg
expansions/pics/75646155.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/75646156.jpg

48.8 KB | W: | H:

expansions/pics/75646156.jpg

65 KB | W: | H:

expansions/pics/75646156.jpg
expansions/pics/75646156.jpg
expansions/pics/75646156.jpg
expansions/pics/75646156.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/75646157.jpg

46.6 KB | W: | H:

expansions/pics/75646157.jpg

62.4 KB | W: | H:

expansions/pics/75646157.jpg
expansions/pics/75646157.jpg
expansions/pics/75646157.jpg
expansions/pics/75646157.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/75646159.jpg

46.9 KB | W: | H:

expansions/pics/75646159.jpg

62.4 KB | W: | H:

expansions/pics/75646159.jpg
expansions/pics/75646159.jpg
expansions/pics/75646159.jpg
expansions/pics/75646159.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/75646161.jpg

47.9 KB | W: | H:

expansions/pics/75646161.jpg

62.7 KB | W: | H:

expansions/pics/75646161.jpg
expansions/pics/75646161.jpg
expansions/pics/75646161.jpg
expansions/pics/75646161.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/75646163.jpg

51.2 KB | W: | H:

expansions/pics/75646163.jpg

66.1 KB | W: | H:

expansions/pics/75646163.jpg
expansions/pics/75646163.jpg
expansions/pics/75646163.jpg
expansions/pics/75646163.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/75646165.jpg

51 KB | W: | H:

expansions/pics/75646165.jpg

63.9 KB | W: | H:

expansions/pics/75646165.jpg
expansions/pics/75646165.jpg
expansions/pics/75646165.jpg
expansions/pics/75646165.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/75646167.jpg

49.2 KB | W: | H:

expansions/pics/75646167.jpg

63.3 KB | W: | H:

expansions/pics/75646167.jpg
expansions/pics/75646167.jpg
expansions/pics/75646167.jpg
expansions/pics/75646167.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/75646168.jpg

49.3 KB | W: | H:

expansions/pics/75646168.jpg

60.4 KB | W: | H:

expansions/pics/75646168.jpg
expansions/pics/75646168.jpg
expansions/pics/75646168.jpg
expansions/pics/75646168.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/75646169.jpg

49.3 KB | W: | H:

expansions/pics/75646169.jpg

64.6 KB | W: | H:

expansions/pics/75646169.jpg
expansions/pics/75646169.jpg
expansions/pics/75646169.jpg
expansions/pics/75646169.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/75646170.jpg

47.3 KB | W: | H:

expansions/pics/75646170.jpg

62.3 KB | W: | H:

expansions/pics/75646170.jpg
expansions/pics/75646170.jpg
expansions/pics/75646170.jpg
expansions/pics/75646170.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/75646171.jpg

41.8 KB | W: | H:

expansions/pics/75646171.jpg

61.9 KB | W: | H:

expansions/pics/75646171.jpg
expansions/pics/75646171.jpg
expansions/pics/75646171.jpg
expansions/pics/75646171.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/75646172.jpg

40.5 KB | W: | H:

expansions/pics/75646172.jpg

59.6 KB | W: | H:

expansions/pics/75646172.jpg
expansions/pics/75646172.jpg
expansions/pics/75646172.jpg
expansions/pics/75646172.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/75646200.jpg

45.7 KB | W: | H:

expansions/pics/75646200.jpg

58.4 KB | W: | H:

expansions/pics/75646200.jpg
expansions/pics/75646200.jpg
expansions/pics/75646200.jpg
expansions/pics/75646200.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/75646201.jpg

42.8 KB | W: | H:

expansions/pics/75646201.jpg

57 KB | W: | H:

expansions/pics/75646201.jpg
expansions/pics/75646201.jpg
expansions/pics/75646201.jpg
expansions/pics/75646201.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/75646202.jpg

46.8 KB | W: | H:

expansions/pics/75646202.jpg

59.5 KB | W: | H:

expansions/pics/75646202.jpg
expansions/pics/75646202.jpg
expansions/pics/75646202.jpg
expansions/pics/75646202.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/75646203.jpg

48.5 KB | W: | H:

expansions/pics/75646203.jpg

59 KB | W: | H:

expansions/pics/75646203.jpg
expansions/pics/75646203.jpg
expansions/pics/75646203.jpg
expansions/pics/75646203.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/75646204.jpg

45 KB | W: | H:

expansions/pics/75646204.jpg

50 KB | W: | H:

expansions/pics/75646204.jpg
expansions/pics/75646204.jpg
expansions/pics/75646204.jpg
expansions/pics/75646204.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/75646522.jpg

44.3 KB | W: | H:

expansions/pics/75646522.jpg

50.6 KB | W: | H:

expansions/pics/75646522.jpg
expansions/pics/75646522.jpg
expansions/pics/75646522.jpg
expansions/pics/75646522.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/75646601.jpg

49.3 KB | W: | H:

expansions/pics/75646601.jpg

61.3 KB | W: | H:

expansions/pics/75646601.jpg
expansions/pics/75646601.jpg
expansions/pics/75646601.jpg
expansions/pics/75646601.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910731.jpg

49.5 KB | W: | H:

expansions/pics/9910731.jpg

49.9 KB | W: | H:

expansions/pics/9910731.jpg
expansions/pics/9910731.jpg
expansions/pics/9910731.jpg
expansions/pics/9910731.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910747.jpg

44.6 KB | W: | H:

expansions/pics/9910747.jpg

45.2 KB | W: | H:

expansions/pics/9910747.jpg
expansions/pics/9910747.jpg
expansions/pics/9910747.jpg
expansions/pics/9910747.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910750.jpg

45.6 KB | W: | H:

expansions/pics/9910750.jpg

46.7 KB | W: | H:

expansions/pics/9910750.jpg
expansions/pics/9910750.jpg
expansions/pics/9910750.jpg
expansions/pics/9910750.jpg
  • 2-up
  • Swipe
  • Onion skin
local cm,m=GetID()
function cm.initial_effect(c)
--send to grave
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_TOGRAVE)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,m)
e1:SetCost(cm.tgcost)
e1:SetTarget(cm.tgtg)
e1:SetOperation(cm.tgop)
c:RegisterEffect(e1)
cm.discard_effect=e1
--fusion summon
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(m,1))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_FUSION_SUMMON)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_REMOVE)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCountLimit(1,m+1)
e2:SetTarget(cm.fustg)
e2:SetOperation(cm.fusop)
c:RegisterEffect(e2)
end
function cm.tgcost(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.tgfilter(c)
return c:IsSetCard(0xa450) and c:IsType(TYPE_SPELL+TYPE_TRAP) and c:IsAbleToGrave()
end
function cm.tgtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.tgfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_DECK)
end
function cm.tgop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,cm.tgfilter,tp,LOCATION_DECK,0,1,1,nil)
if #g>0 then
Duel.SendtoGrave(g,REASON_EFFECT)
end
end
function cm.filter0(c)
return c:IsType(TYPE_MONSTER) and c:IsCanBeFusionMaterial() and c:IsAbleToDeck()
end
function cm.filter1(c,e)
return c:IsType(TYPE_MONSTER) and c:IsCanBeFusionMaterial() and c:IsAbleToDeck() and not c:IsImmuneToEffect(e)
end
function cm.filter2(c,e,tp,m,f,chkf)
return c:IsType(TYPE_FUSION) and c:IsAttribute(ATTRIBUTE_FIRE) and (not f or f(c))
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false) and c:CheckFusionMaterial(m,nil,chkf)
end
function cm.fustg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
local chkf=tp
local mg1=Duel.GetMatchingGroup(cm.filter0,tp,LOCATION_MZONE,0,nil)
local mg2=Duel.GetMatchingGroup(cm.filter0,tp,LOCATION_REMOVED,0,nil)
mg1:Merge(mg2)
local res=Duel.IsExistingMatchingCard(cm.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf)
if not res then
local ce=Duel.GetChainMaterial(tp)
if ce~=nil then
local fgroup=ce:GetTarget()
local mg3=fgroup(ce,e,tp)
local mf=ce:GetValue()
res=Duel.IsExistingMatchingCard(cm.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg3,mf,chkf)
end
end
return res
end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
Duel.SetOperationInfo(0,CATEGORY_TODECK,nil,1,tp,LOCATION_REMOVED+LOCATION_ONFIELD)
end
function cm.fusop(e,tp,eg,ep,ev,re,r,rp)
local chkf=tp
local mg1=Duel.GetMatchingGroup(cm.filter0,tp,LOCATION_MZONE,0,nil)
local mg2=Duel.GetMatchingGroup(cm.filter1,tp,LOCATION_REMOVED,0,nil,e)
mg1:Merge(mg2)
local sg1=Duel.GetMatchingGroup(cm.filter2,tp,LOCATION_EXTRA,0,nil,e,tp,mg1,nil,chkf)
local mg3=nil
local sg2=nil
local ce=Duel.GetChainMaterial(tp)
if ce~=nil then
local fgroup=ce:GetTarget()
mg3=fgroup(ce,e,tp)
local mf=ce:GetValue()
sg2=Duel.GetMatchingGroup(cm.filter2,tp,LOCATION_EXTRA,0,nil,e,tp,mg3,mf,chkf)
end
if #sg1>0 or (sg2~=nil and #sg2>0) then
local sg=sg1:Clone()
if sg2 then sg:Merge(sg2) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tg=sg:Select(tp,1,1,nil)
local tc=tg:GetFirst()
if sg1:IsContains(tc) and (sg2==nil or not sg2:IsContains(tc) or not Duel.SelectYesNo(tp,ce:GetDescription())) then
local mat1=Duel.SelectFusionMaterial(tp,tc,mg1,nil,chkf)
tc:SetMaterial(mat1)
Duel.SendtoDeck(mat1,nil,SEQ_DECKBOTTOM,REASON_EFFECT+REASON_MATERIAL+REASON_FUSION)
Duel.BreakEffect()
Duel.SpecialSummon(tc,SUMMON_TYPE_FUSION,tp,tp,false,false,POS_FACEUP)
else
local mat2=Duel.SelectFusionMaterial(tp,tc,mg3,nil,chkf)
local fop=ce:GetOperation()
fop(ce,e,tp,tc,mat2)
end
tc:CompleteProcedure()
end
end
--蕾纳斯
local cm,m=GetID()
function cm.initial_effect(c)
--remove
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_REMOVE)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,m)
e1:SetCost(cm.rmcost)
e1:SetTarget(cm.rmtg)
e1:SetOperation(cm.rmop)
c:RegisterEffect(e1)
cm.discard_effect=e1
--link summon
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(m,1))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_REMOVE)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCountLimit(1,m+1)
e2:SetTarget(cm.lktg)
e2:SetOperation(cm.lkop)
c:RegisterEffect(e2)
end
function cm.rmcost(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.rmfilter(c)
return c:IsSetCard(0xa450) and c:IsType(TYPE_MONSTER) and c:IsAbleToRemove()
end
function cm.rmtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.rmfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,1,tp,LOCATION_DECK)
end
function cm.rmop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,cm.rmfilter,tp,LOCATION_DECK,0,1,1,nil)
if #g>0 then
Duel.Remove(g,POS_FACEUP,REASON_EFFECT)
end
end
function cm.lkfilter(c,g,tc)
return c:IsType(TYPE_LINK) and c:IsAttribute(ATTRIBUTE_WATER) and c:IsLinkSummonable(g,tc)
end
function cm.fitl(c)
return c:IsAbleToDeck() and c:IsType(TYPE_MONSTER) and c:IsCanBeLinkMaterial(nil)
end
function cm.lktg(e,tp,eg,ep,ev,re,r,rp,chk)
local g=Duel.GetMatchingGroup(cm.fitl,tp,LOCATION_ONFIELD+LOCATION_REMOVED,0,nil)
if chk==0 then return Duel.IsExistingMatchingCard(cm.lkfilter,tp,LOCATION_EXTRA,0,1,nil,g,e:GetHandler()) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end
function cm.lkop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(cm.fitl,tp,LOCATION_ONFIELD+LOCATION_REMOVED,0,nil)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local lc=Duel.SelectMatchingCard(tp,cm.lkfilter,tp,LOCATION_EXTRA,0,1,1,nil,g,e:GetHandler()):GetFirst()
if not lc then return end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetOperation(cm.lvop)
lc:RegisterEffect(e1)
Duel.LinkSummon(tp,lc,g,e:GetHandler())
end
function cm.lvop(e,tp,eg,ep,ev,re,r,rp)
local sg=e:GetHandler():GetMaterial()
Duel.SendtoDeck(sg,nil,SEQ_DECKBOTTOM,REASON_EFFECT)
e:Reset()
end
--婕拉镭
local cm,m=GetID()
function cm.initial_effect(c)
--remove and search
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_REMOVE+CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,m)
e1:SetCost(cm.rmcost)
e1:SetTarget(cm.rmtg)
e1:SetOperation(cm.rmop)
c:RegisterEffect(e1)
cm.discard_effect=e1
--synchro summon
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(m,1))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_REMOVE)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCountLimit(1,m+1)
e2:SetTarget(cm.sctg)
e2:SetOperation(cm.scop)
c:RegisterEffect(e2)
end
function cm.rmcost(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.rmtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToRemove,tp,LOCATION_HAND+LOCATION_ONFIELD+LOCATION_GRAVE,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,1,tp,LOCATION_HAND+LOCATION_ONFIELD+LOCATION_GRAVE)
end
function cm.thfilter(c)
return c:IsSetCard(0xa450) and c:IsType(TYPE_MONSTER) and c:IsAbleToHand()
end
function cm.rmop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,Card.IsAbleToRemove,tp,LOCATION_HAND+LOCATION_ONFIELD+LOCATION_GRAVE,0,1,1,nil)
if #g>0 and Duel.Remove(g,POS_FACEUP,REASON_EFFECT)~=0 then
local tc=g:GetFirst()
if tc:IsSetCard(0xa450) and Duel.IsExistingMatchingCard(cm.thfilter,tp,LOCATION_DECK,0,1,nil)
and Duel.SelectYesNo(tp,aux.Stringid(m,2)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local sg=Duel.SelectMatchingCard(tp,cm.thfilter,tp,LOCATION_DECK,0,1,1,nil)
Duel.SendtoHand(sg,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,sg)
end
end
end
function cm.scfilter(c)
return c:IsType(TYPE_SYNCHRO) and c:IsAttribute(ATTRIBUTE_WIND)
end
function cm.sctg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.scfilter,tp,LOCATION_EXTRA,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end
function cm.scop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sc=Duel.SelectMatchingCard(tp,cm.scfilter,tp,LOCATION_EXTRA,0,1,1,nil):GetFirst()
if not sc then return end
local mg=Duel.GetMatchingGroup(Card.IsAbleToDeck,tp,LOCATION_ONFIELD+LOCATION_REMOVED,0,nil)
local mat=Group.CreateGroup()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local sg=mg:Select(tp,sc:GetLevel(),sc:GetLevel(),nil)
if #sg==sc:GetLevel() then
Duel.SendtoDeck(sg,nil,SEQ_DECKBOTTOM,REASON_EFFECT)
Duel.SpecialSummon(sc,SUMMON_TYPE_SYNCHRO,tp,tp,false,false,POS_FACEUP)
sc:CompleteProcedure()
end
end
--鐳徳斯
local cm,m=GetID()
function cm.initial_effect(c)
--remove and search
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_REMOVE+CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,m)
e1:SetCost(cm.rmcost)
e1:SetTarget(cm.rmtg)
e1:SetOperation(cm.rmop)
c:RegisterEffect(e1)
cm.discard_effect=e1
--synchro summon
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(m,1))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_REMOVE)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCountLimit(1,m+1)
e2:SetTarget(cm.sctg)
e2:SetOperation(cm.scop)
c:RegisterEffect(e2)
end
function cm.rmcost(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.rmtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToRemove,tp,LOCATION_HAND+LOCATION_ONFIELD+LOCATION_GRAVE,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,1,tp,LOCATION_HAND+LOCATION_ONFIELD+LOCATION_GRAVE)
end
function cm.thfilter(c)
return c:IsSetCard(0xa450) and c:IsType(TYPE_MONSTER) and c:IsAbleToHand()
end
function cm.rmop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,Card.IsAbleToRemove,tp,LOCATION_HAND+LOCATION_ONFIELD+LOCATION_GRAVE,0,1,1,nil)
if #g>0 and Duel.Remove(g,POS_FACEUP,REASON_EFFECT)~=0 then
local tc=g:GetFirst()
if tc:IsSetCard(0xa450) and Duel.IsExistingMatchingCard(cm.thfilter,tp,LOCATION_DECK,0,1,nil)
and Duel.SelectYesNo(tp,aux.Stringid(m,2)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local sg=Duel.SelectMatchingCard(tp,cm.thfilter,tp,LOCATION_DECK,0,1,1,nil)
Duel.SendtoHand(sg,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,sg)
end
end
end
function cm.scfilter(c)
return c:IsType(TYPE_SYNCHRO) and c:IsAttribute(ATTRIBUTE_WIND)
end
function cm.sctg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.scfilter,tp,LOCATION_EXTRA,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end
function cm.scop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sc=Duel.SelectMatchingCard(tp,cm.scfilter,tp,LOCATION_EXTRA,0,1,1,nil):GetFirst()
if not sc then return end
local mg=Duel.GetMatchingGroup(Card.IsAbleToDeck,tp,LOCATION_ONFIELD+LOCATION_REMOVED,0,nil)
local mat=Group.CreateGroup()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local sg=mg:Select(tp,sc:GetLevel(),sc:GetLevel(),nil)
if #sg==sc:GetLevel() then
Duel.SendtoDeck(sg,nil,SEQ_DECKBOTTOM,REASON_EFFECT)
Duel.SpecialSummon(sc,SUMMON_TYPE_SYNCHRO,tp,tp,false,false,POS_FACEUP)
sc:CompleteProcedure()
end
end
function cm.bnfilter(c)
return c:IsFaceup() and not c:IsSetCard(0xa450)
end
function cm.bncon(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(cm.bnfilter,tp,LOCATION_ONFIELD,0,1,nil)
end
function cm.bnop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(cm.bnfilter,tp,LOCATION_ONFIELD,0,nil)
Duel.Remove(g,POS_FACEDOWN,REASON_EFFECT)
end
--苍鳞龙乡
local cm,m=GetID()
function cm.initial_effect(c)
--activate
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_REMOVE+CATEGORY_TOGRAVE)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,m+EFFECT_COUNT_CODE_OATH)
e1:SetTarget(cm.acttg)
e1:SetOperation(cm.actop)
c:RegisterEffect(e1)
--negate
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(m,1))
e2:SetCategory(CATEGORY_NEGATE+CATEGORY_TODECK)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_CHAINING)
e2:SetRange(LOCATION_SZONE)
e2:SetCountLimit(1,m+1)
e2:SetCondition(cm.negcon)
e2:SetCost(cm.negcost)
e2:SetTarget(cm.negtg)
e2:SetOperation(cm.negop)
c:RegisterEffect(e2)
--atk/def
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(m,2))
e3:SetCategory(CATEGORY_ATKCHANGE+CATEGORY_DEFCHANGE)
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetRange(LOCATION_SZONE)
e3:SetCountLimit(1,m+2)
e3:SetTarget(cm.atktg)
e3:SetOperation(cm.atkop)
c:RegisterEffect(e3)
end
function cm.rmfilter(c,e,tp,eg,ep,ev,re,r,rp)
if not (c:IsSetCard(0xa450) and c:IsType(TYPE_MONSTER) and c:IsAbleToDeck()) then return false end
local te=c.discard_effect
if not te then return false end
local tg=te:GetTarget()
return not tg or tg and tg(e,tp,eg,ep,ev,re,r,rp,0)
end
function cm.tgfilter(c)
return c:IsSetCard(0xa450) and c:IsAbleToGrave()
end
function cm.acttg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.rmfilter,tp,LOCATION_DECK,0,1,nil,e,tp,eg,ep,ev,re,r,rp) end
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,1,tp,LOCATION_DECK)
end
function cm.actop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,cm.rmfilter,tp,LOCATION_DECK,0,1,1,nil,e,tp,eg,ep,ev,re,r,rp)
if #g>0 and Duel.Remove(g,POS_FACEUP,REASON_EFFECT)~=0 then
local tc=g:GetFirst()
tc:CreateEffectRelation(e)
local te=tc.discard_effect
local tg=te:GetTarget()
if tg then tg(e,tp,eg,ep,ev,re,r,rp,1)
local op=te:GetOperation()
if op then op(e,tp,eg,ep,ev,re,r,rp) end
Duel.BreakEffect()
end
if Duel.IsExistingMatchingCard(cm.tgfilter,tp,LOCATION_REMOVED,0,1,nil)
and Duel.SelectYesNo(tp,aux.Stringid(m,0)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local sg=Duel.SelectMatchingCard(tp,cm.tgfilter,tp,LOCATION_REMOVED,0,1,1,nil)
Duel.SendtoGrave(sg,REASON_RETURN)
end
end
end
function cm.negcon(e,tp,eg,ep,ev,re,r,rp)
return rp==1-tp and re:IsHasType(EFFECT_TYPE_ACTIVATE) and Duel.IsChainNegatable(ev)
end
function cm.cfilter(c)
return c:IsSetCard(0xa450) and (c:IsLocation(LOCATION_GRAVE) or c:IsFaceup())
end
function cm.negcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.cfilter,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,5,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(tp,cm.cfilter,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,5,5,nil)
Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_COST)
end
function cm.negtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_NEGATE,eg,1,0,0)
end
function cm.negop(e,tp,eg,ep,ev,re,r,rp)
if Duel.NegateActivation(ev) then
Duel.SendtoGrave(eg,REASON_EFFECT)
end
end
function cm.atkfilter(c)
return c:IsFaceup() and c:IsSetCard(0xa450) and c:IsType(TYPE_MONSTER)
end
function cm.atktg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.atkfilter,tp,LOCATION_MZONE,0,1,nil) end
end
function cm.atkop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(cm.atkfilter,tp,LOCATION_MZONE,0,nil)
for tc in aux.Next(g) do
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+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e1)
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_UPDATE_DEFENSE)
e2:SetValue(-1000)
e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e2)
end
end
--鳞化病
local cm,m=GetID()
function cm.initial_effect(c)
--special summon
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,m)
e1:SetCost(cm.spcost)
e1:SetTarget(cm.sptg)
e1:SetOperation(cm.spop)
c:RegisterEffect(e1)
--set
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(m,1))
e2:SetCategory(CATEGORY_REMOVE)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_GRAVE)
e2:SetCountLimit(1,m+1)
e2:SetCost(cm.setcost)
e2:SetTarget(cm.settg)
e2:SetOperation(cm.setop)
c:RegisterEffect(e2)
end
function cm.spfilter(c)
return c:IsSetCard(0xa450) and c:IsLevelBelow(4) and c:IsAbleToDeck()
end
function cm.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.spfilter,tp,LOCATION_HAND+LOCATION_MZONE,0,1,e:GetHandler()) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(tp,cm.spfilter,tp,LOCATION_HAND+LOCATION_MZONE,0,1,1,e:GetHandler())
e:SetLabel(g:GetFirst():GetAttribute())
Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_COST)
end
function cm.spfilter2(c,att)
return c:IsSetCard(0xa450) and c:IsAttribute(att) and c:IsType(TYPE_EXTRA) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(cm.spfilter2,tp,LOCATION_EXTRA,0,1,nil,e:GetLabel()) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end
function cm.spop(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.spfilter2,tp,LOCATION_EXTRA,0,1,1,nil,e:GetLabel())
if #g>0 and Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)>0 then
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetCountLimit(1)
e1:SetOperation(cm.atkop)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
end
function cm.atkop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(Card.IsSetCard,tp,LOCATION_MZONE,0,nil,0xa450)
for tc in aux.Next(g) do
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)
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_UPDATE_DEFENSE)
e2:SetValue(-1000)
e2:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e2)
end
end
function cm.setfilter(c)
return c:IsSetCard(0xa450) and c:IsAbleToRemove()
end
function cm.setcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToRemove()
and Duel.IsExistingMatchingCard(cm.setfilter,tp,LOCATION_HAND+LOCATION_ONFIELD+LOCATION_GRAVE,0,1,e:GetHandler()) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,cm.setfilter,tp,LOCATION_HAND+LOCATION_ONFIELD+LOCATION_GRAVE,0,1,1,e:GetHandler())
g:AddCard(e:GetHandler())
Duel.Remove(g,POS_FACEUP,REASON_COST)
end
function cm.setfilter2(c)
return c:IsSetCard(0xa450) and c:IsType(TYPE_SPELL+TYPE_TRAP) and c:IsSSetable()
end
function cm.settg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.setfilter2,tp,LOCATION_DECK,0,1,nil) end
end
function cm.setop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET)
local g=Duel.SelectMatchingCard(tp,cm.setfilter2,tp,LOCATION_DECK,0,1,1,nil)
if #g>0 then
Duel.SSet(tp,g)
end
end
--鳞病征兆
local cm,m=GetID()
function cm.initial_effect(c)
--special summon
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,m)
e1:SetCost(cm.spcost)
e1:SetTarget(cm.sptg)
e1:SetOperation(cm.spop)
c:RegisterEffect(e1)
--send to grave/remove
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(m,1))
e2:SetCategory(CATEGORY_REMOVE)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_GRAVE)
e2:SetCountLimit(1,m+1)
e2:SetCost(cm.stgcost)
e2:SetTarget(cm.stgtg)
e2:SetOperation(cm.stgop)
c:RegisterEffect(e2)
end
function cm.spfilter(c)
return c:IsSetCard(0xa450) and c:IsType(TYPE_MONSTER) and c:IsAbleToDeck()
end
function cm.spcost(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.spfilter2(c,e,tp)
return c:IsSetCard(0xa450) and c:IsType(TYPE_MONSTER) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(cm.spfilter2,tp,LOCATION_DECK,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
end
function cm.spop(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.spfilter2,tp,LOCATION_DECK,0,1,1,nil,e,tp)
if #g>0 and Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)>0 then
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetCountLimit(1)
e1:SetOperation(cm.atkop)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
local mg=Duel.GetMatchingGroup(Card.IsFaceup,tp,LOCATION_MZONE,LOCATION_MZONE,nil)
for tc in aux.Next(mg) do
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+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e2)
end
end
end
function cm.atkop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(Card.IsDefenseBelow,tp,LOCATION_MZONE,0,nil,1)
if #g>0 then
Duel.Remove(g,POS_FACEDOWN,REASON_EFFECT)
end
end
function cm.stgfilter(c)
return c:IsSetCard(0xa450) and c:IsAbleToRemove()
end
function cm.stgcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToRemove()
and Duel.IsExistingMatchingCard(cm.stgfilter,tp,LOCATION_HAND+LOCATION_ONFIELD+LOCATION_GRAVE,0,1,e:GetHandler()) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,cm.stgfilter,tp,LOCATION_HAND+LOCATION_ONFIELD+LOCATION_GRAVE,0,1,1,e:GetHandler())
g:AddCard(e:GetHandler())
Duel.Remove(g,POS_FACEUP,REASON_COST)
end
function cm.stgfilter2(c)
return c:IsSetCard(0xa450) and c:IsType(TYPE_EXTRA) and (c:IsAbleToGrave() or c:IsAbleToRemove())
end
function cm.stgtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.stgfilter2,tp,LOCATION_EXTRA,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE+CATEGORY_REMOVE,nil,1,tp,LOCATION_EXTRA)
end
function cm.stgop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
local g=Duel.SelectMatchingCard(tp,cm.stgfilter2,tp,LOCATION_EXTRA,0,1,1,nil)
if #g>0 then
local tc=g:GetFirst()
local op=0
if tc:IsAbleToGrave() and tc:IsAbleToRemove() then
op=Duel.SelectOption(tp,aux.Stringid(m,2),aux.Stringid(m,3))
elseif tc:IsAbleToGrave() then
op=0
else
op=1
end
if op==0 then
Duel.SendtoGrave(tc,REASON_EFFECT)
else
Duel.Remove(tc,POS_FACEUP,REASON_EFFECT)
end
end
end
--鳞病瘟疫
local cm,m=GetID()
function cm.initial_effect(c)
--search
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_SEARCH+CATEGORY_TOHAND)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,m)
e1:SetCost(cm.srcost)
e1:SetTarget(cm.srtg)
e1:SetOperation(cm.srop)
c:RegisterEffect(e1)
--search from grave
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(m,1))
e2:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_GRAVE)
e2:SetCountLimit(1,m+1)
e2:SetCost(cm.thcost)
e2:SetTarget(cm.thtg)
e2:SetOperation(cm.thop)
c:RegisterEffect(e2)
--add when extra monster leaves
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(m,2))
e3:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_LEAVE_FIELD)
e3:SetRange(LOCATION_MZONE)
e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetCountLimit(1,m+2)
e3:SetCondition(cm.lvcon)
e3:SetTarget(cm.lvtg)
e3:SetOperation(cm.lvop)
c:RegisterEffect(e3)
end
function cm.srcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetMatchingGroupCount(Card.IsType,tp,LOCATION_HAND,0,e:GetHandler(),TYPE_MONSTER)>0 end
end
function cm.srfilter(c,att)
return c:IsSetCard(0xa450) and c:IsAttribute(att) and c:IsAbleToHand()
end
function cm.srtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
local g=Duel.GetMatchingGroup(Card.IsType,tp,LOCATION_HAND,0,e:GetHandler(),TYPE_MONSTER)
return #g>0
end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function cm.srop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(Card.IsType,tp,LOCATION_HAND,0,e:GetHandler(),TYPE_MONSTER)
if #g==0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONFIRM)
local tc=Duel.SelectMatchingCard(tp,Card.IsType,tp,LOCATION_HAND,0,1,1,e:GetHandler(),TYPE_MONSTER):GetFirst()
if not tc then return end
Duel.ConfirmCards(1-tp,tc)
local att=tc:GetAttribute()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local sg=Duel.SelectMatchingCard(tp,cm.srfilter,tp,LOCATION_DECK,0,1,1,nil,att)
if #sg>0 and Duel.SendtoHand(sg,nil,REASON_EFFECT)>0 then
Duel.ConfirmCards(1-tp,sg)
local dg=Duel.GetMatchingGroup(Card.IsAbleToGrave,tp,LOCATION_HAND+LOCATION_ONFIELD,0,e:GetHandler())
if #dg>0 and Duel.SelectYesNo(tp,aux.Stringid(m,3)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
local tg=dg:Select(tp,1,1,nil)
if Duel.SelectOption(tp,aux.Stringid(m,4),aux.Stringid(m,5))==0 then
Duel.SendtoGrave(tg,REASON_EFFECT)
else
Duel.Remove(tg,POS_FACEUP,REASON_EFFECT)
end
end
end
end
function cm.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToRemove()
and Duel.IsExistingMatchingCard(Card.IsSetCard,tp,LOCATION_HAND+LOCATION_ONFIELD+LOCATION_GRAVE,0,1,e:GetHandler(),0xa450) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,Card.IsSetCard,tp,LOCATION_HAND+LOCATION_ONFIELD+LOCATION_GRAVE,0,1,1,e:GetHandler(),0xa450)
g:AddCard(e:GetHandler())
Duel.Remove(g,POS_FACEUP,REASON_COST)
end
function cm.thfilter(c)
return c:IsSetCard(0xa450) and c:IsAbleToHand()
end
function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.thfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function cm.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,cm.thfilter,tp,LOCATION_DECK,0,1,1,nil)
if #g>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
function cm.lvfilter(c,tp)
return c:IsPreviousPosition(POS_FACEUP) and c:IsPreviousControler(tp) and c:IsSetCard(0xa450) and c:IsType(TYPE_EXTRA)
and c:IsReason(REASON_EFFECT) and c:GetReasonPlayer()==1-tp
end
function cm.lvcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(cm.lvfilter,1,nil,tp)
end
function cm.lvtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.thfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function cm.lvop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,cm.thfilter,tp,LOCATION_DECK,0,1,1,nil)
if #g>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
--鳞病蔓延
local cm,m=GetID()
function cm.initial_effect(c)
--Negate
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_NEGATE+CATEGORY_REMOVE)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_CHAINING)
e1:SetCountLimit(1,m)
e1:SetCondition(cm.negcon)
e1:SetTarget(cm.negtg)
e1:SetOperation(cm.negop)
c:RegisterEffect(e1)
--Protection
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(m,1))
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_GRAVE)
e2:SetCountLimit(1,m+1)
e2:SetCost(cm.protcost)
e2:SetTarget(cm.prottg)
e2:SetOperation(cm.protop)
c:RegisterEffect(e2)
end
function cm.cfilter(c)
return c:IsFaceup() and c:IsSetCard(0xa450)
end
function cm.negcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(cm.cfilter,tp,LOCATION_ONFIELD,0,1,nil)
and Duel.IsChainNegatable(ev) and (re:IsActiveType(TYPE_MONSTER) or re:IsHasType(EFFECT_TYPE_ACTIVATE))
end
function cm.negtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_NEGATE,eg,1,0,0)
if re:GetHandler():IsAbleToRemove() then
Duel.SetOperationInfo(0,CATEGORY_REMOVE,eg,1,0,0)
end
end
function cm.negop(e,tp,eg,ep,ev,re,r,rp)
local rc=re:GetHandler()
if Duel.NegateActivation(ev) and rc:IsRelateToEffect(re) and Duel.Remove(rc,POS_FACEUP,REASON_EFFECT)~=0 then
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_CANNOT_ACTIVATE)
e1:SetTargetRange(0,1)
e1:SetValue(cm.actlimit)
e1:SetLabel(rc:GetOriginalCodeRule())
e1:SetReset(RESET_PHASE+PHASE_END,2)
Duel.RegisterEffect(e1,tp)
local g=Duel.GetMatchingGroup(Card.IsFaceup,tp,0,LOCATION_MZONE,nil)
for tc in aux.Next(g) do
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_UPDATE_ATTACK)
e2:SetValue(3000)
e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e2)
local e3=Effect.CreateEffect(e:GetHandler())
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_SET_DEFENSE)
e3:SetValue(0)
e3:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e3)
end
end
end
function cm.actlimit(e,re,tp)
return re:GetHandler():GetOriginalCodeRule()==e:GetLabel()
end
function cm.protcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToRemove()
and Duel.IsExistingMatchingCard(Card.IsSetCard,tp,LOCATION_HAND+LOCATION_ONFIELD+LOCATION_GRAVE,0,1,e:GetHandler(),0xa450) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,Card.IsSetCard,tp,LOCATION_HAND+LOCATION_ONFIELD+LOCATION_GRAVE,0,1,1,e:GetHandler(),0xa450)
g:AddCard(e:GetHandler())
Duel.Remove(g,POS_FACEUP,REASON_COST)
end
function cm.prottg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
end
function cm.protfilter(c)
return c:IsFaceup() and c:IsSetCard(0xa450)
end
function cm.protop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(cm.protfilter,tp,LOCATION_ONFIELD,0,nil)
for tc in aux.Next(g) do
--Indestructible
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
e1:SetValue(1)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,2)
tc:RegisterEffect(e1)
--Cannot be target
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e2:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e2:SetValue(1)
e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,2)
tc:RegisterEffect(e2)
end
end
--阿蕾斯·炎·阿夏克
local cm,m=GetID()
function cm.initial_effect(c)
c:EnableReviveLimit()
--fusion material
aux.AddFusionProcMixRep(c,true,true,cm.fit,1,99)
--stats change
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1)
e1:SetOperation(cm.statop)
c:RegisterEffect(e1)
--leave field
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_LEAVE_FIELD)
e2:SetOperation(cm.lvop)
c:RegisterEffect(e2)
--effects by atk
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_UPDATE_ATTACK)
e3:SetRange(LOCATION_MZONE)
e3:SetCondition(cm.atkcon1)
e3:SetValue(1000)
c:RegisterEffect(e3)
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetCode(EFFECT_UPDATE_ATTACK)
e4:SetRange(LOCATION_MZONE)
e4:SetCondition(cm.atkcon2)
e4:SetValue(2000)
c:RegisterEffect(e4)
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_SINGLE)
e5:SetCode(EFFECT_UPDATE_ATTACK)
e5:SetRange(LOCATION_MZONE)
e5:SetCondition(cm.atkcon3)
e5:SetValue(3000)
c:RegisterEffect(e5)
--direct attack
local e6=Effect.CreateEffect(c)
e6:SetDescription(aux.Stringid(m,0))
e6:SetCategory(CATEGORY_ATKCHANGE)
e6:SetType(EFFECT_TYPE_IGNITION)
e6:SetRange(LOCATION_GRAVE)
e6:SetCountLimit(1,m)
e6:SetCost(cm.dacost)
e6:SetTarget(cm.datg)
e6:SetOperation(cm.daop)
c:RegisterEffect(e6)
local e10=Effect.CreateEffect(c)
e10:SetType(EFFECT_TYPE_SINGLE)
e10:SetCode(EFFECT_SPSUMMON_COST)
e10:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_SINGLE_RANGE)
e10:SetRange(LOCATION_EXTRA)
e10:SetCost(cm.spcost)
e10:SetOperation(cm.spcop)
c:RegisterEffect(e10)
end
function cm.fit(c)
return c:IsType(TYPE_MONSTER)and c:IsSetCard(0xa450)
end
function cm.fit0(c)
return c:IsAbleToDeckAsCost() and c:IsSetCard(0xa450) and c:IsType(TYPE_SPELL+TYPE_TRAP)
end
function cm.spcost(e,c,tp)
return Duel.IsExistingMatchingCard(cm.fit0,tp,LOCATION_ONFIELD+LOCATION_REMOVED,0,1,nil)
end
function cm.spcop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(tp,cm.fit0,tp,LOCATION_ONFIELD+LOCATION_REMOVED,0,1,99,nil)
Duel.SendtoDeck(g,nil,3,REASON_COST)
end
function cm.statop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsFaceup() then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(1000)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_UPDATE_DEFENSE)
e2:SetValue(-1000)
e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE)
c:RegisterEffect(e2)
if c:GetDefense()<=0 then
Duel.Release(c,REASON_EFFECT)
end
end
end
function cm.lvop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsPreviousLocation(LOCATION_ONFIELD) then
Duel.Remove(c,POS_FACEDOWN,REASON_EFFECT)
end
end
function cm.atkcon1(e)
local c=e:GetHandler()
return c:IsAttackAbove(1000) and c:IsAttackBelow(1999)
end
function cm.atkcon2(e)
local c=e:GetHandler()
return c:IsAttackAbove(2000) and c:IsAttackBelow(2999)
end
function cm.atkcon3(e)
local c=e:GetHandler()
return c:IsAttackAbove(3000)
end
function cm.dacost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToRemoveAsCost() end
Duel.Remove(e:GetHandler(),POS_FACEUP,REASON_COST)
end
function cm.datg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsSetCard,tp,LOCATION_MZONE,0,1,nil,0xa450) end
end
function cm.daop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(Card.IsSetCard,tp,LOCATION_MZONE,0,nil,0xa450)
for tc in aux.Next(g) do
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_DIRECT_ATTACK)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e1)
end
end
--鐳徳斯·哈拉丝·磊
local cm,m=GetID()
function cm.initial_effect(c)
--xyz summon
aux.AddXyzProcedure(c,cm.xyzfilter,1,99)
c:EnableReviveLimit()
--stats change
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1)
e1:SetOperation(cm.statop)
c:RegisterEffect(e1)
--leave field
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_LEAVE_FIELD)
e2:SetOperation(cm.lvop)
c:RegisterEffect(e2)
--effects by atk
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(m,0))
e3:SetCategory(CATEGORY_NEGATE+CATEGORY_DESTROY)
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetCode(EVENT_CHAINING)
e3:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e3:SetRange(LOCATION_MZONE)
e3:SetCondition(cm.negcon1)
e3:SetCost(cm.negcost)
e3:SetTarget(cm.negtg1)
e3:SetOperation(cm.negop1)
c:RegisterEffect(e3)
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(m,1))
e4:SetCategory(CATEGORY_NEGATE+CATEGORY_REMOVE)
e4:SetType(EFFECT_TYPE_QUICK_O)
e4:SetCode(EVENT_CHAINING)
e4:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e4:SetRange(LOCATION_MZONE)
e4:SetCondition(cm.negcon2)
e4:SetCost(cm.negcost)
e4:SetTarget(cm.negtg2)
e4:SetOperation(cm.negop2)
c:RegisterEffect(e4)
local e5=Effect.CreateEffect(c)
e5:SetDescription(aux.Stringid(m,2))
e5:SetCategory(CATEGORY_NEGATE+CATEGORY_TODECK)
e5:SetType(EFFECT_TYPE_QUICK_O)
e5:SetCode(EVENT_CHAINING)
e5:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e5:SetRange(LOCATION_MZONE)
e5:SetCondition(cm.negcon3)
e5:SetCost(cm.negcost)
e5:SetTarget(cm.negtg3)
e5:SetOperation(cm.negop3)
c:RegisterEffect(e5)
--atk/def up
local e6=Effect.CreateEffect(c)
e6:SetDescription(aux.Stringid(m,3))
e6:SetCategory(CATEGORY_ATKCHANGE+CATEGORY_DEFCHANGE)
e6:SetType(EFFECT_TYPE_IGNITION)
e6:SetRange(LOCATION_GRAVE)
e6:SetCountLimit(1,m)
e6:SetCost(cm.adcost)
e6:SetTarget(cm.adtg)
e6:SetOperation(cm.adop)
c:RegisterEffect(e6)
local e10=Effect.CreateEffect(c)
e10:SetType(EFFECT_TYPE_SINGLE)
e10:SetCode(EFFECT_SPSUMMON_COST)
e10:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_SINGLE_RANGE)
e10:SetRange(LOCATION_EXTRA)
e10:SetCost(cm.spcost)
e10:SetOperation(cm.spcop)
c:RegisterEffect(e10)
end
function cm.fit0(c)
return c:IsAbleToDeckAsCost() and c:IsSetCard(0xa450) and c:IsType(TYPE_SPELL+TYPE_TRAP)
end
function cm.spcost(e,c,tp)
return Duel.IsExistingMatchingCard(cm.fit0,tp,LOCATION_ONFIELD+LOCATION_REMOVED,0,1,nil)
end
function cm.spcop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(tp,cm.fit0,tp,LOCATION_ONFIELD+LOCATION_REMOVED,0,1,99,nil)
Duel.SendtoDeck(g,nil,3,REASON_COST)
end
function cm.xyzfilter(c)
return c:IsSetCard(0xa450) and c:IsLevel(1)
end
function cm.statop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsFaceup() then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(1000)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_UPDATE_DEFENSE)
e2:SetValue(-1000)
e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE)
c:RegisterEffect(e2)
if c:GetDefense()<=0 then
Duel.Release(c,REASON_EFFECT)
end
end
end
function cm.lvop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsPreviousLocation(LOCATION_ONFIELD) then
Duel.Remove(c,POS_FACEDOWN,REASON_EFFECT)
end
end
function cm.negcon1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:IsAttackAbove(1000) and c:IsAttackBelow(1999) and re:IsActiveType(TYPE_TRAP)
and Duel.IsChainNegatable(ev)
end
function cm.negcon2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:IsAttackAbove(2000) and c:IsAttackBelow(2999) and re:IsActiveType(TYPE_SPELL)
and Duel.IsChainNegatable(ev)
end
function cm.negcon3(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:IsAttackAbove(3000) and re:IsActiveType(TYPE_MONSTER)
and Duel.IsChainNegatable(ev)
end
function cm.negcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end
e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST)
end
function cm.negtg1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_NEGATE,eg,1,0,0)
if re:GetHandler():IsDestructable() then
Duel.SetOperationInfo(0,CATEGORY_DESTROY,eg,1,0,0)
end
end
function cm.negop1(e,tp,eg,ep,ev,re,r,rp)
if Duel.NegateActivation(ev) and re:GetHandler():IsRelateToEffect(re) then
Duel.Destroy(eg,REASON_EFFECT)
end
end
function cm.negtg2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_NEGATE,eg,1,0,0)
if re:GetHandler():IsAbleToRemove() then
Duel.SetOperationInfo(0,CATEGORY_REMOVE,eg,1,0,0)
end
end
function cm.negop2(e,tp,eg,ep,ev,re,r,rp)
if Duel.NegateActivation(ev) and re:GetHandler():IsRelateToEffect(re) then
Duel.Remove(eg,POS_FACEUP,REASON_EFFECT)
end
end
function cm.negtg3(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_NEGATE,eg,1,0,0)
if re:GetHandler():IsAbleToDeck() then
Duel.SetOperationInfo(0,CATEGORY_TODECK,eg,1,0,0)
end
end
function cm.negop3(e,tp,eg,ep,ev,re,r,rp)
if Duel.NegateActivation(ev) and re:GetHandler():IsRelateToEffect(re) then
Duel.SendtoDeck(eg,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)
end
end
function cm.adcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToRemoveAsCost() end
Duel.Remove(e:GetHandler(),POS_FACEUP,REASON_COST)
end
function cm.adtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsFaceup,tp,LOCATION_MZONE,0,1,nil) end
end
function cm.adop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(Card.IsFaceup,tp,LOCATION_MZONE,0,nil)
for tc in aux.Next(g) do
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+RESET_PHASE+PHASE_END,2)
tc:RegisterEffect(e1)
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_UPDATE_DEFENSE)
e2:SetValue(1000)
e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,2)
tc:RegisterEffect(e2)
end
end
--婕拉镭·沧酌·旋烽
local cm,m=GetID()
function cm.initial_effect(c)
--synchro summon
c:EnableReviveLimit()
aux.AddSynchroMixProcedure(c,cm.matfilter1,nil,nil,aux.NonTuner(cm.matfilter2),1,99)
--stats change
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1)
e1:SetOperation(cm.statop)
c:RegisterEffect(e1)
--leave field
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_LEAVE_FIELD)
e2:SetOperation(cm.lvop)
c:RegisterEffect(e2)
--effects by atk
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(m,0))
e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetRange(LOCATION_MZONE)
e3:SetCondition(cm.syncon1)
e3:SetTarget(cm.syntg)
e3:SetOperation(cm.synop)
c:RegisterEffect(e3)
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(m,1))
e4:SetCategory(CATEGORY_DESTROY)
e4:SetType(EFFECT_TYPE_QUICK_O)
e4:SetCode(EVENT_FREE_CHAIN)
e4:SetRange(LOCATION_MZONE)
e4:SetCondition(cm.descon)
e4:SetTarget(cm.destg)
e4:SetOperation(cm.desop)
c:RegisterEffect(e4)
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_FIELD)
e5:SetCode(EFFECT_QP_ACT_IN_NTPHAND)
e5:SetRange(LOCATION_MZONE)
e5:SetTargetRange(LOCATION_HAND+LOCATION_MZONE+LOCATION_GRAVE,0)
e5:SetTarget(cm.qtg)
e5:SetCondition(cm.qcon)
c:RegisterEffect(e5)
--search
local e6=Effect.CreateEffect(c)
e6:SetDescription(aux.Stringid(m,2))
e6:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e6:SetType(EFFECT_TYPE_IGNITION)
e6:SetRange(LOCATION_GRAVE)
e6:SetCountLimit(1,m)
e6:SetCost(cm.thcost)
e6:SetTarget(cm.thtg)
e6:SetOperation(cm.thop)
c:RegisterEffect(e6)
local e10=Effect.CreateEffect(c)
e10:SetType(EFFECT_TYPE_SINGLE)
e10:SetCode(EFFECT_SPSUMMON_COST)
e10:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_SINGLE_RANGE)
e10:SetRange(LOCATION_EXTRA)
e10:SetCost(cm.spcost)
e10:SetOperation(cm.spcop)
c:RegisterEffect(e10)
end
function cm.fit0(c)
return c:IsAbleToDeckAsCost() and c:IsSetCard(0xa450) and c:IsType(TYPE_SPELL+TYPE_TRAP)
end
function cm.spcost(e,c,tp)
return Duel.IsExistingMatchingCard(cm.fit0,tp,LOCATION_ONFIELD+LOCATION_REMOVED,0,1,nil)
end
function cm.spcop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(tp,cm.fit0,tp,LOCATION_ONFIELD+LOCATION_REMOVED,0,1,99,nil)
Duel.SendtoDeck(g,nil,3,REASON_COST)
end
function cm.matfilter1(c)
return c:IsSetCard(0xa450) and c:IsType(TYPE_TUNER) and c:IsType(TYPE_MONSTER)
end
function cm.matfilter2(c)
return c:IsNotTuner() and c:IsSetCard(0xa450) and c:IsType(TYPE_MONSTER)
end
function cm.statop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsFaceup() then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(1000)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_UPDATE_DEFENSE)
e2:SetValue(-1000)
e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE)
c:RegisterEffect(e2)
if c:GetDefense()<=0 then
Duel.Release(c,REASON_EFFECT)
end
end
end
function cm.lvop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsPreviousLocation(LOCATION_ONFIELD) then
Duel.Remove(c,POS_FACEDOWN,REASON_EFFECT)
end
end
function cm.syncon1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:IsAttackAbove(1000) and c:IsAttackBelow(1999)
and (Duel.GetTurnPlayer()==tp or Duel.GetTurnPlayer()==1-tp)
end
function cm.syntg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsSynchroSummonable,tp,LOCATION_EXTRA,0,1,nil,e:GetHandler()) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end
function cm.synop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsControler(1-tp) or not c:IsRelateToEffect(e) then return end
local g=Duel.GetMatchingGroup(Card.IsSynchroSummonable,tp,LOCATION_EXTRA,0,nil,c)
if g:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=g:Select(tp,1,1,nil)
Duel.SynchroSummon(tp,sg:GetFirst(),c)
end
end
function cm.descon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:IsAttackAbove(2000) and c:IsAttackBelow(2999)
and (Duel.GetTurnPlayer()==tp or Duel.GetTurnPlayer()==1-tp)
end
function cm.destg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsType,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil,TYPE_SPELL+TYPE_TRAP) end
Duel.SetOperationInfo(0,CATEGORY_DESTROY,nil,1,0,LOCATION_ONFIELD)
end
function cm.desop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g=Duel.SelectMatchingCard(tp,Card.IsType,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil,TYPE_SPELL+TYPE_TRAP)
if g:GetCount()>0 then
Duel.Destroy(g,REASON_EFFECT)
end
end
function cm.qcon(e)
local c=e:GetHandler()
return c:IsAttackAbove(3000)
end
function cm.qtg(e,c)
return c:IsSetCard(0xa450) and (c:IsType(TYPE_MONSTER) or c:IsType(TYPE_SPELL))
end
function cm.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToRemoveAsCost() end
Duel.Remove(e:GetHandler(),POS_FACEUP,REASON_COST)
end
function cm.thfilter(c)
return c:IsSetCard(0xa450) and c:IsAbleToHand()
end
function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.thfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function cm.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,cm.thfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
--蕾纳斯·格拉·斯德
local cm,m=GetID()
function cm.initial_effect(c)
--link summon
c:EnableReviveLimit()
aux.AddLinkProcedure(c,cm.lfilter,1,3)
--special summon condition
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetCode(EFFECT_SPSUMMON_PROC)
e0:SetCondition(cm.lkcon)
e0:SetOperation(cm.lkop)
c:RegisterEffect(e0)
--stats change
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1)
e1:SetOperation(cm.statop)
c:RegisterEffect(e1)
--leave field
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_LEAVE_FIELD)
e2:SetOperation(cm.lvop)
c:RegisterEffect(e2)
--effects by atk
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(m,0))
e3:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetRange(LOCATION_MZONE)
e3:SetCondition(cm.thcon1)
e3:SetTarget(cm.thtg1)
e3:SetOperation(cm.thop1)
c:RegisterEffect(e3)
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(m,1))
e4:SetCategory(CATEGORY_TOHAND)
e4:SetType(EFFECT_TYPE_QUICK_O)
e4:SetCode(EVENT_FREE_CHAIN)
e4:SetRange(LOCATION_MZONE)
e4:SetCondition(cm.thcon2)
e4:SetTarget(cm.thtg2)
e4:SetOperation(cm.thop2)
c:RegisterEffect(e4)
local e5=Effect.CreateEffect(c)
e5:SetDescription(aux.Stringid(m,2))
e5:SetCategory(CATEGORY_REMOVE)
e5:SetType(EFFECT_TYPE_QUICK_O)
e5:SetCode(EVENT_FREE_CHAIN)
e5:SetRange(LOCATION_MZONE)
e5:SetCondition(cm.rmcon)
e5:SetTarget(cm.rmtg)
e5:SetOperation(cm.rmop)
c:RegisterEffect(e5)
--send to grave
local e6=Effect.CreateEffect(c)
e6:SetDescription(aux.Stringid(m,3))
e6:SetCategory(CATEGORY_TOGRAVE)
e6:SetType(EFFECT_TYPE_IGNITION)
e6:SetRange(LOCATION_GRAVE)
e6:SetCountLimit(1,m)
e6:SetCost(cm.gvcost)
e6:SetTarget(cm.gvtg)
e6:SetOperation(cm.gvop)
c:RegisterEffect(e6)
local e10=Effect.CreateEffect(c)
e10:SetType(EFFECT_TYPE_SINGLE)
e10:SetCode(EFFECT_SPSUMMON_COST)
e10:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_SINGLE_RANGE)
e10:SetRange(LOCATION_EXTRA)
e10:SetCost(cm.spcost)
e10:SetOperation(cm.spcop)
c:RegisterEffect(e10)
end
function cm.fit0(c)
return c:IsAbleToDeckAsCost() and c:IsSetCard(0xa450) and c:IsType(TYPE_SPELL+TYPE_TRAP)
end
function cm.spcost(e,c,tp)
return Duel.IsExistingMatchingCard(cm.fit0,tp,LOCATION_ONFIELD+LOCATION_REMOVED,0,1,nil)
end
function cm.spcop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(tp,cm.fit0,tp,LOCATION_ONFIELD+LOCATION_REMOVED,0,1,99,nil)
Duel.SendtoDeck(g,nil,3,REASON_COST)
end
function cm.lfilter(c)
return c:IsSetCard(0xa450)
end
function cm.rfilter(c)
return c:IsSetCard(0xa450) and c:IsType(TYPE_SPELL+TYPE_TRAP) and (c:IsFaceup() or c:IsLocation(LOCATION_REMOVED))
end
function cm.lkcon(e,c)
if c==nil then return true end
return Duel.IsExistingMatchingCard(cm.rfilter,c:GetControler(),LOCATION_ONFIELD+LOCATION_REMOVED,0,1,nil)
end
function cm.lkop(e,tp,eg,ep,ev,re,r,rp,c)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(tp,cm.rfilter,tp,LOCATION_ONFIELD+LOCATION_REMOVED,0,1,1,nil)
Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_COST)
end
function cm.statop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsFaceup() then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(1000)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE)
c:RegisterEffect(e1)
if c:GetAttack()>=3000 then
Duel.Release(c,REASON_EFFECT)
end
end
end
function cm.lvop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsPreviousLocation(LOCATION_ONFIELD) then
Duel.Remove(c,POS_FACEDOWN,REASON_EFFECT)
end
end
function cm.thcon1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:IsAttackAbove(1000) and c:IsAttackBelow(1999) and Duel.GetTurnPlayer()==tp
end
function cm.thfilter1(c)
return c:IsSetCard(0xa450) and c:IsType(TYPE_MONSTER) and c:IsAbleToHand()
end
function cm.thtg1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.thfilter1,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function cm.thop1(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,cm.thfilter1,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
function cm.thcon2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:IsAttackAbove(2000) and c:IsAttackBelow(2999) and Duel.GetTurnPlayer()==1-tp
end
function cm.thfilter2(c)
return (c:IsLocation(LOCATION_GRAVE) or c:IsFaceup()) and c:IsAbleToHand()
end
function cm.thtg2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.thfilter2,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_GRAVE+LOCATION_REMOVED)
end
function cm.thop2(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,cm.thfilter2,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
function cm.rmcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:IsAttackAbove(3000) and (Duel.GetTurnPlayer()==tp or Duel.GetTurnPlayer()==1-tp)
and not c:IsHasEffect(EFFECT_CANNOT_USE_AS_COST)
end
function cm.rmtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFieldGroupCount(tp,0,LOCATION_EXTRA)>0 end
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,1,1-tp,LOCATION_EXTRA)
end
function cm.rmop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetFieldGroup(tp,0,LOCATION_EXTRA)
if g:GetCount()==0 then return end
Duel.ConfirmCards(tp,g)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local sg=g:FilterSelect(tp,Card.IsAbleToRemove,1,1,nil)
Duel.Remove(sg,POS_FACEDOWN,REASON_EFFECT)
Duel.ShuffleExtra(1-tp)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_CANNOT_USE_AS_COST)
e1:SetTargetRange(1,0)
e1:SetTarget(cm.costlimit)
e1:SetReset(RESET_PHASE+PHASE_END,2)
Duel.RegisterEffect(e1,tp)
end
function cm.costlimit(e,re,tp)
return re:GetHandler()==e:GetHandler() and re:IsHasType(EFFECT_TYPE_ACTIVATE)
end
function cm.gvcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToRemoveAsCost() end
Duel.Remove(e:GetHandler(),POS_FACEUP,REASON_COST)
end
function cm.gvfilter(c)
return c:IsSetCard(0xa450) and c:IsType(TYPE_MONSTER) and c:IsAbleToGrave()
end
function cm.gvtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.gvfilter,tp,LOCATION_EXTRA,0,2,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,2,tp,LOCATION_EXTRA)
end
function cm.gvop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,cm.gvfilter,tp,LOCATION_EXTRA,0,2,2,nil)
if g:GetCount()>0 then
Duel.SendtoGrave(g,REASON_EFFECT)
end
end
......@@ -3,7 +3,7 @@
local cm,m=GetID()
function cm.initial_effect(c)
aux.AddCodeList(c,22702055)
c:SetUniqueOnField(1,1,11451419)
c:SetUniqueOnField(1,1,11451629)
c:EnableReviveLimit()
--spsummon condition
local e1=Effect.CreateEffect(c)
......
......@@ -46,7 +46,7 @@ function cm.initial_effect(c)
c:RegisterEffect(e5)
end
function cm.retg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToRemove() end
if chk==0 then return e:GetHandler():IsAbleToRemove() and e:GetHandler():GetFlagEffect(m)==0 end
local t={}
local i=1
for i=1,7 do t[i]=i+2 end
......@@ -70,7 +70,7 @@ function cm.reop(e,tp,eg,ep,ev,re,r,rp)
e2:SetReset(RESET_EVENT+RESETS_STANDARD)
c:RegisterEffect(e2)
e:UseCountLimit(tp,1)
c:RegisterFlagEffect(m,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(11451011,2))
c:RegisterFlagEffect(m,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END-RESET_TEMP_REMOVE,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(11451011,2))
c:RegisterFlagEffect(11451717,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,ct,aux.Stringid(11451717,ct-3))
c:RegisterFlagEffect(11451718,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,9-ct,aux.Stringid(11451718,9-ct))
local e1=Effect.CreateEffect(c)
......@@ -257,7 +257,7 @@ end
function cm.eftg(e,c)
if not c:IsSetCard(0x3977) then return false end
local tp=c:GetControler()
if Duel.GetFlagEffect(tp,m)>0 then return false end
--if Duel.GetFlagEffect(tp,m)>0 then return false end
local te=c:GetActivateEffect()
local chkf=tp
local mg1=Duel.GetFusionMaterial(tp):Filter(Card.IsLocation,nil,LOCATION_HAND)
......@@ -322,7 +322,7 @@ function cm.efcost(e,tp,eg,ep,ev,re,r,rp,chk)
end
end
te:SetOperation(op2)
Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1)
--Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
......@@ -343,7 +343,7 @@ function cm.costcon(e)
end
function cm.actarget2(e,te,tp)
e:SetLabelObject(te)
return Duel.GetFlagEffect(tp,m)==0 and te:GetHandler():IsSetCard(0x3977) and te:IsHasType(EFFECT_TYPE_ACTIVATE) and te:GetHandler():IsFacedown() and te:GetHandler():IsOnField() and te:GetHandler():IsStatus(STATUS_SET_TURN) and not te:GetHandler():IsType(TYPE_QUICKPLAY) and not te:GetHandler():IsType(TYPE_TRAP)
return te:GetHandler():IsSetCard(0x3977) and te:IsHasType(EFFECT_TYPE_ACTIVATE) and te:GetHandler():IsFacedown() and te:GetHandler():IsOnField() and te:GetHandler():IsStatus(STATUS_SET_TURN) and not te:GetHandler():IsType(TYPE_QUICKPLAY) and not te:GetHandler():IsType(TYPE_TRAP) --and Duel.GetFlagEffect(tp,m)==0
end
function cm.costop2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......@@ -409,7 +409,7 @@ function cm.costop2(e,tp,eg,ep,ev,re,r,rp)
end
end
te:SetOperation(op2)
Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1)
--Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
......
......@@ -41,6 +41,7 @@ function s.initial_effect(c)
end
end
function s.checkop(e,tp,eg,ep,ev,re,r,rp)
local tp=e:GetHandlerPlayer()
local g=Duel.GetMatchingGroup(Card.IsFaceup,tp,0,LOCATION_MZONE,nil)
for tc in aux.Next(g) do
local e1=Effect.CreateEffect(e:GetHandler())
......@@ -109,8 +110,7 @@ function s.op(e,tp,eg,ep,ev,re,r,rp)
if #g==0 then return end
local tg=g:Select(tp,1,1,nil)
Duel.HintSelection(tg)
if #tg>0 and Duel.SendtoDeck(tg,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)>0 and tg:GetFirst():IsLocation(LOCATION_DECK+LOCATION_EXTRA)
and Duel.IsPlayerCanDiscardDeck(tp,1) then
if #tg>0 and Duel.SendtoDeck(tg,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)>0 and tg:GetFirst():IsLocation(LOCATION_DECK+LOCATION_EXTRA) and Duel.IsPlayerCanDiscardDeck(tp,2) then
Duel.BreakEffect()
Duel.DisableShuffleCheck()
Duel.DiscardDeck(tp,2,REASON_EFFECT)
......@@ -119,10 +119,11 @@ end
function s.discon(e,tp,eg,ep,ev,re,r,rp)
local rc=re:GetHandler()
local loc=Duel.GetChainInfo(ev,CHAININFO_TRIGGERING_LOCATION)
return re:IsActiveType(TYPE_MONSTER) and loc==LOCATION_MZONE and (rc:GetFlagEffect(id)>0 or rc:GetFlagEffect(id+o)>0)
return re:IsActiveType(TYPE_MONSTER) and loc==LOCATION_MZONE and (rc:GetFlagEffect(id)>0 or rc:GetFlagEffect(id+o)>0) and rc:GetControler()==1-tp
end
function s.disop(e,tp,eg,ep,ev,re,r,rp)
local rc=re:GetHandler()
if not rc:GetControler()==1-tp then return end
Duel.NegateEffect(ev)
if rc:GetFlagEffect(id+o)>0 then
rc:ResetFlagEffect(id+o)
......
......@@ -89,7 +89,7 @@ end
function cm.tdcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=Duel.GetMatchingGroup(cm.filter,tp,LOCATION_EXTRA,0,nil)
return eg:IsExists(cm.cfilter,1,nil) and g:GetClassCount(Card.GetCode)>=5 and not eg:IsContains(e:GetHandler())
return eg:IsExists(cm.cfilter,1,nil) and g:GetClassCount(Card.GetCode)>=4 and not eg:IsContains(e:GetHandler())
end
function cm.tdtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
......@@ -109,9 +109,7 @@ function cm.tdop(e,tp,eg,ep,ev,re,r,rp)
local sg=Duel.GetMatchingGroup(cm.desfilter,tp,0,LOCATION_ONFIELD,nil,cg)
if #sg>0 and Duel.SelectYesNo(tp,aux.Stringid(m,0)) then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local aa=Duel.SelectMatchingCard(tp,Card.IsAbleToDeck,tp,LOCATION_HAND,0,1,1,nil)
Duel.SendtoDeck(aa,nil,2,REASON_EFFECT)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local hg=sg:Select(tp,1,1,nil)
if #hg>0 then
......@@ -150,7 +148,7 @@ end
function cm.con(e,tp)
local c=e:GetHandler()
local g=Duel.GetMatchingGroup(cm.filter,tp,LOCATION_EXTRA,0,nil)
return g:GetClassCount(Card.GetCode)>=3
return g:GetClassCount(Card.GetCode)>=2
end
function cm.filter(c)
return c:IsFaceup() and c:IsType(TYPE_PENDULUM)
......
This diff is collapsed.
This diff is collapsed.
--白露未晞
local s,id,o=GetID()
function s.initial_effect(c)
c:SetSPSummonOnce(id)
--spsummon condition
c:SetSPSummonOnce(id)
--spsummon condition
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetCode(EFFECT_SPSUMMON_CONDITION)
c:RegisterEffect(e0)
--special summon
--special summon
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_SPSUMMON_PROC)
......@@ -16,20 +16,20 @@ function s.initial_effect(c)
e1:SetRange(LOCATION_EXTRA)
e1:SetCondition(s.spcon)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetCondition(s.rmcon)
e2:SetCondition(s.rmcon)
e2:SetOperation(s.xxop)
c:RegisterEffect(e2)
--SetEffect
local e3=Effect.CreateEffect(c)
--SetEffect
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetCode(EVENT_SPSUMMON_SUCCESS)
e3:SetOperation(s.efop)
c:RegisterEffect(e3)
--battle
--battle
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
......@@ -41,26 +41,26 @@ function s.spfilter(c)
end
function s.spcon(e,c)
if c==nil then return true end
local tp=e:GetHandler():GetControler()
local tp=e:GetHandler():GetControler()
return Duel.IsExistingMatchingCard(s.spfilter,c:GetControler(),0x02,0,1,nil)
and Duel.GetFieldGroupCount(tp,LOCATION_MZONE,0)==0
and Duel.GetLocationCount(c:GetControler(),LOCATION_MZONE)>0
and Duel.GetFieldGroupCount(tp,LOCATION_MZONE,0)==0
and Duel.GetLocationCount(c:GetControler(),LOCATION_MZONE)>0
end
function s.rmcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler()==re:GetHandler()
end
function s.xxop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=Duel.GetMatchingGroup(s.spfilter,tp,0x02,0,nil)
if c:IsOnField() and c:IsType(TYPE_XYZ) and #g>0 then
Duel.Hint(3,tp,513)
local sg=g:Select(tp,1,1,nil)
Duel.Overlay(c,sg)
end
local g=Duel.GetMatchingGroup(s.spfilter,tp,0x02,0,nil)
if c:IsOnField() and c:IsType(TYPE_XYZ) and #g>0 then
Duel.Hint(3,tp,513)
local sg=g:Select(tp,1,1,nil)
Duel.Overlay(c,sg)
end
end
function s.efop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=Group.CreateGroup()
local g=Group.CreateGroup()
g:KeepAlive()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
......@@ -72,56 +72,48 @@ function s.efop(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterEffect(e1,tp)
end
function s.tyfi1ter(c)
return (c:GetOriginalType()&TYPE_SPELL>0 and c:GetOriginalType()&TYPE_EQUIP>0)
or (c:GetOriginalType()&TYPE_MONSTER>0 and c:GetOriginalType()&TYPE_UNION>0)
return (c:GetOriginalType()&TYPE_SPELL>0 and c:GetOriginalType()&TYPE_EQUIP>0)
or (c:GetOriginalType()&TYPE_MONSTER>0 and c:GetOriginalType()&TYPE_UNION>0)
end
function s.thfi1ter(c,g)
return s.tyfi1ter(c) and c:IsAbleToHand()
and (g:GetCount()==0 or g:FilterCount(Card.IsCode,nil,c:GetOriginalCode())==0)
return s.tyfi1ter(c) and c:IsAbleToHand()
and (g:GetCount()==0 or g:FilterCount(Card.IsCode,nil,c:GetOriginalCode())==0)
end
function s.thop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local ct=e:GetLabel()
local lg=e:GetLabelObject()
local TohandCV=0
local tc=eg:GetFirst()
local g=Group.CreateGroup()
local lg=e:GetLabelObject()
local TohandCV=0
local tc=eg:GetFirst()
local g=Group.CreateGroup()
while tc do
if s.tyfi1ter(tc) and rp==tp then
ct=ct+1
if ct>=3 then
ct=0
TohandCV=TohandCV+1
end
end
tc=eg:GetNext()
if s.tyfi1ter(tc) and rp==tp then
ct=ct+1
if ct>=4 then
ct=0
TohandCV=TohandCV+1
end
end
tc=eg:GetNext()
end
e:SetLabel(ct)
while TohandCV>0 do
local dg=Duel.GetMatchingGroup(s.thfi1ter,tp,0x01,0,nil,lg)
if #dg>0 and Duel.SelectYesNo(tp,aux.Stringid(id,0)) then
local stc=dg:RandomSelect(tp,1):GetFirst()
if Duel.SendtoHand(stc,nil,0x40)>0 then
g:AddCard(stc)
Duel.ConfirmCards(1-tp,stc)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetCode(EFFECT_CANNOT_ACTIVATE)
e2:SetTargetRange(1,0)
e2:SetValue(s.aclimit)
e2:SetLabel(stc:GetCode())
e2:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e2,tp)
end
end
TohandCV=TohandCV-1
local dg=Duel.GetMatchingGroup(s.thfi1ter,tp,0x01,0,nil,lg)
if #dg>0 and Duel.SelectYesNo(tp,aux.Stringid(id,0)) then
local stc=dg:RandomSelect(tp,1):GetFirst()
if Duel.SendtoHand(stc,nil,0x40)>0 then
g:AddCard(stc)
Duel.ConfirmCards(1-tp,stc)
end
end
TohandCV=TohandCV-1
end
if #g>0 then
lg:Merge(g)
lg:KeepAlive()
e:SetLabelObject(lg)
end
if #g>0 then
lg:Merge(g)
lg:KeepAlive()
e:SetLabelObject(lg)
end
end
function s.aclimit(e,re,tp)
return re:GetHandler():IsCode(e:GetLabel())
......
......@@ -16,7 +16,7 @@ function cm.filter(c,e,tp,mg)
local lv=c:GetLevel()
return c:IsType(TYPE_SYNCHRO) and c:IsSetCard(0x3f44)
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false)
and mg:CheckSubGroup(cm.gcheck,2,lv,tp,c)
and mg:CheckSubGroup(cm.gcheck,1,lv,tp,c)
end
function cm.setfilter(c)
return c:IsType(TYPE_TUNER) and c:IsSetCard(0x3f44)
......@@ -43,7 +43,7 @@ function cm.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.ConfirmCards(1-tp,tc)
local lv=tc:GetLevel()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local sg=mg:SelectSubGroup(tp,cm.gcheck,false,2,lv,tp,tc)
local sg=mg:SelectSubGroup(tp,cm.gcheck,false,1,lv,tp,tc)
local cg=sg:Filter(Card.IsFacedown,nil)
Duel.ConfirmCards(1-tp,cg)
if Duel.SendtoGrave(sg,REASON_EFFECT)~=0 and sg:FilterCount(Card.IsLocation,nil,LOCATION_GRAVE)~=0 then
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment