Commit dad45449 authored by POLYMER's avatar POLYMER

update 230926 1st

parent f4bb37d5
...@@ -1842,7 +1842,6 @@ ...@@ -1842,7 +1842,6 @@
65010124 0 65010124 0
65010125 0 65010125 0
65010126 0 65010126 0
65010127 0
65010129 0 65010129 0
65010130 0 65010130 0
65010131 0 65010131 0
...@@ -3944,7 +3943,6 @@ ...@@ -3944,7 +3943,6 @@
60159907 0 60159907 0
60159941 0 60159941 0
60159942 0 60159942 0
65010127 0
65020217 0 65020217 0
72100106 0 72100106 0
72100300 0 72100300 0
...@@ -5255,6 +5253,9 @@ ...@@ -5255,6 +5253,9 @@
12845011 0 12845011 0
12845012 0 12845012 0
12845013 0 12845013 0
4875078 0
33701122 0
45745915 0
#limit #limit
33403513 1 33403513 1
82204250 1 82204250 1
...@@ -5495,6 +5496,15 @@ ...@@ -5495,6 +5496,15 @@
11451654 1 11451654 1
11451733 1 11451733 1
87697574 1 87697574 1
11533706 1
11533701 1
11533700 1
11533704 1
11533703 1
189132 1
189139 1
98920228 1
98920410 1
#semi limit #semi limit
9950623 2 9950623 2
9950045 2 9950045 2
...@@ -5521,6 +5531,7 @@ ...@@ -5521,6 +5531,7 @@
9950742 2 9950742 2
72410620 2 72410620 2
72421540 2 72421540 2
11533702 2
#Forbidden TCG #Forbidden TCG
##MAIN DECK MONSTERS ##MAIN DECK MONSTERS
94689206 0 --Block Dragon 94689206 0 --Block Dragon
...@@ -5629,6 +5640,7 @@ ...@@ -5629,6 +5640,7 @@
5851097 0 --Vanity's Emptiness 5851097 0 --Vanity's Emptiness
43262273 0 --Appointer of the Red Lotus 43262273 0 --Appointer of the Red Lotus
1041278 0 --Branded Expulsion 1041278 0 --Branded Expulsion
48626373 0 --Kashtira Arise-Heart
#Limited TCG #Limited TCG
7902349 1 --Left Arm of the forbidden one MAIN DECK MONSTERS 7902349 1 --Left Arm of the forbidden one MAIN DECK MONSTERS
44519536 1 --Left Leg of the forbidden one 44519536 1 --Left Leg of the forbidden one
...@@ -5638,7 +5650,6 @@ ...@@ -5638,7 +5650,6 @@
33396948 1 --Exodia the Forbidden One 33396948 1 --Exodia the Forbidden One
99177923 1 --Infernity Archfiend 99177923 1 --Infernity Archfiend
89399912 1 --Tempest, Dragon Ruler of Storms 89399912 1 --Tempest, Dragon Ruler of Storms
26889158 1 --Salamangreat Gazelle
81275020 1 --Speedroid Terrortop 81275020 1 --Speedroid Terrortop
99234526 1 --White Dragon Wyverburster 99234526 1 --White Dragon Wyverburster
78872731 1 --Zoodiac Ratpier 78872731 1 --Zoodiac Ratpier
...@@ -5674,7 +5685,6 @@ ...@@ -5674,7 +5685,6 @@
581014 1 --Daigusto Emeral 581014 1 --Daigusto Emeral
73539069 1 --Striker Dragon 73539069 1 --Striker Dragon
65536818 1 --Denglong, First of the Yang Zing 65536818 1 --Denglong, First of the Yang Zing
48626373 1 --Kashtira Arise-Heart
95308449 1 --Final Countdown SPELL CARDS 95308449 1 --Final Countdown SPELL CARDS
81439173 1 --Foolish Burial 81439173 1 --Foolish Burial
18144506 1 --Harpie's Feather Duster 18144506 1 --Harpie's Feather Duster
...@@ -5710,9 +5720,10 @@ ...@@ -5710,9 +5720,10 @@
32723153 1 --Magical Explosion --TRAP CARDS 32723153 1 --Magical Explosion --TRAP CARDS
35316708 1 --Time Seal 35316708 1 --Time Seal
3734202 1 --Naturia Sacred Tree 3734202 1 --Naturia Sacred Tree
33854624 1 --Bystial Magnamhut
99266988 1 --Chaos Space
#Semi-Limited TCG #Semi-Limited TCG
9411399 2 --Destiny HERO - Malicious 9411399 2 --Destiny HERO - Malicious
17266660 2 --Herald of Orange Light
68304193 2 --Kashtira Unicorn 68304193 2 --Kashtira Unicorn
35261759 2 --Pot of Desires 35261759 2 --Pot of Desires
63166095 2 --Sky Striker Mobilize - Engage! 63166095 2 --Sky Striker Mobilize - Engage!
...@@ -6148,7 +6159,6 @@ ...@@ -6148,7 +6159,6 @@
65010090 1 65010090 1
65010100 1 65010100 1
65010124 1 65010124 1
65010127 1
9951070 1 9951070 1
9951097 1 9951097 1
9951098 1 9951098 1
...@@ -6314,6 +6324,7 @@ ...@@ -6314,6 +6324,7 @@
80604091 1 --Ultimate Offering 80604091 1 --Ultimate Offering
80604092 1 --Ultimate Offering 80604092 1 --Ultimate Offering
5851097 1 --Vanity's Emptiness 5851097 1 --Vanity's Emptiness
48626373 1 --Kashtira Arise-Heart
53796106 0 53796106 0
25000000 0 25000000 0
25000001 0 25000001 0
...@@ -9229,7 +9240,6 @@ ...@@ -9229,7 +9240,6 @@
65010121 0 65010121 0
65010122 1 65010122 1
65010124 1 65010124 1
65010127 0
65010201 0 65010201 0
65010203 0 65010203 0
65010328 0 65010328 0
......
No preview for this file type
expansions/pics/11451598.jpg

197 KB | W: | H:

expansions/pics/11451598.jpg

16.5 KB | W: | H:

expansions/pics/11451598.jpg
expansions/pics/11451598.jpg
expansions/pics/11451598.jpg
expansions/pics/11451598.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/11451623.jpg

55 KB | W: | H:

expansions/pics/11451623.jpg

92.7 KB | W: | H:

expansions/pics/11451623.jpg
expansions/pics/11451623.jpg
expansions/pics/11451623.jpg
expansions/pics/11451623.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/11451760.jpg

37.2 KB | W: | H:

expansions/pics/11451760.jpg

37.5 KB | W: | H:

expansions/pics/11451760.jpg
expansions/pics/11451760.jpg
expansions/pics/11451760.jpg
expansions/pics/11451760.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/11451782.jpg

205 KB | W: | H:

expansions/pics/11451782.jpg

17.1 KB | W: | H:

expansions/pics/11451782.jpg
expansions/pics/11451782.jpg
expansions/pics/11451782.jpg
expansions/pics/11451782.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/11451809.jpg

147 KB | W: | H:

expansions/pics/11451809.jpg

35.5 KB | W: | H:

expansions/pics/11451809.jpg
expansions/pics/11451809.jpg
expansions/pics/11451809.jpg
expansions/pics/11451809.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/115002.jpg

36.5 KB | W: | H:

expansions/pics/115002.jpg

512 KB | W: | H:

expansions/pics/115002.jpg
expansions/pics/115002.jpg
expansions/pics/115002.jpg
expansions/pics/115002.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/115005.jpg

11.9 KB | W: | H:

expansions/pics/115005.jpg

147 KB | W: | H:

expansions/pics/115005.jpg
expansions/pics/115005.jpg
expansions/pics/115005.jpg
expansions/pics/115005.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53700000.jpg

17.3 KB | W: | H:

expansions/pics/53700000.jpg

60.5 KB | W: | H:

expansions/pics/53700000.jpg
expansions/pics/53700000.jpg
expansions/pics/53700000.jpg
expansions/pics/53700000.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53700006.jpg

16.4 KB | W: | H:

expansions/pics/53700006.jpg

56.3 KB | W: | H:

expansions/pics/53700006.jpg
expansions/pics/53700006.jpg
expansions/pics/53700006.jpg
expansions/pics/53700006.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53700007.jpg

17.3 KB | W: | H:

expansions/pics/53700007.jpg

59.6 KB | W: | H:

expansions/pics/53700007.jpg
expansions/pics/53700007.jpg
expansions/pics/53700007.jpg
expansions/pics/53700007.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53700008.jpg

15.2 KB | W: | H:

expansions/pics/53700008.jpg

53.4 KB | W: | H:

expansions/pics/53700008.jpg
expansions/pics/53700008.jpg
expansions/pics/53700008.jpg
expansions/pics/53700008.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53700010.jpg

19 KB | W: | H:

expansions/pics/53700010.jpg

66.5 KB | W: | H:

expansions/pics/53700010.jpg
expansions/pics/53700010.jpg
expansions/pics/53700010.jpg
expansions/pics/53700010.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53702500.jpg

168 KB | W: | H:

expansions/pics/53702500.jpg

67.7 KB | W: | H:

expansions/pics/53702500.jpg
expansions/pics/53702500.jpg
expansions/pics/53702500.jpg
expansions/pics/53702500.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53703015.jpg

13.2 KB | W: | H:

expansions/pics/53703015.jpg

64.3 KB | W: | H:

expansions/pics/53703015.jpg
expansions/pics/53703015.jpg
expansions/pics/53703015.jpg
expansions/pics/53703015.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53718031.jpg

16.1 KB | W: | H:

expansions/pics/53718031.jpg

54.8 KB | W: | H:

expansions/pics/53718031.jpg
expansions/pics/53718031.jpg
expansions/pics/53718031.jpg
expansions/pics/53718031.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53719014.jpg

19.7 KB | W: | H:

expansions/pics/53719014.jpg

57.9 KB | W: | H:

expansions/pics/53719014.jpg
expansions/pics/53719014.jpg
expansions/pics/53719014.jpg
expansions/pics/53719014.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53721013.jpg

193 KB | W: | H:

expansions/pics/53721013.jpg

54.5 KB | W: | H:

expansions/pics/53721013.jpg
expansions/pics/53721013.jpg
expansions/pics/53721013.jpg
expansions/pics/53721013.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53721016.jpg

178 KB | W: | H:

expansions/pics/53721016.jpg

68.4 KB | W: | H:

expansions/pics/53721016.jpg
expansions/pics/53721016.jpg
expansions/pics/53721016.jpg
expansions/pics/53721016.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53722003.jpg

193 KB | W: | H:

expansions/pics/53722003.jpg

54.1 KB | W: | H:

expansions/pics/53722003.jpg
expansions/pics/53722003.jpg
expansions/pics/53722003.jpg
expansions/pics/53722003.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53722008.jpg

227 KB | W: | H:

expansions/pics/53722008.jpg

68.9 KB | W: | H:

expansions/pics/53722008.jpg
expansions/pics/53722008.jpg
expansions/pics/53722008.jpg
expansions/pics/53722008.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53722010.jpg

187 KB | W: | H:

expansions/pics/53722010.jpg

51.1 KB | W: | H:

expansions/pics/53722010.jpg
expansions/pics/53722010.jpg
expansions/pics/53722010.jpg
expansions/pics/53722010.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53722011.jpg

233 KB | W: | H:

expansions/pics/53722011.jpg

66 KB | W: | H:

expansions/pics/53722011.jpg
expansions/pics/53722011.jpg
expansions/pics/53722011.jpg
expansions/pics/53722011.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53728022.jpg

15.1 KB | W: | H:

expansions/pics/53728022.jpg

53 KB | W: | H:

expansions/pics/53728022.jpg
expansions/pics/53728022.jpg
expansions/pics/53728022.jpg
expansions/pics/53728022.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53731021.jpg

188 KB | W: | H:

expansions/pics/53731021.jpg

68.9 KB | W: | H:

expansions/pics/53731021.jpg
expansions/pics/53731021.jpg
expansions/pics/53731021.jpg
expansions/pics/53731021.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53736017.jpg

195 KB | W: | H:

expansions/pics/53736017.jpg

54.2 KB | W: | H:

expansions/pics/53736017.jpg
expansions/pics/53736017.jpg
expansions/pics/53736017.jpg
expansions/pics/53736017.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53755008.jpg

213 KB | W: | H:

expansions/pics/53755008.jpg

59.5 KB | W: | H:

expansions/pics/53755008.jpg
expansions/pics/53755008.jpg
expansions/pics/53755008.jpg
expansions/pics/53755008.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53765008.jpg

181 KB | W: | H:

expansions/pics/53765008.jpg

53.5 KB | W: | H:

expansions/pics/53765008.jpg
expansions/pics/53765008.jpg
expansions/pics/53765008.jpg
expansions/pics/53765008.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53796138.jpg

199 KB | W: | H:

expansions/pics/53796138.jpg

58.3 KB | W: | H:

expansions/pics/53796138.jpg
expansions/pics/53796138.jpg
expansions/pics/53796138.jpg
expansions/pics/53796138.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/65140080.jpg

3.33 KB | W: | H:

expansions/pics/65140080.jpg

43.9 KB | W: | H:

expansions/pics/65140080.jpg
expansions/pics/65140080.jpg
expansions/pics/65140080.jpg
expansions/pics/65140080.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/88880044.jpg

359 KB | W: | H:

expansions/pics/88880044.jpg

18.2 KB | W: | H:

expansions/pics/88880044.jpg
expansions/pics/88880044.jpg
expansions/pics/88880044.jpg
expansions/pics/88880044.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/field/65130370.jpg

1.41 MB | W: | H:

expansions/pics/field/65130370.jpg

30.9 KB | W: | H:

expansions/pics/field/65130370.jpg
expansions/pics/field/65130370.jpg
expansions/pics/field/65130370.jpg
expansions/pics/field/65130370.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/field/65130375.jpg

121 KB | W: | H:

expansions/pics/field/65130375.jpg

5.32 KB | W: | H:

expansions/pics/field/65130375.jpg
expansions/pics/field/65130375.jpg
expansions/pics/field/65130375.jpg
expansions/pics/field/65130375.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/field/65130377.jpg

137 KB | W: | H:

expansions/pics/field/65130377.jpg

5.71 KB | W: | H:

expansions/pics/field/65130377.jpg
expansions/pics/field/65130377.jpg
expansions/pics/field/65130377.jpg
expansions/pics/field/65130377.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/field/65130378.jpg

172 KB | W: | H:

expansions/pics/field/65130378.jpg

7.55 KB | W: | H:

expansions/pics/field/65130378.jpg
expansions/pics/field/65130378.jpg
expansions/pics/field/65130378.jpg
expansions/pics/field/65130378.jpg
  • 2-up
  • Swipe
  • Onion skin
...@@ -75,14 +75,14 @@ function cm.adcon2(e,tp,eg,ep,ev,re,r,rp) ...@@ -75,14 +75,14 @@ function cm.adcon2(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(cm.filter,1,nil,tp) return eg:IsExists(cm.filter,1,nil,tp)
end end
function cm.mfilter(c) function cm.mfilter(c)
return c:GetLevel()>0 and c:IsAbleToDeck() and c:IsReason(REASON_RELEASE) return c:GetLevel()>0 and (c:IsAbleToDeck() or c:IsAbleToHand()) --and c:IsReason(REASON_RELEASE)
end end
function cm.mfilter2(c) function cm.mfilter2(c)
return c:IsType(TYPE_SPELL) and c:IsAbleToDeck() return c:IsType(TYPE_SPELL) and (c:IsAbleToDeck() or c:IsAbleToHand())
end end
function cm.RitualUltimateFilter(c,filter,e,tp,m1,m2,level,greater_or_equal,chk) function cm.RitualUltimateFilter(c,filter,e,tp,m1,m2,level,greater_or_equal,chk)
if bit.band(c:GetType(),0x81)~=0x81 or (filter and not filter(c,e,tp,chk)) or not c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_RITUAL,tp,false,true) then return false end if bit.band(c:GetType(),0x81)~=0x81 or (filter and not filter(c,e,tp,chk)) or not c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_RITUAL,tp,false,true) then return false end
local mg=m1 local mg=m1 --:Filter(Card.IsCanBeRitualMaterial,c,c)
if m2 then if m2 then
mg:Merge(m2) mg:Merge(m2)
end end
...@@ -92,11 +92,20 @@ function cm.RitualUltimateFilter(c,filter,e,tp,m1,m2,level,greater_or_equal,chk) ...@@ -92,11 +92,20 @@ function cm.RitualUltimateFilter(c,filter,e,tp,m1,m2,level,greater_or_equal,chk)
mg:RemoveCard(c) mg:RemoveCard(c)
end end
local lv=level local lv=level
Auxiliary.GCheckAdditional=Auxiliary.RitualCheckAdditional(c,lv,greater_or_equal) Auxiliary.GCheckAdditional=aux.RitualCheckAdditional(c,lv,greater_or_equal)
local res=mg:CheckSubGroup(Auxiliary.RitualCheck,1,lv,tp,c,lv,greater_or_equal) local res=mg:CheckSubGroup(cm.RitualCheck,1,lv,tp,c,lv,greater_or_equal)
Auxiliary.GCheckAdditional=nil Auxiliary.GCheckAdditional=nil
return res return res
end end
function cm.RitualCheck(g,tp,c,lv,greater_or_equal)
return Auxiliary["RitualCheck"..greater_or_equal](g,c,lv) and Duel.GetMZoneCount(tp,g,tp)>0 and (not c.mat_group_check or c.mat_group_check(g,tp)) and (not Auxiliary.RCheckAdditional or Auxiliary.RCheckAdditional(tp,g,c)) and g:IsExists(cm.thfilter2,1,nil,g)
end
function cm.thfilter2(c,g)
return c:IsAbleToHand() and not g:IsExists(cm.ntdfilter,1,c)
end
function cm.ntdfilter(c)
return not c:IsAbleToDeck()
end
function cm.rfilter(c,filter,e,tp,m1,m2,level,greater_or_equal,chk) function cm.rfilter(c,filter,e,tp,m1,m2,level,greater_or_equal,chk)
return cm.RitualUltimateFilter(c,filter,e,tp,m1,m2,7,greater_or_equal,chk) or cm.RitualUltimateFilter(c,filter,e,tp,m1,m2,8,greater_or_equal,chk) return cm.RitualUltimateFilter(c,filter,e,tp,m1,m2,7,greater_or_equal,chk) or cm.RitualUltimateFilter(c,filter,e,tp,m1,m2,8,greater_or_equal,chk)
end end
...@@ -106,7 +115,12 @@ end ...@@ -106,7 +115,12 @@ end
function cm.adtg2(e,tp,eg,ep,ev,re,r,rp,chk) function cm.adtg2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then if chk==0 then
local mg=Duel.GetMatchingGroup(cm.mfilter,tp,LOCATION_GRAVE,0,nil) local mg=Duel.GetMatchingGroup(cm.mfilter,tp,LOCATION_GRAVE,0,nil)
return not e:GetHandler():IsStatus(STATUS_CHAINING) and ((Duel.IsExistingMatchingCard(cm.RitualUltimateFilter,tp,LOCATION_HAND,0,1,nil,cm.nfilter,e,tp,mg,nil,7,"Equal") and Duel.IsExistingMatchingCard(cm.mfilter2,tp,LOCATION_GRAVE,0,1,nil)) or Duel.IsExistingMatchingCard(cm.RitualUltimateFilter,tp,LOCATION_HAND,0,1,nil,cm.nfilter,e,tp,mg,nil,8,"Equal")) local mg2=Duel.GetMatchingGroup(cm.mfilter2,tp,LOCATION_GRAVE,0,nil)
local _GetRitualLevel=Card.GetRitualLevel
Card.GetRitualLevel=function(c,rc) if c:IsType(TYPE_SPELL) then return 1 else return _GetRitualLevel(c,rc) end end
local res=not e:GetHandler():IsStatus(STATUS_CHAINING) and Duel.IsExistingMatchingCard(cm.RitualUltimateFilter,tp,LOCATION_HAND,0,1,nil,cm.nfilter,e,tp,mg,mg2,8,"Equal") --((Duel.IsExistingMatchingCard(cm.RitualUltimateFilter,tp,LOCATION_HAND,0,1,nil,cm.nfilter,e,tp,mg,nil,7,"Equal") and Duel.IsExistingMatchingCard(cm.mfilter2,tp,LOCATION_GRAVE,0,1,nil)) or Duel.IsExistingMatchingCard(cm.RitualUltimateFilter,tp,LOCATION_HAND,0,1,nil,cm.nfilter,e,tp,mg,nil,8,"Equal"))
Card.GetRitualLevel=_GetRitualLevel
return res
end end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND)
Duel.SetOperationInfo(0,CATEGORY_TODECK,nil,1,tp,LOCATION_GRAVE) Duel.SetOperationInfo(0,CATEGORY_TODECK,nil,1,tp,LOCATION_GRAVE)
...@@ -114,37 +128,47 @@ end ...@@ -114,37 +128,47 @@ end
function cm.adop2(e,tp,eg,ep,ev,re,r,rp) function cm.adop2(e,tp,eg,ep,ev,re,r,rp)
::cancel:: ::cancel::
local mg=Duel.GetMatchingGroup(aux.NecroValleyFilter(cm.mfilter),tp,LOCATION_GRAVE,0,nil) local mg=Duel.GetMatchingGroup(aux.NecroValleyFilter(cm.mfilter),tp,LOCATION_GRAVE,0,nil)
local mg2=Duel.GetMatchingGroup(aux.NecroValleyFilter(cm.mfilter2),tp,LOCATION_GRAVE,0,nil)
local _GetRitualLevel=Card.GetRitualLevel
Card.GetRitualLevel=function(c,rc) if c:IsType(TYPE_SPELL) then return 1 else return _GetRitualLevel(c,rc) end end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local fil=cm.RitualUltimateFilter local fil=cm.RitualUltimateFilter
if Duel.IsExistingMatchingCard(cm.mfilter2,tp,LOCATION_GRAVE,0,1,nil) then fil=cm.rfilter end --if Duel.IsExistingMatchingCard(cm.mfilter2,tp,LOCATION_GRAVE,0,1,nil) then fil=cm.rfilter end
local g=Duel.SelectMatchingCard(tp,fil,tp,LOCATION_HAND,0,1,1,nil,cm.nfilter,e,tp,mg,nil,8,"Equal") local g=Duel.SelectMatchingCard(tp,fil,tp,LOCATION_HAND,0,1,1,nil,cm.nfilter,e,tp,mg,mg2,8,"Equal")
local tc=g:GetFirst() local tc=g:GetFirst()
if tc then if tc then
--mg=mg:Filter(Card.IsCanBeRitualMaterial,tc,tc)
mg:Merge(mg2)
if tc.mat_filter then if tc.mat_filter then
mg=mg:Filter(tc.mat_filter,tc,tp) mg=mg:Filter(tc.mat_filter,tc,tp)
else else
mg:RemoveCard(tc) mg:RemoveCard(tc)
end end
local rc=nil --[[local rc=nil
if Duel.IsExistingMatchingCard(cm.mfilter2,tp,LOCATION_GRAVE,0,1,nil) and cm.RitualUltimateFilter(tc,cm.nfilter,e,tp,mg,nil,7,"Equal") and (not cm.RitualUltimateFilter(tc,cm.nfilter,e,tp,mg,nil,8,"Equal") or Duel.SelectYesNo(tp,aux.Stringid(m,3))) then if cm.RitualUltimateFilter(tc,cm.nfilter,e,tp,mg,nil,7,"Equal") and Duel.IsExistingMatchingCard(cm.mfilter2,tp,LOCATION_GRAVE,0,1,nil) and (not cm.RitualUltimateFilter(tc,cm.nfilter,e,tp,mg,nil,8,"Equal") or Duel.SelectYesNo(tp,aux.Stringid(m,3))) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RTOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RTOHAND)
rc=Duel.SelectMatchingCard(tp,cm.mfilter2,tp,LOCATION_GRAVE,0,1,1,nil):GetFirst() rc=Duel.SelectMatchingCard(tp,cm.mfilter2,tp,LOCATION_GRAVE,0,1,1,nil):GetFirst()
end end--]]
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local lv=8 local lv=8
if rc then lv=7 end --if rc then lv=7 end
aux.GCheckAdditional=aux.RitualCheckAdditional(tc,lv,"Equal") aux.GCheckAdditional=aux.RitualCheckAdditional(tc,lv,"Equal")
local mat=mg:SelectSubGroup(tp,aux.RitualCheck,true,1,lv,tp,tc,lv,"Equal") local mat=mg:SelectSubGroup(tp,cm.RitualCheck,true,1,lv,tp,tc,lv,"Equal")
aux.GCheckAdditional=nil aux.GCheckAdditional=nil
if not mat then goto cancel end --if not mat then goto cancel end
if rc then mat:AddCard(rc) end Card.GetRitualLevel=_GetRitualLevel
--if rc then mat:AddCard(rc) end
tc:SetMaterial(mat) tc:SetMaterial(mat)
if rc then mat:RemoveCard(rc) end --if rc then mat:RemoveCard(rc) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RTOHAND)
local rc=mat:FilterSelect(tp,cm.thfilter2,1,1,nil,mat):GetFirst()
Duel.SendtoHand(rc,nil,REASON_EFFECT+REASON_MATERIAL+REASON_RITUAL)
mat:RemoveCard(rc)
Duel.SendtoDeck(mat,nil,2,REASON_EFFECT+REASON_MATERIAL+REASON_RITUAL) Duel.SendtoDeck(mat,nil,2,REASON_EFFECT+REASON_MATERIAL+REASON_RITUAL)
if rc then --[[if rc then
Duel.SendtoHand(rc,nil,REASON_EFFECT+REASON_MATERIAL+REASON_RITUAL) Duel.SendtoHand(rc,nil,REASON_EFFECT+REASON_MATERIAL+REASON_RITUAL)
Duel.ConfirmCards(1-tp,rc) Duel.ConfirmCards(1-tp,rc)
end end--]]
Duel.BreakEffect() Duel.BreakEffect()
Duel.SpecialSummon(tc,SUMMON_TYPE_RITUAL,tp,tp,false,true,POS_FACEUP) Duel.SpecialSummon(tc,SUMMON_TYPE_RITUAL,tp,tp,false,true,POS_FACEUP)
tc:CompleteProcedure() tc:CompleteProcedure()
......
...@@ -48,7 +48,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp) ...@@ -48,7 +48,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
else else
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)
end end
ct=ct-5 ct=ct-3
end end
if ct>=0 and Duel.IsExistingMatchingCard(aux.NecroValleyFilter(cm.thfilter),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil,e,tp) then Duel.BreakEffect() end if ct>=0 and Duel.IsExistingMatchingCard(aux.NecroValleyFilter(cm.thfilter),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil,e,tp) then Duel.BreakEffect() end
end end
......
...@@ -269,14 +269,14 @@ function cm.condition2(e,tp,eg,ep,ev,re,r,rp) ...@@ -269,14 +269,14 @@ function cm.condition2(e,tp,eg,ep,ev,re,r,rp)
return ep~=tp return ep~=tp
end end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk) function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.filter1,tp,LOCATION_DECK,0,1,nil) or Duel.IsExistingMatchingCard(cm.rthfilter,tp,0,LOCATION_ONFIELD,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(cm.filter1,tp,LOCATION_DECK,0,1,nil) or Duel.IsExistingMatchingCard(cm.rthfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) end
end end
function cm.rthfilter(c) function cm.rthfilter(c)
return c:IsAbleToHand() and not c:IsStatus(STATUS_BATTLE_DESTROYED) return c:IsAbleToHand() and not c:IsStatus(STATUS_BATTLE_DESTROYED)
end end
function cm.activate(e,tp,eg,ep,ev,re,r,rp) function cm.activate(e,tp,eg,ep,ev,re,r,rp)
local g1=Duel.GetMatchingGroup(cm.filter1,tp,LOCATION_DECK,0,nil) local g1=Duel.GetMatchingGroup(cm.filter1,tp,LOCATION_DECK,0,nil)
local g2=Duel.GetMatchingGroup(cm.rthfilter,tp,0,LOCATION_ONFIELD,nil) local g2=Duel.GetMatchingGroup(cm.rthfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil)
if not e:GetHandler():IsRelateToEffect(e) then return end if not e:GetHandler():IsRelateToEffect(e) then return end
if #g1>0 and (#g2==0 or Duel.SelectOption(tp,aux.Stringid(11451779,0),aux.Stringid(m,1))==0) then if #g1>0 and (#g2==0 or Duel.SelectOption(tp,aux.Stringid(11451779,0),aux.Stringid(m,1))==0) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
......
...@@ -11,6 +11,33 @@ function cm.initial_effect(c) ...@@ -11,6 +11,33 @@ function cm.initial_effect(c)
e1:SetTarget(cm.target) e1:SetTarget(cm.target)
e1:SetOperation(cm.activate) e1:SetOperation(cm.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
if not cm.global_check then
cm.global_check=true
cm.summon_code={}
local ge0=Effect.CreateEffect(c)
ge0:SetProperty(EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_CANNOT_DISABLE)
ge0:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge0:SetCode(EVENT_PHASE_START+PHASE_DRAW)
ge0:SetOperation(cm.clear)
Duel.RegisterEffect(ge0,0)
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_SUMMON_SUCCESS)
ge1:SetOperation(cm.checkop)
Duel.RegisterEffect(ge1,0)
local ge2=ge1:Clone()
ge2:SetCode(EVENT_SPSUMMON_SUCCESS)
Duel.RegisterEffect(ge2,0)
end
end
function cm.clear(e,tp,eg,ep,ev,re,r,rp)
cm.summon_code={}
end
function cm.checkop(e,tp,eg,ep,ev,re,r,rp)
local g=eg:Filter(Card.IsFaceup,nil)
for tc in aux.Next(g) do
table.insert(cm.summon_code,tc:GetCode())
end
end end
function cm.fcheck(tp,sg,fc) function cm.fcheck(tp,sg,fc)
return not sg:IsExists(cm.ffilter1,1,nil,sg) return not sg:IsExists(cm.ffilter1,1,nil,sg)
...@@ -28,7 +55,11 @@ function cm.filter2(c,e,tp,m,f,chkf) ...@@ -28,7 +55,11 @@ function cm.filter2(c,e,tp,m,f,chkf)
return 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) return 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 end
function cm.filter0(c) function cm.filter0(c)
return c:IsType(TYPE_MONSTER) and c:IsCanBeFusionMaterial() and c:IsAbleToGrave() and Duel.IsExistingMatchingCard(cm.nfilter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil,c:GetCode()) if not (c:IsType(TYPE_MONSTER) and c:IsCanBeFusionMaterial() and c:IsAbleToGrave()) then return false end --and Duel.IsExistingMatchingCard(cm.nfilter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil,c:GetCode())
for _,code in pairs(cm.summon_code) do
if c:IsCode(code) then return true end
end
return false
end end
function cm.nfilter(c,code) function cm.nfilter(c,code)
return c:IsCode(code) and c:IsFaceup() return c:IsCode(code) and c:IsFaceup()
...@@ -36,12 +67,12 @@ end ...@@ -36,12 +67,12 @@ end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk) function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then if chk==0 then
local chkf=tp local chkf=tp
local mg1=Duel.GetFusionMaterial(tp):Filter(Card.IsOnField,nil) local mg1=Duel.GetFusionMaterial(tp):Filter(Card.IsOnField,nil):Filter(cm.filter0,nil)
local mg2=Duel.GetMatchingGroup(cm.filter0,tp,LOCATION_DECK+LOCATION_EXTRA,0,nil) local mg2=Duel.GetMatchingGroup(cm.filter0,tp,LOCATION_DECK+LOCATION_EXTRA,0,nil)
mg1:Merge(mg2) mg1:Merge(mg2)
aux.FCheckAdditional=cm.fcheck --aux.FCheckAdditional=cm.fcheck
local res=Duel.IsExistingMatchingCard(cm.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf) local res=Duel.IsExistingMatchingCard(cm.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf)
aux.FCheckAdditional=nil --aux.FCheckAdditional=nil
if not res then if not res then
local ce=Duel.GetChainMaterial(tp) local ce=Duel.GetChainMaterial(tp)
if ce~=nil then if ce~=nil then
...@@ -57,12 +88,12 @@ function cm.target(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -57,12 +88,12 @@ function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
end end
function cm.activate(e,tp,eg,ep,ev,re,r,rp) function cm.activate(e,tp,eg,ep,ev,re,r,rp)
local chkf=tp local chkf=tp
local mg1=Duel.GetFusionMaterial(tp):Filter(cm.filter1,nil,e) local mg1=Duel.GetFusionMaterial(tp):Filter(cm.filter1,nil,e):Filter(cm.filter0,nil)
local mg2=Duel.GetMatchingGroup(cm.filter0,tp,LOCATION_DECK+LOCATION_EXTRA,0,nil) local mg2=Duel.GetMatchingGroup(cm.filter0,tp,LOCATION_DECK+LOCATION_EXTRA,0,nil)
mg1:Merge(mg2) mg1:Merge(mg2)
aux.FCheckAdditional=cm.fcheck --aux.FCheckAdditional=cm.fcheck
local sg1=Duel.GetMatchingGroup(cm.filter2,tp,LOCATION_EXTRA,0,nil,e,tp,mg1,nil,chkf) local sg1=Duel.GetMatchingGroup(cm.filter2,tp,LOCATION_EXTRA,0,nil,e,tp,mg1,nil,chkf)
aux.FCheckAdditional=nil --aux.FCheckAdditional=nil
local mg3=nil local mg3=nil
local sg2=nil local sg2=nil
local ce=Duel.GetChainMaterial(tp) local ce=Duel.GetChainMaterial(tp)
...@@ -79,9 +110,9 @@ function cm.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -79,9 +110,9 @@ function cm.activate(e,tp,eg,ep,ev,re,r,rp)
local tg=sg:Select(tp,1,1,nil) local tg=sg:Select(tp,1,1,nil)
local tc=tg:GetFirst() local tc=tg:GetFirst()
if sg1:IsContains(tc) and (sg2==nil or not sg2:IsContains(tc) or not Duel.SelectYesNo(tp,ce:GetDescription())) then if sg1:IsContains(tc) and (sg2==nil or not sg2:IsContains(tc) or not Duel.SelectYesNo(tp,ce:GetDescription())) then
aux.FCheckAdditional=cm.fcheck --aux.FCheckAdditional=cm.fcheck
local mat1=Duel.SelectFusionMaterial(tp,tc,mg1,nil,chkf) local mat1=Duel.SelectFusionMaterial(tp,tc,mg1,nil,chkf)
aux.FCheckAdditional=nil --aux.FCheckAdditional=nil
tc:SetMaterial(mat1) tc:SetMaterial(mat1)
Duel.SendtoGrave(mat1,REASON_EFFECT+REASON_MATERIAL+REASON_FUSION) Duel.SendtoGrave(mat1,REASON_EFFECT+REASON_MATERIAL+REASON_FUSION)
Duel.BreakEffect() Duel.BreakEffect()
......
--星汐击龙“绀夜”
local cm,m=GetID()
function cm.initial_effect(c)
--search
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,1))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_REMOVE+CATEGORY_DECKDES)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_HAND+LOCATION_REMOVED)
e1:SetTarget(cm.thtg)
e1:SetOperation(cm.thop)
c:RegisterEffect(e1)
local e3=e1:Clone()
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetCondition(cm.con2)
c:RegisterEffect(e3)
--spsummon
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(m,2))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetRange(LOCATION_HAND+LOCATION_REMOVED)
e2:SetCondition(cm.spcon)
e2:SetTarget(cm.sptg)
e2:SetOperation(cm.spop)
c:RegisterEffect(e2)
end
function cm.thfilter(c,e,tp)
return c:IsSetCard(0x9977) and c:IsType(TYPE_MONSTER) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function cm.con2(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFlagEffect(0,11451760)>0
end
function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
local sa=c:IsLocation(LOCATION_HAND) and Duel.GetFlagEffect(tp,m-1)==0
local sb=c:IsLocation(LOCATION_REMOVED) and Duel.GetFlagEffect(tp,m)==0
if chk==0 then return sa or sb end
if c:IsLocation(LOCATION_HAND) then
Duel.RegisterFlagEffect(tp,m-1,RESET_PHASE+PHASE_END,0,1)
elseif c:IsLocation(LOCATION_REMOVED) then
Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1)
end
end
function cm.thop(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_ADJUST)
e1:SetLabel(Duel.GetCurrentPhase())
e1:SetOperation(cm.adjustop)
Duel.RegisterEffect(e1,tp)
end
function cm.adjustop(e,tp,eg,ep,ev,re,r,rp)
local ph,ph2=Duel.GetCurrentPhase(),e:GetLabel()
if ph~=ph2 and (ph<=PHASE_MAIN1 or ph>=PHASE_MAIN2 or ph2<=PHASE_MAIN1 or ph2>=PHASE_MAIN2) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,cm.thfilter,tp,LOCATION_DECK,0,1,1,nil,e,tp)
if g:GetCount()>0 and Duel.GetMZoneCount(tp)>0 and Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)>0 then
local rg=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,LOCATION_ONFIELD,0,nil)
if #rg>1 then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local tg=rg:Select(tp,2,2,nil)
Duel.Remove(tg,POS_FACEUP,REASON_EFFECT)
end
end
e:Reset()
end
end
function cm.setfilter(c,e,tp)
return c:IsFaceup() and c:IsSetCard(0x9977) and ((c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEDOWN_DEFENSE) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0) or c:IsSSetable())
end
function cm.spfilter(c)
return c:IsFaceup() and c:IsSetCard(0x9977)
end
function cm.spcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(cm.spfilter,1,nil)
end
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
local sa=c:IsLocation(LOCATION_HAND) and Duel.GetFlagEffect(tp,m-1)==0
local sb=c:IsLocation(LOCATION_REMOVED) and Duel.GetFlagEffect(tp,m)==0
if chk==0 then return c:IsCanBeSpecialSummoned(e,0,tp,false,false) and Duel.IsExistingMatchingCard(cm.setfilter,tp,LOCATION_REMOVED,0,1,c,e,tp) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and (sa or sb) end
if c:IsLocation(LOCATION_HAND) then
Duel.RegisterFlagEffect(tp,m-1,RESET_PHASE+PHASE_END,0,1)
elseif c:IsLocation(LOCATION_REMOVED) then
Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1)
end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
end
function cm.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD)
local g=Duel.SelectMatchingCard(tp,cm.setfilter,tp,LOCATION_REMOVED,0,1,1,aux.ExceptThisCard(e),e,tp)
if g:GetCount()>0 then
local tc=g:GetFirst()
if tc:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEDOWN_DEFENSE) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and (not tc:IsSSetable() or Duel.SelectYesNo(tp,Stringid(m,3))) then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP_DEFENSE)
else
Duel.SSet(tp,tc)
end
if #Duel.GetOperatedGroup()>0 and c:IsRelateToEffect(e) then
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
end
end
end
\ No newline at end of file
--心意海仙女之影灵衣
function c11533700.initial_effect(c)
c:EnableReviveLimit()
--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)
e1:SetValue(aux.ritlimit)
c:RegisterEffect(e1)
--rl rm td
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_RELEASE+CATEGORY_REMOVE+CATEGORY_TODECK)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,11533700)
e1:SetCost(c11533700.rrtcost)
e1:SetTarget(c11533700.rrttg)
e1:SetOperation(c11533700.rrtop)
c:RegisterEffect(e1)
--indes
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetRange(LOCATION_MZONE)
e2:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
e2:SetValue(1)
c:RegisterEffect(e2)
--rl and disable
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_RELEASE+CATEGORY_DISABLE)
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetHintTiming(0,TIMINGS_CHECK_MONSTER)
e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1,21533700)
e3:SetTarget(c11533700.rdistg)
e3:SetOperation(c11533700.rdisop)
c:RegisterEffect(e3)
end
function c11533700.mat_filter(c)
return not c:IsCode(11533700)
end
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.rrfil(c)
if not c:IsSetCard(0xb4) then return false end
if c:IsLocation(LOCATION_HAND) then
return c:IsReleasable() or c:IsAbleToGrave()
elseif c:IsLocation(LOCATION_GRAVE) then
return c:IsAbleToRemove() and not c:IsCode(11533700)
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+LOCATION_GRAVE,0,1,e:GetHandler()) end
Duel.SetOperationInfo(0,CATEGORY_RELEASE,nil,1,tp,LOCATION_HAND)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,1,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+LOCATION_GRAVE,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
if b1 and b2 then
op=Duel.SelectOption(tp,aux.Stringid(11533700,2),aux.Stringid(11533700,3))
elseif b1 then
op=Duel.SelectOption(tp,aux.Stringid(11533700,2))
elseif b2 then
op=Duel.SelectOption(tp,aux.Stringid(11533700,3))+1
end
if op==0 then
x=Duel.Release(tc,REASON_EFFECT)
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,5,nil)
Duel.SendtoDeck(sg,nil,2,REASON_EFFECT)
end
end
end
function c11533700.rlfil(c)
return c:IsSetCard(0xb4) and (c:IsReleasable() or c:IsAbleToGrave())
end
function c11533700.rdistg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c11533700.rlfil,tp,LOCATION_HAND+LOCATION_ONFIELD,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_RELEASE,nil,1,tp,LOCATION_HAND+LOCATION_ONFIELD)
end
function c11533700.rdisop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=Duel.GetMatchingGroup(c11533700.rlfil,tp,LOCATION_HAND+LOCATION_ONFIELD,0,nil)
if g:GetCount()>0 then
local rc=g:Select(tp,1,1,nil):GetFirst()
local x=0
local b1=rc:IsReleasable()
local b2=rc:IsAbleToGrave()
local op=0
if b1 and b2 then
op=Duel.SelectOption(tp,aux.Stringid(11533700,2),aux.Stringid(11533700,3))
elseif b1 then
op=Duel.SelectOption(tp,aux.Stringid(11533700,2))
elseif b2 then
op=Duel.SelectOption(tp,aux.Stringid(11533700,3))+1
end
if op==0 then
x=Duel.Release(rc,REASON_EFFECT)
elseif op==1 then
x=Duel.SendtoGrave(rc,REASON_EFFECT)
end
if x>0 and Duel.IsExistingMatchingCard(aux.NegateAnyFilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(11533700,1)) then
Duel.BreakEffect()
local tc=Duel.SelectMatchingCard(tp,aux.NegateAnyFilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil):GetFirst()
Duel.NegateRelatedChain(tc,RESET_TURN_SET)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_DISABLE_EFFECT)
e2:SetValue(RESET_TURN_SET)
e2:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e2)
end
end
end
--还零龙之影灵衣
function c11533701.initial_effect(c)
c:EnableReviveLimit()
--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)
e1:SetValue(aux.ritlimit)
c:RegisterEffect(e1)
--rl rm td
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH+CATEGORY_RELEASE+CATEGORY_REMOVE)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,11533701)
e1:SetCost(c11533701.rrtcost)
e1:SetTarget(c11533701.rrttg)
e1:SetOperation(c11533701.rrtop)
c:RegisterEffect(e1)
--remove
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_REMOVE)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCountLimit(1,21533701)
e2:SetCondition(c11533701.rmcon)
e2:SetTarget(c11533701.rmtg)
e2:SetOperation(c11533701.rmop)
c:RegisterEffect(e2)
--sp
--local e3=Effect.CreateEffect(c)
--e3:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_DISABLE)
--e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
--e3:SetCode(EVENT_DESTROYED)
--e3:SetProperty(EFFECT_FLAG_DELAY)
--e3:SetCountLimit(1,31533701)
--e3:SetCondition(function(e,tp,eg,ep,ev,re,r,rp)
--return c11533701.rmcon(e,tp,eg,ep,ev,re,r,rp) and e:GetHandler():GetReasonPlayer()==1-e:GetHandlerPlayer() end)
--e3:SetTarget(c11533701.spdtg)
--e3:SetOperation(c11533701.spdop)
--c:RegisterEffect(e3)
end
function c11533701.mat_filter(c)
return not c:IsLevel(9)
end
function c11533701.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 c11533701.srfil(c)
return c:IsAbleToHand() and c:IsSetCard(0xb4)
end
function c11533701.rrfil(c)
if not c:IsSetCard(0xb4) then return false end
return c:IsReleasable() and c:IsType(TYPE_MONSTER)
end
function c11533701.rrttg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c11533701.srfil,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function c11533701.rrtop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=Duel.GetMatchingGroup(c11533701.srfil,tp,LOCATION_DECK,0,nil)
if g:GetCount()>0 then
local sg=g:Select(tp,1,1,nil)
Duel.SendtoHand(sg,tp,REASON_EFFECT)
Duel.ConfirmCards(1-tp,sg)
if Duel.IsExistingMatchingCard(c11533701.rrfil,tp,LOCATION_HAND,0,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(11533701,0)) then
Duel.BreakEffect()
local tc=Duel.SelectMatchingCard(tp,c11533701.rrfil,tp,LOCATION_HAND,0,1,1,nil):GetFirst()
Duel.Release(tc,REASON_EFFECT)
end
end
end
function c11533701.rmcon(e,tp,eg,ep,ev,re,r,rp)
local mg=e:GetHandler():GetMaterial()
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+LOCATION_GRAVE,LOCATION_DECK+LOCATION_HAND+LOCATION_EXTRA+LOCATION_GRAVE+LOCATION_ONFIELD,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,1,tp,LOCATION_DECK+LOCATION_HAND+LOCATION_EXTRA+LOCATION_GRAVE+LOCATION_ONFIELD)
end
function c11533701.rmop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g1=Duel.GetDecktopGroup(tp,1)
if g1:GetCount()>0 then
Duel.ConfirmCards(1-tp,g1)
if Duel.SelectYesNo(tp,aux.Stringid(11533701,1)) then
Duel.Remove(g1,POS_FACEUP,REASON_EFFECT)
end
end
local g2=Duel.GetDecktopGroup(1-tp,1)
if g2:GetCount()>0 then
Duel.ConfirmCards(tp,g2)
if Duel.SelectYesNo(tp,aux.Stringid(11533701,2)) then
Duel.Remove(g2,POS_FACEUP,REASON_EFFECT)
end
end
local g3=Duel.GetFieldGroup(tp,0,LOCATION_EXTRA)
if g3:GetCount()>0 then
Duel.ConfirmCards(tp,g3)
if Duel.SelectYesNo(tp,aux.Stringid(11533701,3)) then
local rg=g3:Select(tp,1,1,nil)
Duel.Remove(rg,POS_FACEUP,REASON_EFFECT)
end
end
local g4=Duel.GetFieldGroup(tp,0,LOCATION_HAND)
if g4:GetCount()>0 then
if Duel.SelectYesNo(tp,aux.Stringid(11533701,4)) then
local rg=g4:RandomSelect(tp,1)
Duel.Remove(rg,POS_FACEUP,REASON_EFFECT)
end
end
local g5=Duel.GetFieldGroup(tp,LOCATION_GRAVE,0)
if g5:GetCount()>0 then
if Duel.SelectYesNo(tp,aux.Stringid(11533701,5)) then
local rg=g5:Select(tp,1,1,nil)
Duel.Remove(rg,POS_FACEUP,REASON_EFFECT)
end
end
local g6=Duel.GetFieldGroup(tp,0,LOCATION_ONFIELD)
if g6:GetCount()>0 then
if Duel.SelectYesNo(tp,aux.Stringid(11533701,6)) then
local rg=g6:Select(tp,1,1,nil)
Duel.Remove(rg,POS_FACEUP,REASON_EFFECT)
end
end
local g7=Duel.GetFieldGroup(tp,0,LOCATION_GRAVE)
if g7:GetCount()>0 then
if Duel.SelectYesNo(tp,aux.Stringid(11533701,7)) then
local rg=g7:Select(tp,1,1,nil)
Duel.Remove(rg,POS_FACEUP,REASON_EFFECT)
end
end
end
function c11533701.spfil(c,e,tp)
return c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_RITUAL,tp,false,true) and c:IsCode(52068432)
end
function c11533701.spdtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c11533701.spfil,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil,e,tp) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE)
end
function c11533701.spdop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=Duel.GetMatchingGroup(c11533701.spfil,tp,LOCATION_DECK+LOCATION_GRAVE,0,nil,e,tp)
if g:GetCount()>0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 then
local tc=g:Select(tp,1,1,nil):GetFirst()
Duel.SpecialSummon(tc,SUMMON_TYPE_RITUAL,tp,tp,false,true,POS_FACEUP)
tc:CompleteProcedure()
local dg=Duel.GetMatchingGroup(aux.NegateEffectMonsterFilter,tp,0,LOCATION_MZONE,nil)
if dg:GetCount()>0 then
local tc=dg:GetFirst()
while tc do
Duel.NegateRelatedChain(tc,RESET_TURN_SET)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_DISABLE_EFFECT)
e2:SetValue(RESET_TURN_SET)
e2:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e2)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_SET_ATTACK_FINAL)
e2:SetRange(LOCATION_MZONE)
e2:SetValue(tc:GetAttack()/2)
e2:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e2)
tc=dg:GetNext()
end
end
end
end
--影灵衣的追忆
function c11533702.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,11533702)
e1:SetTarget(c11533702.target)
e1:SetOperation(c11533702.activate)
c:RegisterEffect(e1)
--atk
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_UPDATE_ATTACK)
e2:SetRange(LOCATION_SZONE)
e2:SetTargetRange(LOCATION_MZONE,0)
e2:SetTarget(function(e,c)
return c:IsSetCard(0xb4) end)
e2:SetValue(function(e,c)
return c:GetLevel()*100 end)
c:RegisterEffect(e2)
--inactivatable
--local e2=Effect.CreateEffect(c)
--e2:SetType(EFFECT_TYPE_FIELD)
--e2:SetCode(EFFECT_CANNOT_INACTIVATE)
--e2:SetRange(LOCATION_FZONE)
--e2:SetValue(c11533702.efilter)
--c:RegisterEffect(e2)
--local e2=Effect.CreateEffect(c)
--e2:SetType(EFFECT_TYPE_FIELD)
--e2:SetCode(EFFECT_CANNOT_DISEFFECT)
--e2:SetRange(LOCATION_FZONE)
--e2:SetValue(c11533702.efilter)
--c:RegisterEffect(e2)
--immuse
--local e3=Effect.CreateEffect(c)
--e3:SetType(EFFECT_TYPE_FIELD)
--e3:SetCode(EFFECT_IMMUNE_EFFECT)
--e3:SetRange(LOCATION_SZONE)
--e3:SetTargetRange(LOCATION_MZONE,0)
--e3:SetTarget(function(e,c)
--return c:IsSetCard(0xb4) and c:IsType(TYPE_RITUAL) end)
--e3:SetValue(function(e,te)
--return e:GetOwnerPlayer()~=te:GetOwnerPlayer() and te:IsActiveType(TYPE_MONSTER) and te:GetHandler():IsSummonLocation(LOCATION_EXTRA) and te:IsActivated() 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)>=2 end)
--c:RegisterEffect(e3)
--ind
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
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)
c:RegisterEffect(e3)
end
function c11533702.filter(c)
return c:IsSetCard(0xb4) and c:IsType(TYPE_MONSTER) and c:IsAbleToHand()
end
function c11533702.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c11533702.filter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function c11533702.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c11533702.filter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
function c11533702.efilter(e,ct)
local p=e:GetHandlerPlayer()
local te,tp=Duel.GetChainInfo(ct,CHAININFO_TRIGGERING_EFFECT,CHAININFO_TRIGGERING_PLAYER)
return te:GetHandler():IsSetCard(0xb4) and te:GetHandler():IsType(TYPE_RITUAL) and te:IsActiveType(TYPE_SPELL)
end
--影灵衣归魂 艾丽娅儿
function c11533703.initial_effect(c)
--spirit return
aux.EnableSpiritReturn(c,EVENT_SUMMON_SUCCESS,EVENT_FLIP)
--cannot special summon
local e1=Effect.CreateEffect(c)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SPSUMMON_CONDITION)
e1:SetValue(aux.FALSE)
c:RegisterEffect(e1)
--to hand
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e2:SetType(EFFECT_TYPE_TRIGGER_O+EFFECT_TYPE_SINGLE)
e2:SetCode(EVENT_SUMMON_SUCCESS)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCountLimit(1,11533703)
e2:SetTarget(c11533703.thtg)
e2:SetOperation(c11533703.thop)
c:RegisterEffect(e2)
--set
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_RELEASE)
e3:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e3:SetCountLimit(1,21533703)
e3:SetCondition(function(e,tp,eg,ep,ev,re,r,rp)
return bit.band(r,REASON_EFFECT)~=0 end)
e3:SetTarget(c11533703.settg)
e3:SetOperation(c11533703.setop)
c:RegisterEffect(e3)
end
function c11533703.thfilter(c)
return c:IsSetCard(0xb4) and c:IsAbleToHand()
end
function c11533703.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c11533703.thfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function c11533703.thop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local tc=Duel.SelectMatchingCard(tp,c11533703.thfilter,tp,LOCATION_DECK,0,1,1,nil):GetFirst()
if tc then
Duel.SendtoHand(tc,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,tc)
if tc:IsType(TYPE_MONSTER) then
--ritual level
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_RITUAL_LEVEL)
e2:SetValue(c11533703.rlevel)
e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
c:RegisterEffect(e2)
end
end
end
function c11533703.rlevel(e,c)
local lv=aux.GetCappedLevel(e:GetHandler())
local clv=c:GetLevel()
return (lv<<16)+clv
end
function c11533703.setfilter(c)
return c:IsSetCard(0xb4) and c:IsType(TYPE_SPELL+TYPE_TRAP) and c:IsSSetable()
end
function c11533703.settg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c11533703.setfilter,tp,LOCATION_DECK,0,1,nil) end
end
function c11533703.setop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET)
local g=Duel.SelectMatchingCard(tp,c11533703.setfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SSet(tp,g:GetFirst())
end
end
--影灵衣的轮转天
function c11533704.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_NEGATE+CATEGORY_RELEASE+CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_CHAINING)
e1:SetCountLimit(1,11533704)
e1:SetCondition(c11533704.condition)
e1:SetTarget(c11533704.target)
e1:SetOperation(c11533704.activate)
c:RegisterEffect(e1)
--to hand
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_GRAVE)
e2:SetCondition(function(e)
local tp=e:GetHandlerPlayer()
return Duel.GetFieldGroupCount(tp,LOCATION_MZONE,0)==0 end)
e2:SetTarget(c11533704.thtg)
e2:SetOperation(c11533704.thop)
c:RegisterEffect(e2)
end
function c11533704.cfilter(c)
return c:IsFaceup() and c:IsSetCard(0xb4) and c:IsType(TYPE_RITUAL)
end
function c11533704.condition(e,tp,eg,ep,ev,re,r,rp)
if not Duel.IsExistingMatchingCard(c11533704.cfilter,tp,LOCATION_MZONE,0,1,nil) then return false end
if not Duel.IsChainNegatable(ev) then return false end
return re:IsActiveType(TYPE_MONSTER) or re:IsHasType(EFFECT_TYPE_ACTIVATE) and rp==1-tp
end
function c11533704.target(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 c11533704.spfil(c,e,tp)
return c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_RITUAL,tp,false,true) and c:IsSetCard(0xb4)
end
function c11533704.activate(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.NegateActivation(ev) and re:GetHandler():IsRelateToEffect(re) and re:IsActiveType(TYPE_MONSTER) and re:GetHandler():IsReleasable() and Duel.IsExistingMatchingCard(c11533704.spfil,tp,LOCATION_HAND,0,1,nil,e,tp) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.SelectYesNo(tp,aux.Stringid(11533704,0)) then
Duel.Release(re:GetHandler(),REASON_EFFECT)
local sc=Duel.SelectMatchingCard(tp,c11533704.spfil,tp,LOCATION_HAND,0,1,1,nil,e,tp):GetFirst()
Duel.SpecialSummon(sc,SUMMON_TYPE_RITUAL,tp,tp,false,true,POS_FACEUP)
sc:CompleteProcedure()
end
end
function c11533704.ctfil(c,e,tp)
return c:IsSetCard(0xb4) and c:IsType(TYPE_MONSTER) and c:IsAbleToRemoveAsCost() and Duel.IsExistingMatchingCard(c11533704.thfil,tp,LOCATION_DECK,0,1,c)
end
function c11533704.thfil(c)
return c:IsAbleToHand() and c:IsSetCard(0xb4) and c:IsType(TYPE_MONSTER)
end
function c11533704.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToRemoveAsCost() and Duel.IsExistingMatchingCard(c11533704.ctfil,tp,LOCATION_GRAVE,0,1,e:GetHandler(),e,tp) end
local rg=Duel.SelectMatchingCard(tp,c11533704.ctfil,tp,LOCATION_GRAVE,0,1,1,e:GetHandler(),e,tp)
rg:AddCard(e:GetHandler())
Duel.Remove(rg,POS_FACEUP,REASON_COST)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function c11533704.thop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=Duel.GetMatchingGroup(c11533704.thfil,tp,LOCATION_DECK,0,nil)
if g:GetCount()>0 then
local sg=g:Select(tp,1,1,nil)
Duel.SendtoHand(sg,tp,REASON_EFFECT)
Duel.ConfirmCards(1-tp,sg)
end
end
--影灵衣的神归镜
function c11533706.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,11533706)
--e1:SetCost(c11533706.cost)
e1:SetTarget(c11533706.target)
e1:SetOperation(c11533706.activate)
c:RegisterEffect(e1)
--to hand
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_GRAVE)
e2:SetCondition(function(e)
local tp=e:GetHandlerPlayer()
return Duel.GetFieldGroupCount(tp,LOCATION_MZONE,0)==0 end)
e2:SetTarget(c11533706.thtg)
e2:SetOperation(c11533706.thop)
c:RegisterEffect(e2)
Duel.AddCustomActivityCounter(11533706,ACTIVITY_SPSUMMON,c11533706.counterfilter)
end
function c11533706.counterfilter(c)
return c:IsSetCard(0xb4)
end
function c11533706.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetCustomActivityCount(11533706,tp,ACTIVITY_SPSUMMON)==0 end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetTargetRange(1,0)
e1:SetTarget(c11533706.splimit)
Duel.RegisterEffect(e1,tp)
end
function c11533706.splimit(e,c)
return not c:IsSetCard(0xb4)
end
function c11533706.filter(c)
return c:IsSetCard(0xb4) and not c:IsCode(11533706) and c:IsAbleToHand()
end
function c11533706.target(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return true end
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetCountLimit(1)
e1:SetCondition(c11533706.xthcon)
e1:SetOperation(c11533706.xthop)
e1:SetLabelObject(e)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_CHAIN_NEGATED)
e2:SetCountLimit(1)
e2:SetLabelObject(e1)
e2:SetCondition(c11533706.negcon)
e2:SetOperation(c11533706.negop)
e2:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e2,tp)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_CHAIN_SOLVING)
e3:SetLabelObject(e)
e3:SetCondition(c11533706.xckcon)
e3:SetOperation(c11533706.xckop)
e3:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e3,tp)
end
function c11533706.activate(e,tp,eg,ep,ev,re,r,rp)
--Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
--local g=Duel.SelectMatchingCard(tp,c11533706.filter,tp,LOCATION_DECK,0,1,1,nil)
--if g:GetCount()>0 then
-- Duel.SendtoHand(g,nil,REASON_EFFECT)
-- Duel.ConfirmCards(1-tp,g)
--end
end
function c11533706.xthfil(c)
return c:IsAbleToHand() and not c:IsCode(11533706) and c:IsSetCard(0xb4) and c:IsType(TYPE_SPELL)
end
function c11533706.xthcon(e,tp,eg,ep,ev,re,r,rp)
local flag=Duel.GetFlagEffectLabel(tp,11533706)
return flag and flag>0 and Duel.IsExistingMatchingCard(c11533706.xthfil,tp,LOCATION_DECK,0,1,nil)
end
function c11533706.xrlfil(c)
if c:IsLocation(LOCATION_HAND) then
return c:IsReleasable()
elseif c:IsLocation(LOCATION_GRAVE) then
return c:IsSetCard(0xb4) and c:IsAbleToRemove() and c:IsType(TYPE_MONSTER)
else return false end
end
function c11533706.exrlfil(c,sc)
local teg={c:IsHasEffect(EFFECT_RITUAL_LEVEL)}
local x=#teg
if x==0 then return false end
for i=1,x do
local te=teg[x]
local val=te:GetValue()
return val(te,sc)>100
end
return false
end
function c11533706.xrlgck(g,tp,sc)
return ((g:GetSum(Card.GetRitualLevel,sc)==sc:GetLevel()) or (g:IsExists(c11533706.exrlfil,1,nil,sc) and g:GetCount()==1))
end
function c11533706.xrmfil(c)
return c:IsAbleToGrave() and c:IsType(TYPE_MONSTER) and c:IsSetCard(0xb4)
end
function c11533706.xspfil1(c,e,tp)
if not c:IsSetCard(0xb4) then return false end
if not c:IsType(TYPE_RITUAL) then return false end
if not c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_RITUAL,tp,false,true) then return false end
local g=Duel.GetMatchingGroup(c11533706.xrlfil,tp,LOCATION_HAND+LOCATION_GRAVE,0,c)
return true
end
function c11533706.xspfil(c)
return c:IsSetCard(0xb4)
end
function c11533706.xxthfil(c)
return c:IsAbleToHand() and c:IsSetCard(0xb4) and c:IsType(TYPE_MONSTER) and not c:IsType(TYPE_RITUAL)
end
function c11533706.xthop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local flag=Duel.GetFlagEffectLabel(tp,11533706)
if flag and flag>0 and Duel.IsExistingMatchingCard(c11533706.xthfil,tp,LOCATION_DECK,0,1,nil) then
Duel.Hint(HINT_CARD,0,11533706)
local sg=Duel.SelectMatchingCard(tp,c11533706.xthfil,tp,LOCATION_DECK,0,1,flag,nil)
Duel.SendtoHand(sg,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,sg)
local lv=sg:GetCount()*2
local mg=Duel.GetRitualMaterial(tp):Filter(function(c) return false end,nil)
local dg=Duel.GetMatchingGroup(c11533706.xrlfil,tp,LOCATION_GRAVE,0,nil)
local xxg=Duel.GetMatchingGroup(aux.RitualUltimateFilter,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,nil,c11533706.xspfil,e,tp,mg,dg,Card.GetLevel,"Equal"):Filter(function(c,lv) return c:IsLevelBelow(lv) end,nil,lv)
if xxg:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(11533706,0)) then
local tc=xxg:Select(tp,1,1,nil):GetFirst()
local mat=Group.CreateGroup()
if dg then
mg:Merge(dg)
end
if tc.mat_filter then
mg=mg:Filter(tc.mat_filter,tc,tp)
else
mg:RemoveCard(tc)
end
aux.GCheckAdditional=aux.RitualCheckAdditional(tc,tc:GetLevel(),"Equal")
local mat=mg:SelectSubGroup(tp,aux.RitualCheck,false,1,tc:GetLevel(),tp,tc,tc:GetLevel(),"Equal")
aux.GCheckAdditional=nil
tc:SetMaterial(mat)
Duel.ReleaseRitualMaterial(mat)
Duel.BreakEffect()
Duel.SpecialSummon(tc,SUMMON_TYPE_RITUAL,tp,tp,false,true,POS_FACEUP)
tc:CompleteProcedure()
end
end
end
function c11533706.negcon(e,tp,eg,ep,ev,re,r,rp)
local te=e:GetLabelObject():GetLabelObject()
return re==te
end
function c11533706.negop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local te=e:GetLabelObject()
te:Reset()
end
function c11533706.xckcon(e,tp,eg,ep,ev,re,r,rp)
return re:GetHandler():IsType(TYPE_RITUAL) and re:IsHasType(EFFECT_TYPE_ACTIVATE) and re~=e:GetLabelObject()
end
function c11533706.xckop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local flag=Duel.GetFlagEffectLabel(tp,11533706)
if flag==nil then
Duel.RegisterFlagEffect(tp,11533706,RESET_PHASE+PHASE_END,0,1,1)
else
Duel.SetFlagEffectLabel(tp,11533706,flag+1)
end
end
function c11533706.ctfil(c,e,tp)
return c:IsSetCard(0xb4) and c:IsType(TYPE_MONSTER) and c:IsAbleToRemoveAsCost() and Duel.IsExistingMatchingCard(c11533706.thfil,tp,LOCATION_DECK,0,1,c)
end
function c11533706.thfil(c)
return c:IsAbleToHand() and c:IsSetCard(0xb4) and c:IsType(TYPE_SPELL)
end
function c11533706.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToRemoveAsCost() and Duel.IsExistingMatchingCard(c11533706.ctfil,tp,LOCATION_GRAVE,0,1,e:GetHandler(),e,tp) end
local rg=Duel.SelectMatchingCard(tp,c11533706.ctfil,tp,LOCATION_GRAVE,0,1,1,e:GetHandler(),e,tp)
rg:AddCard(e:GetHandler())
Duel.Remove(rg,POS_FACEUP,REASON_COST)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function c11533706.thop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=Duel.GetMatchingGroup(c11533706.thfil,tp,LOCATION_DECK,0,nil)
if g:GetCount()>0 then
local sg=g:Select(tp,1,1,nil)
Duel.SendtoHand(sg,tp,REASON_EFFECT)
Duel.ConfirmCards(1-tp,sg)
end
end
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment