Commit 9ff4b038 authored by Nemo Ma's avatar Nemo Ma

wd 1005

parent 6dcef3a0
......@@ -41,6 +41,22 @@
130002004 0
130002005 0
#WILD, I say WILD, WAHAHA
17337030 0
17337940 0
17337950 0
17337970 0
17337980 0
17337990 0
17338100 0
17338130 0
17338140 0
17338150 0
17338160 0
17338170 0
17338180 0
17338190 0
17338300 0
17338320 0
21196500 0
21196505 0
21196510 0
......
No preview for this file type
expansions/pics/17337400.jpg

45.4 KB | W: | H:

expansions/pics/17337400.jpg

400 KB | W: | H:

expansions/pics/17337400.jpg
expansions/pics/17337400.jpg
expansions/pics/17337400.jpg
expansions/pics/17337400.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/17337410.jpg

50.6 KB | W: | H:

expansions/pics/17337410.jpg

442 KB | W: | H:

expansions/pics/17337410.jpg
expansions/pics/17337410.jpg
expansions/pics/17337410.jpg
expansions/pics/17337410.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/17337420.jpg

53.4 KB | W: | H:

expansions/pics/17337420.jpg

477 KB | W: | H:

expansions/pics/17337420.jpg
expansions/pics/17337420.jpg
expansions/pics/17337420.jpg
expansions/pics/17337420.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/17337430.jpg

53 KB | W: | H:

expansions/pics/17337430.jpg

445 KB | W: | H:

expansions/pics/17337430.jpg
expansions/pics/17337430.jpg
expansions/pics/17337430.jpg
expansions/pics/17337430.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/17337440.jpg

52.7 KB | W: | H:

expansions/pics/17337440.jpg

479 KB | W: | H:

expansions/pics/17337440.jpg
expansions/pics/17337440.jpg
expansions/pics/17337440.jpg
expansions/pics/17337440.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/17337450.jpg

48.8 KB | W: | H:

expansions/pics/17337450.jpg

436 KB | W: | H:

expansions/pics/17337450.jpg
expansions/pics/17337450.jpg
expansions/pics/17337450.jpg
expansions/pics/17337450.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/17337460.jpg

51.4 KB | W: | H:

expansions/pics/17337460.jpg

488 KB | W: | H:

expansions/pics/17337460.jpg
expansions/pics/17337460.jpg
expansions/pics/17337460.jpg
expansions/pics/17337460.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/17337470.jpg

51.9 KB | W: | H:

expansions/pics/17337470.jpg

427 KB | W: | H:

expansions/pics/17337470.jpg
expansions/pics/17337470.jpg
expansions/pics/17337470.jpg
expansions/pics/17337470.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/17337480.jpg

41.5 KB | W: | H:

expansions/pics/17337480.jpg

360 KB | W: | H:

expansions/pics/17337480.jpg
expansions/pics/17337480.jpg
expansions/pics/17337480.jpg
expansions/pics/17337480.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/17337490.jpg

49 KB | W: | H:

expansions/pics/17337490.jpg

477 KB | W: | H:

expansions/pics/17337490.jpg
expansions/pics/17337490.jpg
expansions/pics/17337490.jpg
expansions/pics/17337490.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/17337500.jpg

44.3 KB | W: | H:

expansions/pics/17337500.jpg

370 KB | W: | H:

expansions/pics/17337500.jpg
expansions/pics/17337500.jpg
expansions/pics/17337500.jpg
expansions/pics/17337500.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/17337510.jpg

52.5 KB | W: | H:

expansions/pics/17337510.jpg

447 KB | W: | H:

expansions/pics/17337510.jpg
expansions/pics/17337510.jpg
expansions/pics/17337510.jpg
expansions/pics/17337510.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/17337520.jpg

48.3 KB | W: | H:

expansions/pics/17337520.jpg

482 KB | W: | H:

expansions/pics/17337520.jpg
expansions/pics/17337520.jpg
expansions/pics/17337520.jpg
expansions/pics/17337520.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/17337530.jpg

52.4 KB | W: | H:

expansions/pics/17337530.jpg

449 KB | W: | H:

expansions/pics/17337530.jpg
expansions/pics/17337530.jpg
expansions/pics/17337530.jpg
expansions/pics/17337530.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/17337540.jpg

49.9 KB | W: | H:

expansions/pics/17337540.jpg

469 KB | W: | H:

expansions/pics/17337540.jpg
expansions/pics/17337540.jpg
expansions/pics/17337540.jpg
expansions/pics/17337540.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/17337550.jpg

45.9 KB | W: | H:

expansions/pics/17337550.jpg

471 KB | W: | H:

expansions/pics/17337550.jpg
expansions/pics/17337550.jpg
expansions/pics/17337550.jpg
expansions/pics/17337550.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/17337560.jpg

53.6 KB | W: | H:

expansions/pics/17337560.jpg

495 KB | W: | H:

expansions/pics/17337560.jpg
expansions/pics/17337560.jpg
expansions/pics/17337560.jpg
expansions/pics/17337560.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/17337570.jpg

50.1 KB | W: | H:

expansions/pics/17337570.jpg

496 KB | W: | H:

expansions/pics/17337570.jpg
expansions/pics/17337570.jpg
expansions/pics/17337570.jpg
expansions/pics/17337570.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/17337580.jpg

47.5 KB | W: | H:

expansions/pics/17337580.jpg

464 KB | W: | H:

expansions/pics/17337580.jpg
expansions/pics/17337580.jpg
expansions/pics/17337580.jpg
expansions/pics/17337580.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/17337590.jpg

51.8 KB | W: | H:

expansions/pics/17337590.jpg

417 KB | W: | H:

expansions/pics/17337590.jpg
expansions/pics/17337590.jpg
expansions/pics/17337590.jpg
expansions/pics/17337590.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/17337600.jpg

50.4 KB | W: | H:

expansions/pics/17337600.jpg

446 KB | W: | H:

expansions/pics/17337600.jpg
expansions/pics/17337600.jpg
expansions/pics/17337600.jpg
expansions/pics/17337600.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/17337610.jpg

45.1 KB | W: | H:

expansions/pics/17337610.jpg

427 KB | W: | H:

expansions/pics/17337610.jpg
expansions/pics/17337610.jpg
expansions/pics/17337610.jpg
expansions/pics/17337610.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/17337620.jpg

43 KB | W: | H:

expansions/pics/17337620.jpg

391 KB | W: | H:

expansions/pics/17337620.jpg
expansions/pics/17337620.jpg
expansions/pics/17337620.jpg
expansions/pics/17337620.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/17337630.jpg

47.3 KB | W: | H:

expansions/pics/17337630.jpg

433 KB | W: | H:

expansions/pics/17337630.jpg
expansions/pics/17337630.jpg
expansions/pics/17337630.jpg
expansions/pics/17337630.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/17337640.jpg

51.5 KB | W: | H:

expansions/pics/17337640.jpg

442 KB | W: | H:

expansions/pics/17337640.jpg
expansions/pics/17337640.jpg
expansions/pics/17337640.jpg
expansions/pics/17337640.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/17337650.jpg

49.4 KB | W: | H:

expansions/pics/17337650.jpg

490 KB | W: | H:

expansions/pics/17337650.jpg
expansions/pics/17337650.jpg
expansions/pics/17337650.jpg
expansions/pics/17337650.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/17337660.jpg

49.4 KB | W: | H:

expansions/pics/17337660.jpg

440 KB | W: | H:

expansions/pics/17337660.jpg
expansions/pics/17337660.jpg
expansions/pics/17337660.jpg
expansions/pics/17337660.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/17337670.jpg

46.9 KB | W: | H:

expansions/pics/17337670.jpg

453 KB | W: | H:

expansions/pics/17337670.jpg
expansions/pics/17337670.jpg
expansions/pics/17337670.jpg
expansions/pics/17337670.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/17337680.jpg

47.4 KB | W: | H:

expansions/pics/17337680.jpg

439 KB | W: | H:

expansions/pics/17337680.jpg
expansions/pics/17337680.jpg
expansions/pics/17337680.jpg
expansions/pics/17337680.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/17337690.jpg

50.7 KB | W: | H:

expansions/pics/17337690.jpg

437 KB | W: | H:

expansions/pics/17337690.jpg
expansions/pics/17337690.jpg
expansions/pics/17337690.jpg
expansions/pics/17337690.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/17337700.jpg

43.9 KB | W: | H:

expansions/pics/17337700.jpg

391 KB | W: | H:

expansions/pics/17337700.jpg
expansions/pics/17337700.jpg
expansions/pics/17337700.jpg
expansions/pics/17337700.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/17337710.jpg

47.4 KB | W: | H:

expansions/pics/17337710.jpg

469 KB | W: | H:

expansions/pics/17337710.jpg
expansions/pics/17337710.jpg
expansions/pics/17337710.jpg
expansions/pics/17337710.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/17337720.jpg

42.2 KB | W: | H:

expansions/pics/17337720.jpg

364 KB | W: | H:

expansions/pics/17337720.jpg
expansions/pics/17337720.jpg
expansions/pics/17337720.jpg
expansions/pics/17337720.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/17337730.jpg

52.1 KB | W: | H:

expansions/pics/17337730.jpg

469 KB | W: | H:

expansions/pics/17337730.jpg
expansions/pics/17337730.jpg
expansions/pics/17337730.jpg
expansions/pics/17337730.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/17337740.jpg

47.9 KB | W: | H:

expansions/pics/17337740.jpg

499 KB | W: | H:

expansions/pics/17337740.jpg
expansions/pics/17337740.jpg
expansions/pics/17337740.jpg
expansions/pics/17337740.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/17337750.jpg

49.9 KB | W: | H:

expansions/pics/17337750.jpg

480 KB | W: | H:

expansions/pics/17337750.jpg
expansions/pics/17337750.jpg
expansions/pics/17337750.jpg
expansions/pics/17337750.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/17337760.jpg

47 KB | W: | H:

expansions/pics/17337760.jpg

455 KB | W: | H:

expansions/pics/17337760.jpg
expansions/pics/17337760.jpg
expansions/pics/17337760.jpg
expansions/pics/17337760.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/17337770.jpg

48.4 KB | W: | H:

expansions/pics/17337770.jpg

459 KB | W: | H:

expansions/pics/17337770.jpg
expansions/pics/17337770.jpg
expansions/pics/17337770.jpg
expansions/pics/17337770.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/17337780.jpg

50.6 KB | W: | H:

expansions/pics/17337780.jpg

428 KB | W: | H:

expansions/pics/17337780.jpg
expansions/pics/17337780.jpg
expansions/pics/17337780.jpg
expansions/pics/17337780.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/17337790.jpg

43.5 KB | W: | H:

expansions/pics/17337790.jpg

376 KB | W: | H:

expansions/pics/17337790.jpg
expansions/pics/17337790.jpg
expansions/pics/17337790.jpg
expansions/pics/17337790.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/17337800.jpg

36.9 KB | W: | H:

expansions/pics/17337800.jpg

360 KB | W: | H:

expansions/pics/17337800.jpg
expansions/pics/17337800.jpg
expansions/pics/17337800.jpg
expansions/pics/17337800.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/17337810.jpg

33.9 KB | W: | H:

expansions/pics/17337810.jpg

472 KB | W: | H:

expansions/pics/17337810.jpg
expansions/pics/17337810.jpg
expansions/pics/17337810.jpg
expansions/pics/17337810.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/17337820.jpg

39.4 KB | W: | H:

expansions/pics/17337820.jpg

368 KB | W: | H:

expansions/pics/17337820.jpg
expansions/pics/17337820.jpg
expansions/pics/17337820.jpg
expansions/pics/17337820.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/17337830.jpg

45.9 KB | W: | H:

expansions/pics/17337830.jpg

424 KB | W: | H:

expansions/pics/17337830.jpg
expansions/pics/17337830.jpg
expansions/pics/17337830.jpg
expansions/pics/17337830.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/17337840.jpg

44 KB | W: | H:

expansions/pics/17337840.jpg

422 KB | W: | H:

expansions/pics/17337840.jpg
expansions/pics/17337840.jpg
expansions/pics/17337840.jpg
expansions/pics/17337840.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/17337850.jpg

40.7 KB | W: | H:

expansions/pics/17337850.jpg

488 KB | W: | H:

expansions/pics/17337850.jpg
expansions/pics/17337850.jpg
expansions/pics/17337850.jpg
expansions/pics/17337850.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/17337860.jpg

35.7 KB | W: | H:

expansions/pics/17337860.jpg

436 KB | W: | H:

expansions/pics/17337860.jpg
expansions/pics/17337860.jpg
expansions/pics/17337860.jpg
expansions/pics/17337860.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/17337870.jpg

46.4 KB | W: | H:

expansions/pics/17337870.jpg

473 KB | W: | H:

expansions/pics/17337870.jpg
expansions/pics/17337870.jpg
expansions/pics/17337870.jpg
expansions/pics/17337870.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/17337880.jpg

44.7 KB | W: | H:

expansions/pics/17337880.jpg

401 KB | W: | H:

expansions/pics/17337880.jpg
expansions/pics/17337880.jpg
expansions/pics/17337880.jpg
expansions/pics/17337880.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/17337890.jpg

49.3 KB | W: | H:

expansions/pics/17337890.jpg

494 KB | W: | H:

expansions/pics/17337890.jpg
expansions/pics/17337890.jpg
expansions/pics/17337890.jpg
expansions/pics/17337890.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/17337900.jpg

41 KB | W: | H:

expansions/pics/17337900.jpg

499 KB | W: | H:

expansions/pics/17337900.jpg
expansions/pics/17337900.jpg
expansions/pics/17337900.jpg
expansions/pics/17337900.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/17337910.jpg

36.9 KB | W: | H:

expansions/pics/17337910.jpg

450 KB | W: | H:

expansions/pics/17337910.jpg
expansions/pics/17337910.jpg
expansions/pics/17337910.jpg
expansions/pics/17337910.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/17337920.jpg

52.3 KB | W: | H:

expansions/pics/17337920.jpg

446 KB | W: | H:

expansions/pics/17337920.jpg
expansions/pics/17337920.jpg
expansions/pics/17337920.jpg
expansions/pics/17337920.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/field/17337630.jpg

98.2 KB | W: | H:

expansions/pics/field/17337630.jpg

1.51 MB | W: | H:

expansions/pics/field/17337630.jpg
expansions/pics/field/17337630.jpg
expansions/pics/field/17337630.jpg
expansions/pics/field/17337630.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/field/17337800.jpg

31.7 KB | W: | H:

expansions/pics/field/17337800.jpg

3.08 MB | W: | H:

expansions/pics/field/17337800.jpg
expansions/pics/field/17337800.jpg
expansions/pics/field/17337800.jpg
expansions/pics/field/17337800.jpg
  • 2-up
  • Swipe
  • Onion skin
--菜月昴
local s,id=GetID()
function s.initial_effect(c)
-- ①:破坏自己,墓地EMT怪兽特招
aux.AddCodeList(c,17337630)
--
local e1=Effect.CreateEffect(c)
e1:SetDescription(1101)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_DESTROY)
......
......@@ -29,7 +29,6 @@ function s.initial_effect(c)
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetCode(EVENT_CHAINING)
e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1,id+2)
e3:SetCondition(s.negcon)
e3:SetTarget(s.negtg)
e3:SetOperation(s.negop)
......
......@@ -11,6 +11,8 @@ function s.initial_effect(c)
e1:SetCode(EFFECT_SPSUMMON_CONDITION)
e1:SetValue(s.splimit)
c:RegisterEffect(e1)
--change name
aux.EnableChangeCode(c,17337560,LOCATION_MZONE+LOCATION_GRAVE)
--lock zones
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(id,0))
......
--艾米莉亚
local s,id=GetID()
function s.initial_effect(c)
aux.AddCodeList(c,17337510,17337500)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_SPSUMMON_PROC)
......@@ -19,13 +20,17 @@ function s.initial_effect(c)
c:RegisterEffect(e2)
end
function s.spfilter(c)
return c:IsFaceup() and c:IsSetCard(0x5f50,0x9f50) and c:IsType(TYPE_MONSTER)
return c:IsFaceup() and c:IsSetCard(0x5f50) and c:IsType(TYPE_MONSTER)
end
function s.spfilter2(c)
return c:IsFaceup() and c:IsCode(17337500)
end
function s.spcon1(e,c)
if c==nil then return true end
local tp=c:GetControler()
return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and
Duel.IsExistingMatchingCard(s.spfilter,tp,LOCATION_MZONE+LOCATION_GRAVE,0,1,nil)
(Duel.IsExistingMatchingCard(s.spfilter,tp,LOCATION_MZONE+LOCATION_GRAVE,0,1,nil) or
Duel.IsExistingMatchingCard(s.spfilter2,tp,LOCATION_ONFIELD+LOCATION_GRAVE,0,1,nil))
end
function s.protop(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler())
......
--加菲尔
local s,id=GetID()
function s.initial_effect(c)
aux.AddCodeList(c,17337550,17337670)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_SPSUMMON_PROC)
......
......@@ -13,6 +13,8 @@ function s.initial_effect(c)
e1:SetCondition(s.accon)
e1:SetValue(s.aclimit)
c:RegisterEffect(e1)
--change name
aux.EnableChangeCode(c,17337480,LOCATION_MZONE+LOCATION_GRAVE)
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(id,0))
e2:SetCategory(CATEGORY_ATKCHANGE+CATEGORY_DEFCHANGE+CATEGORY_DESTROY)
......
......@@ -32,7 +32,7 @@ function s.initial_effect(c)
c:RegisterEffect(e2)
end
function s.spfilter(c)
return c:IsFaceup() and c:IsSetCard(0x6f50) and c:IsType(TYPE_MONSTER)
return c:IsFaceup() and c:IsCode(17337470) and c:IsType(TYPE_MONSTER)
end
function s.spcon(e,c)
if c==nil then return true end
......
......@@ -25,8 +25,8 @@ function s.initial_effect(c)
c:RegisterEffect(e2)
end
function s.descon(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(function(c) return c:IsFaceup() and c:IsSetCard(0x6f50) end,tp,LOCATION_MZONE,0,1,nil)
and Duel.IsExistingMatchingCard(function(c) return c:IsFaceup() and c:IsSetCard(0x9f50) end,tp,LOCATION_MZONE,0,1,nil)
return Duel.IsExistingMatchingCard(function(c) return c:IsFaceup() and c:IsCode(17337470) end,tp,LOCATION_MZONE,0,1,nil)
and Duel.IsExistingMatchingCard(function(c) return c:IsFaceup() and c:IsCode(17337500) end,tp,LOCATION_MZONE,0,1,nil)
end
function s.destg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) end
......@@ -45,7 +45,7 @@ function s.negcon(e,tp,eg,ep,ev,re,r,rp)
and Duel.IsExistingMatchingCard(s.negfilter,tp,LOCATION_MZONE,0,1,nil)
end
function s.negfilter(c)
return c:IsFaceup() and c:IsSetCard(0x9f50,0x6f50)
return c:IsFaceup() and c:IsCode(17337470,17337500)
end
function s.negtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
......
......@@ -12,6 +12,8 @@ function s.initial_effect(c)
e0:SetCondition(s.xyzcon)
e0:SetValue(1)
c:RegisterEffect(e0)
--change name
aux.EnableChangeCode(c,17337470,LOCATION_MZONE+LOCATION_GRAVE)
--
local e1=Effect.CreateEffect(c)
e1:SetDescription(1191)
......@@ -39,7 +41,7 @@ function s.xyzcon(e)
return c:IsStatus(STATUS_SPSUMMON_TURN) and c:IsSummonType(SUMMON_TYPE_XYZ)
end
function s.ovfilter(c)
return c:IsFaceup() and c:IsSetCard(0x6f50)
return c:IsFaceup() and c:IsCode(17337470)
end
function s.cfilter(c)
return c:IsSetCard(0x3f50) and c:IsDiscardable()
......
--雷姆
local s,id=GetID()
function s.initial_effect(c)
aux.AddCodeList(c,17337570)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_SPSUMMON_PROC)
......@@ -21,13 +22,17 @@ function s.initial_effect(c)
c:RegisterEffect(e2)
end
function s.spfilter(c)
return c:IsFaceup() and c:IsSetCard(0x5f50,0x5f51) and c:IsType(TYPE_MONSTER)
return c:IsFaceup() and c:IsSetCard(0x5f50) and c:IsType(TYPE_MONSTER)
end
function s.spfilter2(c)
return c:IsFaceup() and c:IsCode(17337570)
end
function s.spcon(e,c)
if c==nil then return true end
local tp=c:GetControler()
return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(s.spfilter,tp,LOCATION_MZONE+LOCATION_GRAVE,0,1,nil)
return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and
(Duel.IsExistingMatchingCard(s.spfilter,tp,LOCATION_MZONE+LOCATION_GRAVE,0,1,nil) or
Duel.IsExistingMatchingCard(s.spfilter2,tp,LOCATION_ONFIELD+LOCATION_GRAVE,0,1,nil))
end
function s.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
......
--拉姆
local s,id=GetID()
function s.initial_effect(c)
aux.AddCodeList(c,17337540)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_SPSUMMON_PROC)
......@@ -25,7 +26,7 @@ function s.initial_effect(c)
c:RegisterEffect(e3)
end
function s.spfilter(c)
return c:IsFaceup() and c:IsSetCard(0x3f51) and c:IsType(TYPE_MONSTER)
return c:IsFaceup() and c:IsCode(17337530) and c:IsType(TYPE_MONSTER)
end
function s.spfilter2(c)
return c:IsFaceup() and c:IsCode(17337540)
......@@ -60,7 +61,7 @@ function s.thop(e,tp,eg,ep,ev,re,r,rp)
local tc=g1:GetFirst()
Duel.SendtoHand(tc,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,tc)
if tc:IsLocation(LOCATION_HAND) and (tc:IsSetCard(0x3f51) or tc:IsCode(17337540)) then
if tc:IsLocation(LOCATION_HAND) and (tc:IsCode(17337530) or tc:IsCode(17337540)) then
local g2=Duel.GetMatchingGroup(s.thfilter,tp,LOCATION_GRAVE,0,nil)
if #g2>0 and Duel.SelectYesNo(tp,aux.Stringid(id,2)) then
Duel.BreakEffect()
......
......@@ -15,6 +15,8 @@ function s.initial_effect(c)
e1:SetOperation(s.spop)
e1:SetCountLimit(1,id)
c:RegisterEffect(e1)
--change name
aux.EnableChangeCode(c,17337530,LOCATION_MZONE+LOCATION_GRAVE)
--
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
......
--拉姆·鬼化
local s,id=GetID()
function s.initial_effect(c)
aux.AddCodeList(c,17337530)
-- 超量召唤
c:EnableReviveLimit()
aux.AddXyzProcedure(c,aux.FilterBoolFunction(Card.IsSetCard,0x3f50),5,2,nil,nil,99)
......@@ -14,6 +15,8 @@ function s.initial_effect(c)
e1:SetTarget(s.settg)
e1:SetOperation(s.setop)
c:RegisterEffect(e1)
--change name
aux.EnableChangeCode(c,17337570,LOCATION_MZONE+LOCATION_GRAVE)
--
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(id,2))
......
......@@ -36,7 +36,7 @@ function s.initial_effect(c)
end
function s.indcon(e)
local tp=e:GetHandlerPlayer()
return Duel.IsExistingMatchingCard(function(c) return c:IsSetCard(0x9f51) and c:IsFaceup() end,tp,LOCATION_MZONE,0,1,nil)
return Duel.IsExistingMatchingCard(function(c) return c:IsCode(17337560) and c:IsFaceup() end,tp,LOCATION_MZONE,0,1,nil)
and Duel.IsExistingMatchingCard(function(c) return c:IsSetCard(0x5f50) and c:IsFaceup() end,tp,LOCATION_MZONE,0,1,nil)
end
function s.indct(e,re,r,rp)
......
......@@ -36,7 +36,7 @@ function s.initial_effect(c)
end
function s.actcon(e)
local tp=e:GetHandlerPlayer()
return Duel.IsExistingMatchingCard(function(c) return c:IsSetCard(0x9f51) and c:IsFaceup() end,tp,LOCATION_MZONE,0,1,nil)
return Duel.IsExistingMatchingCard(function(c) return c:IsCode(17337560) and c:IsFaceup() end,tp,LOCATION_MZONE,0,1,nil)
and Duel.IsExistingMatchingCard(function(c) return c:IsSetCard(0x5f50) and c:IsFaceup() end,tp,LOCATION_MZONE,0,1,nil)
end
function s.actlimit(e,re,tp)
......
......@@ -38,10 +38,10 @@ function s.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
local g=Duel.SelectTarget(tp,s.tgfilter,tp,LOCATION_MZONE,0,1,1,nil,tp)
local tc=g:GetFirst()
if tc:IsType(TYPE_SYNCHRO) and tc:IsSetCard(0x3f51) then
if tc:IsType(TYPE_SYNCHRO) and tc:IsCode(17337530) then
Duel.RegisterFlagEffect(tp,id,RESET_PHASE+PHASE_END,0,1)
Duel.Hint(HINT_OPSELECTED,1-tp,1113)
elseif tc:IsType(TYPE_XYZ) and tc:IsSetCard(0x5f51) then
elseif tc:IsType(TYPE_XYZ) and tc:IsCode(17337570) then
Duel.RegisterFlagEffect(tp,id+1,RESET_PHASE+PHASE_END,0,1)
Duel.Hint(HINT_OPSELECTED,1-tp,aux.Stringid(id,1))
end
......@@ -49,7 +49,7 @@ end
function s.activate(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if not tc:IsRelateToEffect(e) or not tc:IsFaceup() then return end
if tc:IsType(TYPE_SYNCHRO) and tc:IsSetCard(0x3f51) then
if tc:IsType(TYPE_SYNCHRO) and tc:IsCode(17337530) then
local atk=tc:GetBaseAttack()
local g=Duel.GetMatchingGroup(Card.IsFaceup,tp,0,LOCATION_MZONE,nil)
local dg=Group.CreateGroup()
......@@ -67,7 +67,7 @@ function s.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.BreakEffect()
Duel.Destroy(dg,REASON_EFFECT)
end
elseif tc:IsType(TYPE_XYZ) and tc:IsSetCard(0x5f51) then
elseif tc:IsType(TYPE_XYZ) and tc:IsCode(17337570) then
local tg=Group.CreateGroup()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_OPERATECARD)
local g1=Duel.SelectMatchingCard(tp,s.ovfilter,tp,0,LOCATION_ONFIELD,1,1,nil)
......@@ -92,10 +92,10 @@ function s.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.Remove(e:GetHandler(),POS_FACEUP,REASON_COST)
end
function s.spfilter(c,e,tp)
return c:IsSetCard(0x5f51) and c:IsType(TYPE_XYZ) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
return c:IsCode(17337570) and c:IsType(TYPE_XYZ) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function s.attachfilter(c)
return c:IsSetCard(0x3f51) and c:IsType(TYPE_MONSTER) and c:IsCanOverlay()
return c:IsCode(17337530) and c:IsType(TYPE_MONSTER) and c:IsCanOverlay()
end
function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsExistingMatchingCard(s.spfilter,tp,LOCATION_GRAVE,0,1,nil,e,tp) end
......
--芙兰黛莉卡
local s,id=GetID()
function s.initial_effect(c)
aux.AddCodeList(c,17337540)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_SPSUMMON_PROC)
......@@ -30,7 +31,7 @@ function s.initial_effect(c)
c:RegisterEffect(e3)
end
function s.spfilter(c)
return c:IsSetCard(0x6f51) and c:IsFaceup()
return c:IsFaceup() and c:IsCode(17337480)
end
function s.spfilter2(c)
return c:IsCode(17337540) and c:IsFaceup()
......
......@@ -2,12 +2,13 @@
local s,id=GetID()
function s.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_SPSUMMON_PROC)
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE)
e1:SetDescription(1118)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,id+2)
e1:SetCondition(s.spcon)
e1:SetCost(s.spcost)
e1:SetTarget(s.sptg)
e1:SetOperation(s.spop)
c:RegisterEffect(e1)
--
......@@ -34,20 +35,26 @@ function s.initial_effect(c)
e4:SetOperation(s.sumop)
c:RegisterEffect(e4)
end
function s.spcfilter(c)
function s.cfilter(c)
return c:IsSetCard(0x3f50) and not c:IsPublic()
end
function s.spcon(e,c)
if c==nil then return true end
return Duel.GetLocationCount(c:GetControler(),LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(s.spcfilter,c:GetControler(),LOCATION_HAND,0,1,nil)
end
function s.spop(e,tp,eg,ep,ev,re,r,rp,c)
function s.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(s.cfilter,tp,LOCATION_HAND,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONFIRM)
local g=Duel.SelectMatchingCard(tp,s.spcfilter,tp,LOCATION_HAND,0,1,1,nil)
if #g>0 then
local g=Duel.SelectMatchingCard(tp,s.cfilter,tp,LOCATION_HAND,0,1,1,nil)
Duel.ConfirmCards(1-tp,g)
Duel.ShuffleHand(tp)
end
function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and c:IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
end
function s.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
end
end
function s.setfilter(c)
......@@ -66,9 +73,17 @@ end
function s.sumcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsReleasable() end
Duel.Release(e:GetHandler(),REASON_COST)
e:SetLabel(1)
end
function s.sumtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsPlayerCanSummon(tp) and Duel.IsPlayerCanAdditionalSummon(tp) end
if chk==0 then
if e:GetLabel()==1 then
return Duel.IsPlayerCanSummon(tp) and Duel.IsPlayerCanAdditionalSummon(tp)
else
return true
end
end
e:SetLabel(0)
end
function s.sumop(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler())
......
......@@ -12,6 +12,8 @@ function s.initial_effect(c)
e0:SetCode(EFFECT_SPSUMMON_CONDITION)
e0:SetValue(s.splimit)
c:RegisterEffect(e0)
-- ①效果:确认并除外对方手卡
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,0))
e1:SetCategory(CATEGORY_REMOVE)
......@@ -22,33 +24,60 @@ function s.initial_effect(c)
e1:SetTarget(s.rmtg1)
e1:SetOperation(s.rmop1)
c:RegisterEffect(e1)
-- ②效果:解放自身,对方选择除外手卡或受限制
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(id,1))
e2:SetCategory(CATEGORY_REMOVE)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_MZONE+LOCATION_GRAVE)
e2:SetRange(LOCATION_MZONE) -- 只能在场上发动
e2:SetCountLimit(1,id+1)
e2:SetCost(aux.bfgcost)
e2:SetCost(s.releasecost) -- 改为解放cost
e2:SetTarget(s.handlocktg)
e2:SetOperation(s.handlockop)
c:RegisterEffect(e2)
-- ③效果:结束阶段特殊召唤
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(id,2))
e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_PHASE+PHASE_END)
e3:SetRange(LOCATION_GRAVE)
e3:SetCountLimit(1,id+2)
e3:SetCondition(s.spcon)
e3:SetTarget(s.sptg)
e3:SetOperation(s.spop)
c:RegisterEffect(e3)
end
-- 辅助函数
function s.matfilter(c)
return c:IsFusionType(TYPE_MONSTER) and c:IsFusionSetCard(0x3f50)
end
function s.splimit(e,se,sp,st)
return not e:GetHandler():IsLocation(LOCATION_EXTRA)
end
function s.emtfilter(c)
return c:IsSetCard(0x3f50) and c:IsType(TYPE_MONSTER) and c:IsAbleToRemoveAsCost()
end
-- ①效果:cost处理
function s.rmcost1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(s.emtfilter,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,nil) end
local g=Duel.SelectMatchingCard(tp,s.emtfilter,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,1,nil)
Duel.Remove(g,POS_FACEUP,REASON_COST)
end
-- ①效果:目标确认
function s.rmtg1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFieldGroupCount(1-tp,LOCATION_HAND,0)>0 end
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,1,1-tp,LOCATION_HAND)
end
-- ①效果:操作执行
function s.rmop1(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetFieldGroup(1-tp,LOCATION_HAND,0)
if #g==0 then return end
......@@ -61,6 +90,21 @@ function s.rmop1(e,tp,eg,ep,ev,re,r,rp)
end
Duel.ShuffleHand(1-tp)
end
-- ②效果:解放自身作为cost
function s.releasecost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return c:IsReleasable() end
Duel.Release(c,REASON_COST)
end
-- ②效果:目标确认
function s.handlocktg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,0,1-tp,LOCATION_HAND)
end
-- ②效果:操作执行
function s.handlockop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(Card.IsAbleToRemove,1-tp,LOCATION_HAND,0,nil)
local check=false
......@@ -75,25 +119,51 @@ function s.handlockop(e,tp,eg,ep,ev,re,r,rp)
else
check=true
end
-- 注册特殊召唤标志
local c=e:GetHandler()
if c:IsLocation(LOCATION_GRAVE) and c:IsReason(REASON_RELEASE) then
c:RegisterFlagEffect(id,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,2)
end
-- 处理限制效果
if check or #g<=0 then
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetDescription(aux.Stringid(id,2))
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,4)) -- 使用新的字符串ID
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_SUMMON)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CLIENT_HINT)
e1:SetTargetRange(0,1)
e1:SetTarget(s.handlimit)
if Duel.GetTurnPlayer()==tp then
e1:SetReset(RESET_PHASE+PHASE_END+RESET_SELF_TURN,2)
else
e1:SetReset(RESET_PHASE+PHASE_END+RESET_SELF_TURN,1)
end
e1:SetReset(RESET_PHASE+PHASE_END+RESET_OPPO_TURN)
Duel.RegisterEffect(e1,tp)
local e2=e1:Clone()
e2:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
Duel.RegisterEffect(e2,tp)
end
end
function s.handlimit(e,c)
return c:IsLocation(LOCATION_HAND)
end
-- ③效果:特殊召唤条件
function s.spcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:GetFlagEffect(id)>0 and Duel.GetTurnPlayer()==tp
end
-- ③效果:特殊召唤目标
function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end
-- ③效果:特殊召唤操作
function s.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
end
end
\ No newline at end of file
......@@ -3,7 +3,7 @@ local s,id=GetID()
function s.initial_effect(c)
--fusion
c:EnableReviveLimit()
aux.AddFusionProcCodeFun(c,17337500,aux.FilterBoolFunction(Card.IsFusionSetCard,0x6f50),2,true,true)
aux.AddFusionProcCodeFun(c,17337500,aux.FilterBoolFunction(Card.IsFusionCode,17337470),2,true,true)
aux.AddContactFusionProcedure(c,Card.IsAbleToRemoveAsCost,LOCATION_ONFIELD+LOCATION_GRAVE,0,Duel.Remove,POS_FACEUP,REASON_COST)
--spsummon condition
local e0=Effect.CreateEffect(c)
......@@ -12,6 +12,8 @@ function s.initial_effect(c)
e0:SetCode(EFFECT_SPSUMMON_CONDITION)
e0:SetValue(s.splimit)
c:RegisterEffect(e0)
--change name
aux.EnableChangeCode(c,17337500,LOCATION_MZONE+LOCATION_GRAVE)
local e1=Effect.CreateEffect(c)
e1:SetDescription(1113)
e1:SetCategory(CATEGORY_ATKCHANGE)
......@@ -68,7 +70,7 @@ function s.spcon(e,tp,eg,ep,ev,re,r,rp)
return c:IsPreviousLocation(LOCATION_ONFIELD) and c:IsPreviousControler(tp) and c:GetReasonPlayer()==1-tp
end
function s.spfilter(c)
return c:IsSetCard(0x9f50) and c:IsType(TYPE_MONSTER) and c:IsAbleToRemoveAsCost()
return c:IsCode(17337500) and c:IsType(TYPE_MONSTER) and c:IsAbleToRemoveAsCost()
end
function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(s.spfilter,tp,LOCATION_GRAVE,0,1,e:GetHandler()) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
......
--·琉兹·
local s,id,o=GetID()
function s.initial_effect(c)
aux.AddCodeList(c,17337480,17337670)
--
local e1=Effect.CreateEffect(c)
e1:SetDescription(1108)
......
......@@ -63,7 +63,7 @@ function s.e1op(e,tp,eg,ep,ev,re,r,rp)
local flag_catch=false
local temp=Duel.IsPlayerCanSummon
function Duel.IsPlayerCanSummon(tep,stp,stc)
if stc:IsAbleToExtraAsCost() then
if stc and stc:IsAbleToExtraAsCost() then
return false
else
return temp(tep,stp,stc)
......
......@@ -80,10 +80,12 @@ function s.op(e,tp,eg,ep,ev,re,r,rp)
local count=e:GetLabel()
local d=math.floor(count/3000)
for i=1,d do
local g2=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,0,LOCATION_HAND,0,nil)
if b1 then Duel.Draw(tp,1,REASON_EFFECT) end
if b2 then
local sg=g:RandomSelect(tp,1)
if #g2>0 then
local sg=g2:RandomSelect(tp,1)
Duel.Remove(sg,POS_FACEUP,REASON_EFFECT)
g2:Sub(sg)
end
end
end
......
--·欧德·拉格纳·
local s,id,o=GetID()
function s.initial_effect(c)
aux.AddCodeList(c,17337760)
--search
local e1=Effect.CreateEffect(c)
e1:SetDescription(1190)
......
......@@ -163,8 +163,7 @@ function s.sprcon(e,c)
local ct2=Duel.GetFlagEffect(tp,17337900)
if ct2>0 then
if ct2>3 then ct2=3 end
local ct3=0
ct3=ct-ct2*3
local ct3=ct-ct2*3
end
local mg1=Duel.GetMatchingGroup(s.spcfilter,tp,0,LOCATION_ONFIELD,nil)
local mg2=Duel.GetMatchingGroup(s.spcfilter,tp,LOCATION_HAND+LOCATION_ONFIELD,0,c)
......@@ -176,7 +175,7 @@ function s.sprcon(e,c)
if d>9 then d=9 end
if d > #mg1 then d = #mg1 end
if d + #mg2 < ct then return false end
return mg2:CheckSubGroup(s.fselect0,ct,ct,tp,d)
return mg2:CheckSubGroup(s.fselect0,ct3,ct3,tp,d)
end
function s.sprtg(e,tp,eg,ep,ev,re,r,rp,chk,c)
local ct0=10
......
--·跨越四百年的桎梏·
local s,id,o=GetID()
function s.initial_effect(c)
aux.AddCodeList(c,17337400)
--
local e1=Effect.CreateEffect(c)
e1:SetDescription(1190)
e1:SetCategory(CATEGORY_TOGRAVE+CATEGORY_TOHAND)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,id)
e1:SetCost(s.e1cost)
e1:SetTarget(s.e1tg)
e1:SetOperation(s.e1op)
c:RegisterEffect(e1)
--
local e2=Effect.CreateEffect(c)
e2:SetDescription(1131)
e2:SetCategory(CATEGORY_DISABLE)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_CHAINING)
e2:SetRange(LOCATION_GRAVE)
e2:SetCountLimit(1,id+o)
e2:SetCondition(s.e2con)
e2:SetCost(s.e2cost)
e2:SetTarget(s.e2tg)
e2:SetOperation(s.e2op)
c:RegisterEffect(e2)
end
function s.e1costfilter(c,tp)
return c:IsType(TYPE_MONSTER) and c:IsSetCard(0x5f50) and c:IsAbleToGraveAsCost() and Duel.IsExistingMatchingCard(s.e1thfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,c)
end
function s.e1cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(s.e1costfilter,tp,LOCATION_DECK,0,1,nil,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,s.e1costfilter,tp,LOCATION_DECK,0,1,1,nil,tp)
Duel.SendtoGrave(g,REASON_COST)
end
function s.e1thfilter(c)
return (c:IsCode(17337400) or aux.IsCodeListed(c,17337400)) and not c:IsCode(id) and c:IsAbleToHand()
end
function s.e1tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(s.e1thfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE)
end
function s.e1op(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(s.e1thfilter),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil)
if #g>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetTargetRange(1,0)
e1:SetTarget(s.splimit)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
function s.splimit(e,c)
return not (c:IsSetCard(0x3f50) or c:IsSetCard(0x5f50))
end
function s.e2con(e,tp,eg,ep,ev,re,r,rp)
return rp==1-tp and Duel.IsChainDisablable(ev)
end
function s.e2rmfilter(c)
return c:IsCode(17337400) or aux.IsCodeListed(c,17337400)
end
function s.e2cost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then
if not c:IsAbleToRemoveAsCost() then return false end
local g=Duel.GetMatchingGroup(s.e2rmfilter,tp,LOCATION_GRAVE,0,c)
return #g>=2
end
local g=Duel.GetMatchingGroup(s.e2rmfilter,tp,LOCATION_GRAVE,0,c)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local sg=g:Select(tp,2,2,nil)
sg:AddCard(c)
Duel.Remove(sg,POS_FACEUP,REASON_COST)
end
function s.e2tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_DISABLE,eg,1,0,0)
end
function s.e2op(e,tp,eg,ep,ev,re,r,rp)
Duel.NegateEffect(ev)
end
\ No newline at end of file
--·Re:从零开始的异世界生活·
local s,id,o=GetID()
function s.initial_effect(c)
aux.AddCodeList(c,17337440)
--
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetCode(EFFECT_TRAP_ACT_IN_HAND)
c:RegisterEffect(e0)
--
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,0))
e1:SetCategory(CATEGORY_TODECK+CATEGORY_SPECIAL_SUMMON+CATEGORY_TOHAND)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_CHAINING)
e1:SetCountLimit(1,id+EFFECT_COUNT_CODE_OATH)
e1:SetCondition(s.chcon)
e1:SetTarget(s.acttg)
e1:SetOperation(s.actop)
c:RegisterEffect(e1)
--
local e2=e1:Clone()
e2:SetCode(EVENT_ATTACK_ANNOUNCE)
e2:SetCondition(s.atkcon)
c:RegisterEffect(e2)
--send replace
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EFFECT_SEND_REPLACE)
e3:SetRange(LOCATION_GRAVE)
e3:SetTarget(s.rtg)
e3:SetOperation(s.repop)
e3:SetValue(s.rval)
c:RegisterEffect(e3)
end
function s.filter(c)
return c:IsFaceup() and c:IsSetCard(0x3f50)
end
function s.chcon(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(s.filter,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,nil)
return g:GetClassCount(Card.GetCode)>=10
end
function s.atkcon(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(s.filter,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,nil)
return g:GetClassCount(Card.GetCode)>=10 and Duel.GetAttacker():GetControler()~=tp
end
function s.acttg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
local g=Duel.GetMatchingGroup(aux.NOT(Card.IsStatus),tp,LOCATION_ONFIELD+LOCATION_GRAVE+LOCATION_REMOVED,LOCATION_ONFIELD+LOCATION_GRAVE+LOCATION_REMOVED,nil,STATUS_BATTLE_DESTROYED)
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,#g,0,LOCATION_ONFIELD+LOCATION_GRAVE+LOCATION_REMOVED)
end
function s.exgfilter(c,e,tp)
return c:IsCode(17337440) and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_LINK,tp,false,false) and Duel.GetLocationCountFromEx(tp,tp,nil,c)>0
end
function s.thfilter(c)
return c:IsSetCard(0x3f50) and c:IsAbleToHand()
end
function s.actop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(aux.NOT(Card.IsStatus),tp,LOCATION_ONFIELD+LOCATION_GRAVE+LOCATION_REMOVED,LOCATION_ONFIELD+LOCATION_GRAVE+LOCATION_REMOVED,aux.ExceptThisCard(e),STATUS_BATTLE_DESTROYED)
if aux.NecroValleyNegateCheck(g) then return end
if Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)==0 then return end
local tg=Duel.GetOperatedGroup():Filter(Card.IsLocation,nil,LOCATION_DECK)
if tg:IsExists(Card.IsControler,1,nil,tp) then Duel.ShuffleDeck(tp) end
if tg:IsExists(Card.IsControler,1,nil,1-tp) then Duel.ShuffleDeck(1-tp) end
local b1=Duel.IsExistingMatchingCard(s.exgfilter,tp,LOCATION_EXTRA,0,1,nil,e,tp)
local b2=Duel.IsExistingMatchingCard(s.thfilter,tp,LOCATION_DECK,0,1,nil,e,tp)
if #tg>0 and b1 and b2 and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then
Duel.BreakEffect()
local exg=Duel.GetMatchingGroup(s.exgfilter,tp,LOCATION_EXTRA,0,nil,e,tp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sc=exg:Select(tp,1,1,nil):GetFirst()
if sc and Duel.SpecialSummon(sc,SUMMON_TYPE_LINK,tp,tp,false,false,POS_FACEUP)>0 then
sc:CompleteProcedure()
local thg=Duel.GetMatchingGroup(s.thfilter,tp,LOCATION_DECK,0,nil)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local sg=thg:Select(tp,1,1,nil)
if #sg>0 then
Duel.SendtoHand(sg,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,sg)
end
end
end
end
function s.repfilter(c,tp)
return c:IsControler(tp) and c:IsSetCard(0x5f50) and c:IsLocation(0x04) and c:IsFaceup() and (c:GetDestination()==0x01 or c:GetDestination()==0x02 or c:GetDestination()==0x10 or c:GetDestination(0x20) or c:GetDestination(0x40))
end
function s.rtg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return bit.band(r,REASON_EFFECT)~=0 and eg:IsExists(s.repfilter,1,nil,tp) and c:IsAbleToRemove() end
if Duel.SelectEffectYesNo(tp,c,aux.Stringid(id,0)) then
return true
else return false end
end
function s.repop(e,tp,eg,ep,ev,re,r,rp)
Duel.Remove(e:GetHandler(),POS_FACEUP,REASON_EFFECT)
end
function s.rval(e,c)
return c:IsControler(e:GetHandlerPlayer()) and c:IsSetCard(0x5f50) and c:IsLocation(0x04) and c:IsFaceup()
end
\ No newline at end of file
--·夏美·舒瓦兹·
local s,id,o=GetID()
function s.initial_effect(c)
--change name
aux.EnableChangeCode(c,17337400,LOCATION_HAND+LOCATION_DECK+LOCATION_MZONE+LOCATION_GRAVE)
aux.AddCodeList(c,17337400)
--
local e1=Effect.CreateEffect(c)
e1:SetDescription(1190)
e1:SetCategory(CATEGORY_TOHAND)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,id+1)
e1:SetCondition(s.thcon1)
e1:SetCost(s.thcost)
e1:SetTarget(s.thtg)
e1:SetOperation(s.thop)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetHintTiming(0,TIMING_END_PHASE)
e2:SetCondition(s.thcon2)
c:RegisterEffect(e2)
--
local e3=Effect.CreateEffect(c)
e3:SetDescription(1118)
e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetRange(LOCATION_HAND+LOCATION_GRAVE)
e3:SetCountLimit(1,id)
e3:SetCondition(s.spcon)
e3:SetTarget(s.sptg)
e3:SetOperation(s.spop)
c:RegisterEffect(e3)
end
function s.thcon1(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFieldGroupCount(1-tp,LOCATION_MZONE,0)==0
end
function s.thcon2(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFieldGroupCount(1-tp,LOCATION_MZONE,0)>0
end
function s.thcost(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 s.thfilter(c)
return (c:IsCode(17337400) or aux.IsCodeListed(c,17337400)) and c:IsType(TYPE_MONSTER) and c:IsAbleToHand() and not c:IsCode(id)
end
function s.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(s.thfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE)
end
function s.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(s.thfilter),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil)
if #g>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetTargetRange(1,0)
e1:SetTarget(s.splimit)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
function s.splimit(e,c)
return not (c:IsSetCard(0x3f50) or c:IsSetCard(0x5f50))
end
function s.filter(c)
return c:IsSetCard(0x3f50) and c:IsFaceup()
end
function s.spcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(s.filter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil)
end
function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end
function s.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) and aux.NecroValleyFilter()(c) then
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
end
end
\ No newline at end of file
--·世界的重责·
local s,id,o=GetID()
function s.initial_effect(c)
aux.AddCodeList(c,17337920)
--
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_ACTIVATE)
e0:SetCode(EVENT_FREE_CHAIN)
e0:SetCondition(s.con)
e0:SetCountLimit(1,id+EFFECT_COUNT_CODE_OATH)
e0:SetOperation(s.actop)
c:RegisterEffect(e0)
--
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_MUST_ATTACK)
e1:SetRange(LOCATION_SZONE)
e1:SetTargetRange(0,LOCATION_MZONE)
e1:SetCondition(s.con2)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_MUST_ATTACK_MONSTER)
e2:SetValue(s.atklimit)
c:RegisterEffect(e2)
--
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_AVOID_BATTLE_DAMAGE)
e3:SetRange(LOCATION_SZONE)
e3:SetTargetRange(LOCATION_MZONE,0)
e3:SetCondition(s.con)
e3:SetTarget(s.cfilter)
c:RegisterEffect(e3)
local e4=e3:Clone()
e4:SetCode(EFFECT_PIERCE)
c:RegisterEffect(e4)
end
function s.con(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFieldGroupCount(tp,LOCATION_EXTRA,0)==0
end
function s.thfilter(c)
return (c:IsCode(17337920) or aux.IsCodeListed(c,17337920)) and c:IsAbleToHand() and not c:IsCode(id)
end
function s.actop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(aux.NecroValleyFilter(s.thfilter),tp,LOCATION_DECK+LOCATION_GRAVE,0,nil)
if #g>0 and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local sg=g:Select(tp,1,1,nil)
if #sg>0 then
Duel.SendtoHand(sg,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,sg)
end
end
end
function s.reinfilter(c,tp)
return c:IsFaceup() and c:IsCode(17337920) and c:IsControler(tp)
end
function s.con2(e)
local tp=e:GetHandlerPlayer()
return Duel.GetFieldGroupCount(tp,LOCATION_EXTRA,0)==0 and Duel.IsExistingMatchingCard(s.reinfilter,tp,LOCATION_MZONE,0,1,nil,tp)
end
function s.atklimit(e,c)
return c:IsFaceup() and c:IsCode(17337920)
end
function s.cfilter(c)
return c:IsCode(17337920)
end
\ No newline at end of file
--·最为新生的英雄与最为古老的英雄·
local s,id,o=GetID()
function s.initial_effect(c)
aux.AddCodeList(c,17337920)
--
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCost(s.spcost)
e1:SetTarget(s.sptg)
e1:SetOperation(s.spop)
c:RegisterEffect(e1)
end
function s.cfilter(c)
return c:IsSetCard(0x5f50) and c:IsType(TYPE_MONSTER) and not c:IsPublic()
end
function s.confilter(c)
return c:IsFaceup() and c:IsSetCard(0x5f50) and c:IsType(TYPE_MONSTER)
end
function s.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
local b1=Duel.IsExistingMatchingCard(s.cfilter,tp,LOCATION_HAND,0,1,nil)
local b2=Duel.IsExistingMatchingCard(s.confilter,tp,LOCATION_MZONE+LOCATION_GRAVE,0,1,nil)
if chk==0 then return b1 or b2 end
if b1 then
if b2 and not Duel.SelectYesNo(tp,aux.Stringid(id,0)) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONFIRM)
local g=Duel.SelectMatchingCard(tp,s.cfilter,tp,LOCATION_HAND,0,1,1,nil)
Duel.ConfirmCards(1-tp,g)
Duel.ShuffleHand(tp)
end
end
function s.spfilter(c,e,tp)
return c:IsCode(17337920) and c:IsCanBeSpecialSummoned(e,0,tp,true,false)
end
function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(s.spfilter,tp,LOCATION_HAND+LOCATION_DECK+LOCATION_GRAVE,0,1,nil,e,tp)
end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND+LOCATION_DECK+LOCATION_GRAVE)
end
function s.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 tc=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(s.spfilter),tp,LOCATION_HAND+LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,e,tp):GetFirst()
if tc then
Duel.SpecialSummon(tc,0,tp,tp,true,false,POS_FACEUP)
local fid=e:GetHandler():GetFieldID()
tc:RegisterFlagEffect(id,RESET_EVENT+RESETS_STANDARD,0,1,fid)
tc:RegisterFlagEffect(tc:GetOriginalCode(),RESET_EVENT+RESETS_STANDARD+RESET_DISABLE,0,0)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetCountLimit(1)
e1:SetLabel(fid)
e1:SetLabelObject(tc)
e1:SetCondition(s.retcon)
e1:SetOperation(s.retop)
Duel.RegisterEffect(e1,tp)
end
end
function s.tdop(e,tp,eg,ep,ev,re,r,rp)
local sc=e:GetLabelObject()
if sc and sc:IsOnField() then
Duel.SendtoDeck(sc,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)
end
end
function s.retcon(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetLabelObject()
if tc:GetFlagEffectLabel(id)~=e:GetLabel() then
e:Reset()
return false
else return true end
end
function s.retop(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetLabelObject()
Duel.SendtoDeck(tc,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)
end
\ No newline at end of file
--·佩特拉·忧郁魔女·
local s,id,o=GetID()
function s.initial_effect(c)
--fusion material
c:EnableReviveLimit()
aux.AddFusionProcCode2FunRep(c,17337680,17337690,aux.FilterBoolFunction(Card.IsFusionSetCard,0x5f50),1,1,true,true)
aux.AddContactFusionProcedure(c,Card.IsAbleToRemoveAsCost,LOCATION_ONFIELD+LOCATION_GRAVE,0,Duel.Remove,POS_FACEUP,REASON_COST)
--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)
e0:SetValue(s.splimit0)
c:RegisterEffect(e0)
--
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,0))
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCountLimit(1,id)
e1:SetTarget(s.pztg)
e1:SetOperation(s.pzop)
c:RegisterEffect(e1)
--
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_CHAIN_SOLVING)
e2:SetRange(LOCATION_SZONE)
e2:SetCondition(s.ngcon)
e2:SetOperation(s.ngop)
c:RegisterEffect(e2)
--
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(id,2))
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetRange(LOCATION_SZONE)
e3:SetCountLimit(1,id+1)
e3:SetHintTiming(0,TIMING_END_PHASE)
e3:SetCondition(s.ctcon)
e3:SetTarget(s.cttg)
e3:SetOperation(s.ctop)
c:RegisterEffect(e3)
--
local e4=Effect.CreateEffect(c)
e4:SetDescription(1118)
e4:SetCategory(CATEGORY_SPECIAL_SUMMON)
e4:SetType(EFFECT_TYPE_QUICK_O)
e4:SetCode(EVENT_FREE_CHAIN)
e4:SetRange(LOCATION_SZONE)
e4:SetCountLimit(1,id+2)
e4:SetHintTiming(0,TIMING_END_PHASE)
e4:SetCondition(s.ctcon)
e4:SetProperty(EFFECT_FLAG_CARD_TARGET)
e4:SetTarget(s.rvtg)
e4:SetOperation(s.rvop)
c:RegisterEffect(e4)
end
function s.splimit0(e,se,sp,st)
return not e:GetHandler():IsLocation(LOCATION_EXTRA)
end
function s.pztg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0 end
end
function s.pzop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) or Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 then return end
if Duel.MoveToField(c,tp,tp,LOCATION_SZONE,POS_FACEUP,true) then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CHANGE_TYPE)
e1:SetValue(TYPE_TRAP+TYPE_CONTINUOUS)
e1:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TURN_SET)
c:RegisterEffect(e1)
end
end
function s.ngcon(e,tp,eg,ep,ev,re,r,rp)
return rp==1-tp and e:GetHandler():GetType()==TYPE_TRAP+TYPE_CONTINUOUS and Duel.IsChainDisablable(ev)
and e:GetHandler():GetFlagEffect(id)==0
end
function s.ngop(e,tp,eg,ep,ev,re,r,rp)
if Duel.SelectYesNo(tp,aux.Stringid(id,1)) then
Duel.Hint(HINT_CARD,0,id)
Duel.NegateEffect(ev)
e:GetHandler():RegisterFlagEffect(id,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1)
end
end
function s.ctcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetType()==TYPE_TRAP+TYPE_CONTINUOUS
end
function s.pickable(c,tp)
local r=LOCATION_REASON_TOFIELD
if not c:IsControler(c:GetOwner()) then r=LOCATION_REASON_CONTROL end
return (c:IsType(TYPE_MONSTER) or c:IsLocation(LOCATION_MZONE)) and c:IsFaceupEx()
and Duel.GetLocationCount(c:GetOwner(),LOCATION_SZONE,tp,r)>0
end
function s.cttg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(s.pickable,tp,LOCATION_MZONE+LOCATION_GRAVE,LOCATION_MZONE+LOCATION_GRAVE,1,nil,tp) end
end
function s.ctop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(s.pickable),tp,LOCATION_MZONE+LOCATION_GRAVE,LOCATION_MZONE+LOCATION_GRAVE,1,1,nil,tp)
Duel.HintSelection(g)
local tc=g:GetFirst()
if not tc:IsImmuneToEffect(e) and Duel.MoveToField(tc,tp,tc:GetOwner(),LOCATION_SZONE,POS_FACEUP,true) then
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetCode(EFFECT_CHANGE_TYPE)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TURN_SET)
e1:SetValue(TYPE_TRAP+TYPE_CONTINUOUS)
tc:RegisterEffect(e1)
end
end
function s.ctfilter(c)
return c:GetOriginalType()&TYPE_MONSTER>0 and c:GetType()&TYPE_CONTINUOUS+TYPE_SPELL==TYPE_CONTINUOUS+TYPE_SPELL
and c:IsFaceup() and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function s.rvtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsOnField() and s.sfilter(chkc,e,tp) end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingTarget(s.sfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil,e,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectTarget(tp,s.sfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil,e,tp)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,0,0)
end
function s.rvop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP) end
end
\ No newline at end of file
--·尤里乌斯·
local s,id,o=GetID()
function s.initial_effect(c)
aux.AddCodeList(c,17338100,17337400)
--
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_SPSUMMON_PROC)
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,id+EFFECT_COUNT_CODE_OATH)
e1:SetCondition(s.spcon)
c:RegisterEffect(e1)
--
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(id,0))
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_HAND)
e2:SetHintTiming(0,TIMING_END_PHASE)
e2:SetCountLimit(1,id+o)
e2:SetCondition(s.e2con)
e2:SetCost(s.lockcost)
e2:SetOperation(s.lockop)
c:RegisterEffect(e2)
--
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(id,2))
e3:SetCategory(CATEGORY_ATKCHANGE+CATEGORY_DEFCHANGE)
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1,id)
e3:SetCost(s.boostcost)
e3:SetOperation(s.boostop)
c:RegisterEffect(e3)
end
function s.spcon(e,c)
if c==nil then return true end
local tp=c:GetControler()
return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and (Duel.IsExistingMatchingCard(function(c) return c:IsSetCard(0x5f50) and c:IsType(TYPE_MONSTER) and c:IsFaceup() end,tp,LOCATION_MZONE+LOCATION_GRAVE,0,1,nil) or Duel.IsExistingMatchingCard(function(c) return c:IsCode(17338100) and c:IsFaceup() end,tp,LOCATION_MZONE+LOCATION_GRAVE,0,1,nil))
end
function s.e2con(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return not c:IsPublic() and c:GetFlagEffect(id+o)==0
end
function s.cfilter(c)
return c:IsCode(17337400) and c:IsType(TYPE_MONSTER) and not c:IsPublic()
end
function s.lockcost(e,tp,eg,ep,ev,re,r,rp,chk)
local b1=Duel.IsExistingMatchingCard(s.cfilter,tp,LOCATION_HAND,0,1,nil)
local b2=(Duel.IsExistingMatchingCard(function(c) return c:IsSetCard(0x5f50) and c:IsType(TYPE_MONSTER) and c:IsFaceup() end,tp,LOCATION_MZONE+LOCATION_GRAVE,0,1,nil) or Duel.IsExistingMatchingCard(function(c) return c:IsCode(17338100) and c:IsFaceup() end,tp,LOCATION_MZONE+LOCATION_GRAVE,0,1,nil))
if chk==0 then return b1 or b2 end
if b1 then
if b2 and not Duel.SelectYesNo(tp,aux.Stringid(id,1)) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONFIRM)
local g=Duel.SelectMatchingCard(tp,s.cfilter,tp,LOCATION_HAND,0,1,1,nil)
Duel.ConfirmCards(1-tp,g)
Duel.ShuffleHand(tp)
end
end
function s.lockop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
local fid=c:GetFieldID()
c:RegisterFlagEffect(id,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,fid,66)
c:RegisterFlagEffect(id+o,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,2)
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetCode(EFFECT_PUBLIC)
e0:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
c:RegisterEffect(e0)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_TO_HAND)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(0,1)
e1:SetTarget(aux.TargetBoolFunction(Card.IsLocation,LOCATION_DECK))
e1:SetCondition(s.indcon)
e1:SetLabel(fid)
e1:SetLabelObject(c)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_CANNOT_DRAW)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetTargetRange(0,1)
e2:SetLabel(fid)
e2:SetCondition(s.indcon)
e2:SetLabelObject(c)
e2:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e2,tp)
end
function s.indcon(e)
local c=e:GetLabelObject()
return c:GetFlagEffectLabel(id)==e:GetLabel()
end
function s.boostcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckLPCost(tp,1000) end
Duel.PayLPCost(tp,1000)
end
function s.boostop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not (c:IsRelateToEffect(e) and c:IsFaceup()) then return end
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(s.val1)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
c:RegisterEffect(e1)
local e4=e1:Clone()
e4:SetCode(EFFECT_UPDATE_DEFENSE)
c:RegisterEffect(e4)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_UPDATE_ATTACK)
e2:SetTargetRange(0,LOCATION_MZONE)
e2:SetValue(s.val2)
e2:SetRange(LOCATION_MZONE)
e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
c:RegisterEffect(e2,tp)
local e5=e2:Clone()
e5:SetCode(EFFECT_UPDATE_DEFENSE)
Duel.RegisterEffect(e5,tp)
--
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(id,3))
e3:SetCategory(CATEGORY_REMOVE)
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetRange(LOCATION_MZONE)
e3:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
e3:SetCost(s.attrcost)
e3:SetOperation(s.attrop)
c:RegisterEffect(e3)
end
function s.val1(e)
local ct=Duel.GetFieldGroupCount(e:GetHandlerPlayer(),LOCATION_ONFIELD,LOCATION_ONFIELD)
return ct*100
end
function s.val2(e)
local ct=Duel.GetFieldGroupCount(e:GetHandlerPlayer(),LOCATION_ONFIELD,LOCATION_ONFIELD)
return ct*-100
end
function s.attrcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,nil) end
Duel.DiscardHand(tp,Card.IsDiscardable,1,1,REASON_COST+REASON_DISCARD)
end
function s.attrop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tt=c:GetAttribute()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATTRIBUTE)
local att=Duel.AnnounceAttribute(tp,1,ATTRIBUTE_EARTH+ATTRIBUTE_WATER+ATTRIBUTE_FIRE+ATTRIBUTE_WIND+ATTRIBUTE_LIGHT+ATTRIBUTE_DARK-tt)
if c:IsRelateToEffect(e) and c:IsFaceup() then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_ADD_ATTRIBUTE)
e1:SetValue(att)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
c:RegisterEffect(e1)
end
local mg=Duel.GetMatchingGroup(Card.IsFaceup,tp,LOCATION_MZONE,LOCATION_MZONE,nil)
if mg:GetClassCount(Card.GetAttribute)<=0 then return end
local g=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,0,LOCATION_ONFIELD,nil)
if #g>0 and Duel.SelectYesNo(tp,aux.Stringid(id,4)) then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local sg=g:Select(tp,1,#mg,nil)
if #sg>0 then
Duel.HintSelection(sg)
Duel.Remove(sg,POS_FACEUP,REASON_EFFECT)
end
end
end
\ No newline at end of file
--·安娜塔西亚·
local s,id,o=GetID()
local SET_HEXIN=0x3f53
function s.initial_effect(c)
--
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_SPSUMMON_PROC)
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,id+EFFECT_FLAG_OATH)
e1:SetCondition(s.hspcon)
c:RegisterEffect(e1)
--
local e2=Effect.CreateEffect(c)
e2:SetDescription(1190)
e2:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH+CATEGORY_HANDES)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_SUMMON_SUCCESS)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCountLimit(1,id+o)
e2:SetCost(s.cost)
e2:SetTarget(s.thtg)
e2:SetOperation(s.thop)
c:RegisterEffect(e2)
local e4=e2:Clone()
e4:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e4)
--
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(id,1))
e3:SetCategory(CATEGORY_TOHAND+CATEGORY_TOGRAVE+CATEGORY_SEARCH)
e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1,id)
e3:SetProperty(EFFECT_FLAG_CARD_TARGET)
e3:SetCost(s.cost)
e3:SetTarget(s.mixtg)
e3:SetOperation(s.mixop)
c:RegisterEffect(e3)
Duel.AddCustomActivityCounter(id,ACTIVITY_SPSUMMON,s.counterfilter)
end
function s.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetCustomActivityCount(id,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:SetTargetRange(1,0)
e1:SetTarget(s.splimit)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
function s.splimit(e,c,sump,sumtype,sumpos,targetp,se)
return not c:IsSetCard(0x1083) and c:IsLocation(LOCATION_EXTRA)
end
function s.counterfilter(c)
return c:IsSetCard(0x3f53)
end
function s.cfilter(c)
return c:IsFacedown() or not c:IsSetCard(0x3f53)
end
function s.hspcon(e,c)
if c==nil then return true end
local tp=c:GetControler()
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return false end
return not Duel.IsExistingMatchingCard(s.cfilter,tp,LOCATION_MZONE,0,1,nil)
end
function s.thfilter(c)
return c:IsSetCard(0x3f53) and c:IsAbleToHand()
end
function s.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(s.thfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function s.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,s.thfilter,tp,LOCATION_DECK,0,1,1,nil)
if #g>0 and Duel.SendtoHand(g,nil,REASON_EFFECT)>0 then
Duel.ConfirmCards(1-tp,g)
end
if Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(id,2)) then
Duel.BreakEffect()
Duel.DiscardHand(tp,Card.IsDiscardable,1,1,REASON_EFFECT+REASON_DISCARD)
end
end
function s.tfilter(c,tp)
local type1=c:GetType()&0x7
return c:IsSetCard(0x3f53) and Duel.IsExistingMatchingCard(s.tgfilter,tp,LOCATION_DECK,0,1,nil,type1)
end
function s.tgfilter(c,type1)
return not c:IsType(type1) and c:IsSetCard(0x3f53) and (c:IsAbleToHand() or c:IsAbleToGrave())
end
function s.mixtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and s.tfilter(chkc,tp) end
if chk==0 then return Duel.IsExistingTarget(s.tfilter,tp,LOCATION_GRAVE,0,1,nil,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
local g=Duel.SelectTarget(tp,s.tfilter,tp,LOCATION_GRAVE,0,1,1,nil,tp)
end
function s.mixop(e,tp,eg,ep,ev,re,r,rp)
local c,tc=e:GetHandler(),Duel.GetFirstTarget()
local type1=tc:GetType()&0x7
if not tc:IsRelateToEffect(e) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_OPERATECARD)
local g=Duel.SelectMatchingCard(tp,s.tgfilter,tp,LOCATION_DECK,0,1,1,nil,type)
if g:GetCount()<=0 then return end
local tc=g:GetFirst()
if tc:IsAbleToHand() and (not tc:IsAbleToGrave() or Duel.SelectOption(tp,1190,1191)==0) then
Duel.SendtoHand(tc,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,tc)
else
Duel.SendtoGrave(tc,REASON_EFFECT)
end
end
\ No newline at end of file
--·艾尔莎·
local s,id,o=GetID()
function s.initial_effect(c)
aux.AddCodeList(c,id,17338140,17337700)
--
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_SPSUMMON_PROC)
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE)
e1:SetRange(LOCATION_HAND+LOCATION_GRAVE)
e1:SetCountLimit(1,id+EFFECT_COUNT_CODE_OATH)
e1:SetCondition(s.hspcon)
c:RegisterEffect(e1)
--
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_UPDATE_ATTACK)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetRange(LOCATION_MZONE)
e2:SetValue(1000)
e2:SetCondition(s.atkcon2)
c:RegisterEffect(e2)
--
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(id,0))
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_SPSUMMON_SUCCESS)
e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetCountLimit(2,id+o)
e3:SetOperation(s.boostop)
c:RegisterEffect(e3)
--
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(id,1))
e4:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_DESTROY)
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e4:SetCode(EVENT_TO_GRAVE)
e4:SetProperty(EFFECT_FLAG_DELAY)
e4:SetCountLimit(2,id)
e4:SetCondition(s.rvcon)
e4:SetTarget(s.rvtg)
e4:SetOperation(s.rvop)
c:RegisterEffect(e4)
end
function s.hspcon(e,c)
if c==nil then return true end
local tp=c:GetControler()
return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsExistingMatchingCard(function(c) return ((c:IsSetCard(0x5f50) and c:IsType(TYPE_MONSTER)) or c:IsCode(17337700)) and c:IsFaceup() end,tp,LOCATION_MZONE+LOCATION_GRAVE,0,1,nil)
end
function s.atkcon2(e)
local tp=e:GetHandlerPlayer()
return Duel.IsExistingMatchingCard(function(c) return c:IsCode(17338140,17337700) and c:IsFaceup() end,tp,LOCATION_MZONE,0,1,nil)
end
function s.boostop(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetTargetRange(LOCATION_MZONE,0)
e1:SetTarget(function(e,c) return c:IsOriginalCodeRule(id) end)
e1:SetValue(1000)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
function s.rvcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:IsPreviousLocation(LOCATION_ONFIELD)
end
function s.rvtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
local g=Duel.GetMatchingGroup(aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0)
end
function s.rvop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
if not (c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)>0) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g=Duel.SelectMatchingCard(tp,aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil)
if #g>0 then Duel.Destroy(g,REASON_EFFECT) end
local fid=c:GetFieldID()
c:RegisterFlagEffect(id,RESET_EVENT+RESETS_STANDARD,0,1,fid)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetCountLimit(1)
e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetLabel(fid)
e1:SetLabelObject(c)
e1:SetCondition(s.thcon)
e1:SetOperation(s.thop)
Duel.RegisterEffect(e1,tp)
end
function s.thcon(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetLabelObject()
if tc:GetFlagEffectLabel(id)~=e:GetLabel() then
e:Reset()
return false
else return true end
end
function s.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.SendtoDeck(e:GetLabelObject(),nil,2,REASON_EFFECT)
end
\ No newline at end of file
--·菜月昴·傲慢司教·
local s,id,o=GetID()
function s.initial_effect(c)
aux.AddCodeList(c,17337630,17338130,17337700)
--
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,0))
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_HAND)
e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_MAIN_END)
e1:SetCountLimit(1,id)
e1:SetCondition(s.reveal_con)
e1:SetOperation(s.reveal_op)
c:RegisterEffect(e1)
--
local e2=Effect.CreateEffect(c)
e2:SetDescription(1118)
e2:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOHAND+CATEGORY_SEARCH+CATEGORY_GRAVE_SPSUMMON+CATEGORY_GRAVE_ACTION)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_CHAINING)
e2:SetRange(LOCATION_HAND)
e2:SetCountLimit(1,id+o)
e2:SetTarget(s.sptg)
e2:SetOperation(s.spop)
c:RegisterEffect(e2)
--
local e3=Effect.CreateEffect(c)
e3:SetDescription(1153)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_BE_MATERIAL)
e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetCountLimit(1,id+o*2)
e3:SetCondition(s.setcon)
e3:SetTarget(s.settg)
e3:SetOperation(s.setop)
c:RegisterEffect(e3)
end
function s.reveal_con(e,tp)
local ph=Duel.GetCurrentPhase()
return ph==PHASE_MAIN1 or ph==PHASE_MAIN2
end
function s.reveal_op(e,tp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
local fid=c:GetFieldID()
c:RegisterFlagEffect(id,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,fid,66)
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetCode(EFFECT_PUBLIC)
e0:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
c:RegisterEffect(e0)
--cannot be target
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e1:SetProperty(EFFECT_FLAG_SET_AVAILABLE)
e1:SetTargetRange(LOCATION_MZONE,LOCATION_ONFIELD+LOCATION_GRAVE+LOCATION_REMOVED)
e1:SetCondition(s.indcon)
e1:SetTarget(s.efftg)
e1:SetLabel(fid)
e1:SetValue(aux.tgoval)
Duel.RegisterEffect(e1,tp)
--reflect battle damage
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_REFLECT_BATTLE_DAMAGE)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetCondition(s.indcon)
e2:SetLabel(fid)
e2:SetTargetRange(1,0)
Duel.RegisterEffect(e2,tp)
end
function s.indcon(e)
local c=e:GetLabelObject()
return c:GetFlagEffectLabel(id)==e:GetLabel()
end
function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
if c:IsPublic() then
e:SetLabel(1)
else
e:SetLabel(0)
end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end
function s.elsafilter(c,e,tp)
return c:IsCode(17338130) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function s.maryfilter(c)
return c:IsCode(17337700) and c:IsAbleToHand()
end
function s.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
if Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)<=0 then return end
local g=Duel.GetMatchingGroup(aux.NecroValleyFilter(s.elsafilter),tp,LOCATION_HAND+LOCATION_DECK+LOCATION_GRAVE,0,nil,e,tp)
local b1=#g>0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
local hg=Duel.GetMatchingGroup(aux.NecroValleyFilter(s.maryfilter),tp,LOCATION_DECK+LOCATION_GRAVE,0,nil)
local b2=#hg>0
if e:GetLabel()==1 and b1 and b2 and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=g:Select(tp,1,1,nil)
if #sg>0 and Duel.SpecialSummon(sg,0,tp,tp,false,false,POS_FACEUP)>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local tg=hg:Select(tp,1,1,nil)
if #tg>0 then
Duel.SendtoHand(tg,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,tg)
end
end
end
end
function s.setcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsLocation(LOCATION_GRAVE) and r==REASON_LINK and e:GetHandler():GetReasonCard():IsSetCard(0x5f50)
end
function s.settg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(function(c) return c:IsCode(17337630) and c:IsSSetable() end,tp,LOCATION_DECK,0,1,nil) end
end
function s.setop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET)
local g=Duel.SelectMatchingCard(tp,function(c) return c:IsCode(17337630) and c:IsSSetable() end,tp,LOCATION_DECK,0,1,1,nil)
local tc=g:GetFirst()
if tc then
Duel.SSet(tp,tc)
end
end
\ No newline at end of file
--·菜月昴·怠惰·
local s,id,o=GetID()
function s.initial_effect(c)
aux.AddCodeList(c,17337630,17337530)
--
local e1=Effect.CreateEffect(c)
e1:SetDescription(1190)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetCountLimit(1,id)
e1:SetTarget(s.thtg)
e1:SetOperation(s.thop)
c:RegisterEffect(e1)
local e4=e1:Clone()
e4:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e4)
--
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(id,1))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_HAND+LOCATION_GRAVE)
e2:SetCountLimit(1,id+o)
e2:SetCondition(s.spcon)
e2:SetTarget(s.sptg)
e2:SetOperation(s.spop)
c:RegisterEffect(e2)
--
local e3=Effect.CreateEffect(c)
e3:SetDescription(1153)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_BE_MATERIAL)
e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetCountLimit(1,id+o*2)
e3:SetCondition(s.setcon)
e3:SetTarget(s.settg)
e3:SetOperation(s.setop)
c:RegisterEffect(e3)
end
function s.remfilter(c)
return c:IsCode(17337530) and c:IsAbleToHand()
end
function s.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
return Duel.IsExistingMatchingCard(s.remfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil)
end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE)
end
function s.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,s.remfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil)
if #g>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
function s.remmon(c)
return c:IsSetCard(0x3f51) and c:IsFaceup() and c:IsFaceup()
end
function s.spcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(s.remmon,tp,LOCATION_MZONE+LOCATION_GRAVE,0,1,nil)
end
function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and c:IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
end
function s.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
if not aux.NecroValleyFilter()(c) then return end
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
end
function s.setcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsLocation(LOCATION_GRAVE) and r==REASON_LINK and e:GetHandler():GetReasonCard():IsSetCard(0x5f50)
end
function s.settg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(function(c) return c:IsCode(17337630) and c:IsSSetable() end,tp,LOCATION_DECK,0,1,nil) end
end
function s.setop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET)
local g=Duel.SelectMatchingCard(tp,function(c) return c:IsCode(17337630) and c:IsSSetable() end,tp,LOCATION_DECK,0,1,1,nil)
local tc=g:GetFirst()
if tc then
Duel.SSet(tp,tc)
end
end
\ No newline at end of file
--·菜月昴·■■■·
local s,id,o=GetID()
function s.initial_effect(c)
aux.AddCodeList(c,17337630)
--
local e1=Effect.CreateEffect(c)
e1:SetDescription(1118)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_TO_GRAVE)
e1:SetCountLimit(1,id)
e1:SetTarget(s.sptg1)
e1:SetOperation(s.spop1)
c:RegisterEffect(e1)
--
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(id,1))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,id+o)
e2:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e2:SetTarget(s.sptg2)
e2:SetOperation(s.spop2)
c:RegisterEffect(e2)
--
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(id,2))
e3:SetCategory(CATEGORY_RECOVER)
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetCode(EVENT_CHAINING)
e3:SetRange(LOCATION_MZONE)
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e3:SetCondition(s.rccon)
e3:SetCost(s.rccost)
e3:SetTarget(s.rctg)
e3:SetOperation(s.rcop)
c:RegisterEffect(e3)
--
local e4=Effect.CreateEffect(c)
e4:SetDescription(1153)
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e4:SetCode(EVENT_BE_MATERIAL)
e4:SetProperty(EFFECT_FLAG_DELAY)
e4:SetCountLimit(1,id+o*2)
e4:SetCondition(s.setcon)
e4:SetTarget(s.settg)
e4:SetOperation(s.setop)
c:RegisterEffect(e4)
end
function s.sptg1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false)
and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end
function s.spop1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
if c:IsRelateToEffect(e) and aux.NecroValleyFilter()(c) then
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
end
end
function s.spfilter(c,e,tp)
return c:IsCode(17337740) and c:IsCanBeSpecialSummoned(e,0,tp,true,false)
end
function s.sptg2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(s.spfilter,tp,LOCATION_HAND+LOCATION_DECK+LOCATION_GRAVE,0,1,nil,e,tp)
end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND+LOCATION_DECK+LOCATION_GRAVE)
end
function s.spop2(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,aux.NecroValleyFilter(s.spfilter),tp,LOCATION_HAND+LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,e,tp)
local tc=g:GetFirst()
if tc then
Duel.SpecialSummon(tc,0,tp,tp,true,false,POS_FACEUP)
end
end
function s.rccon(e,tp,eg,ep,ev,re,r,rp)
return re and re:GetHandler()~=e:GetHandler()
end
function s.rccost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
return Duel.IsExistingMatchingCard(Card.IsAbleToGrave,tp,LOCATION_HAND+LOCATION_ONFIELD,0,1,nil)
end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,Card.IsAbleToGrave,tp,LOCATION_HAND+LOCATION_ONFIELD,0,1,1,nil)
local tc=g:GetFirst()
if tc:IsLocation(LOCATION_ONFIELD) then
e:SetLabel(1)
else
e:SetLabel(0)
end
Duel.SendtoGrave(tc,REASON_COST)
end
function s.rctg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetTargetPlayer(tp)
Duel.SetTargetParam(1000)
Duel.SetOperationInfo(0,CATEGORY_RECOVER,nil,0,tp,1000)
end
function s.rcop(e,tp,eg,ep,ev,re,r,rp)
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
Duel.Recover(p,d,REASON_EFFECT)
if e:GetLabel()==1 and Duel.SelectYesNo(p,aux.Stringid(id,1)) then
Duel.BreakEffect()
Duel.Recover(p,d,REASON_EFFECT)
end
end
function s.setcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsLocation(LOCATION_GRAVE) and r==REASON_LINK and e:GetHandler():GetReasonCard():IsSetCard(0x5f50)
end
function s.settg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(function(c) return c:IsCode(17337630) and c:IsSSetable() end,tp,LOCATION_DECK,0,1,nil) end
end
function s.setop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET)
local g=Duel.SelectMatchingCard(tp,function(c) return c:IsCode(17337630) and c:IsSSetable() end,tp,LOCATION_DECK,0,1,1,nil)
local tc=g:GetFirst()
if tc then
Duel.SSet(tp,tc)
end
end
\ No newline at end of file
--·万魔殿·
local s,id,o=GetID()
function s.initial_effect(c)
aux.AddCodeList(c,17338180)
--
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_ACTIVATE)
e0:SetCode(EVENT_FREE_CHAIN)
c:RegisterEffect(e0)
--
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_SET_ATTACK_FINAL)
e1:SetRange(LOCATION_FZONE)
e1:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE)
e1:SetTarget(function(e,c) return not c:IsSetCard(0x5f50) end)
e1:SetValue(function(e,c) return math.floor(c:GetAttack()/2) end)
c:RegisterEffect(e1)
local e6=e1:Clone()
e6:SetCode(EFFECT_SET_DEFENSE_FINAL)
e6:SetValue(function(e,c) return math.floor(c:GetDefense()/2) end)
c:RegisterEffect(e6)
--
local e7=Effect.CreateEffect(c)
e7:SetType(EFFECT_TYPE_FIELD)
e7:SetRange(LOCATION_FZONE)
e7:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE)
e7:SetTarget(function(e,c) return not c:IsSetCard(0x5f50) end)
e7:SetCode(EFFECT_DISABLE)
c:RegisterEffect(e7)
--
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_CANNOT_SELECT_BATTLE_TARGET)
e2:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE)
e2:SetRange(LOCATION_FZONE)
e2:SetValue(function(e,c) return c:IsCode(17338180) and c:IsFaceup() end)
c:RegisterEffect(e2)
local e8=Effect.CreateEffect(c)
e8:SetType(EFFECT_TYPE_FIELD)
e8:SetRange(LOCATION_FZONE)
e8:SetTarget(function(e,c) return c:IsCode(17338180) and c:IsFaceup() end)
e8:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE)
e8:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e8:SetValue(1)
c:RegisterEffect(e8)
--effect count
local e9=Effect.CreateEffect(c)
e9:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e9:SetCode(EVENT_CHAINING)
e9:SetRange(LOCATION_FZONE)
e9:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e9:SetOperation(s.count)
c:RegisterEffect(e9)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e3:SetCode(EVENT_CHAIN_NEGATED)
e3:SetRange(LOCATION_FZONE)
e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e3:SetOperation(s.rst)
c:RegisterEffect(e3)
--activate limit
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD)
e4:SetCode(EFFECT_CANNOT_ACTIVATE)
e4:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e4:SetRange(LOCATION_FZONE)
e4:SetTargetRange(1,0)
e4:SetCondition(s.econ1)
e4:SetValue(s.elimit)
c:RegisterEffect(e4)
local e10=e4:Clone()
e10:SetTargetRange(0,1)
e10:SetCondition(s.econ2)
c:RegisterEffect(e10)
--
--attack limit
local e11=Effect.CreateEffect(c)
e11:SetType(EFFECT_TYPE_FIELD)
e11:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e11:SetCode(EFFECT_CANNOT_ATTACK_ANNOUNCE)
e11:SetRange(LOCATION_FZONE)
e11:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE)
e11:SetCondition(s.atkcon)
e11:SetTarget(s.atktg)
c:RegisterEffect(e11)
local e12=Effect.CreateEffect(c)
e12:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e12:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e12:SetCode(EVENT_ATTACK_ANNOUNCE)
e12:SetRange(LOCATION_FZONE)
e12:SetOperation(s.checkop)
e12:SetLabelObject(e11)
c:RegisterEffect(e12)
--
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_FIELD)
e5:SetCode(EFFECT_CANNOT_ACTIVATE)
e5:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e5:SetRange(LOCATION_FZONE)
e5:SetTargetRange(1,0)
e5:SetValue(function(e,re,tp)
if not re then return false end
local rc=re:GetHandler()
return not ((rc:IsSetCard(0x5f50) and rc:IsType(TYPE_MONSTER)) or rc:IsSetCard(0x3f50))
end)
c:RegisterEffect(e5)
end
function s.count(e,tp,eg,ep,ev,re,r,rp)
if not re:IsHasType(EFFECT_TYPE_ACTIVATE) then return end
if ep==tp then
e:GetHandler():RegisterFlagEffect(id,RESET_EVENT+0x3ff0000+RESET_PHASE+PHASE_END,0,1)
else
e:GetHandler():RegisterFlagEffect(id+o,RESET_EVENT+0x3ff0000+RESET_PHASE+PHASE_END,0,1)
end
end
function s.rst(e,tp,eg,ep,ev,re,r,rp)
if not re:IsHasType(EFFECT_TYPE_ACTIVATE) then return end
if ep==tp then
e:GetHandler():ResetFlagEffect(id)
else
e:GetHandler():ResetFlagEffect(id+o)
end
end
function s.econ1(e)
return e:GetHandler():GetFlagEffect(id)~=0
end
function s.econ2(e)
return e:GetHandler():GetFlagEffect(id+o)~=0
end
function s.elimit(e,te,tp)
return te:IsHasType(EFFECT_TYPE_ACTIVATE)
end
function s.atkcon(e)
return e:GetHandler():GetFlagEffect(id)~=0
end
function s.atktg(e,c)
return c:GetFieldID()~=e:GetLabel()
end
function s.checkop(e,tp,eg,ep,ev,re,r,rp)
if e:GetHandler():GetFlagEffect(id)~=0 then return end
local fid=eg:GetFirst():GetFieldID()
e:GetHandler():RegisterFlagEffect(id,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1)
e:GetLabelObject():SetLabel(fid)
end
\ No newline at end of file
--·菜月昴·肃清王·
local s,id,o=GetID()
function s.initial_effect(c)
c:SetUniqueOnField(1,1,id)
aux.AddCodeList(c,17337630,17338170,17337400)
--
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_FIELD)
e0:SetCode(EFFECT_CANNOT_ACTIVATE)
e0:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e0:SetRange(LOCATION_MZONE)
e0:SetTargetRange(1,0)
e0:SetValue(s.aclimit)
c:RegisterEffect(e0)
--
local e2=Effect.CreateEffect(c)
e2:SetDescription(1118)
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_HAND+LOCATION_GRAVE)
e2:SetCountLimit(1,id)
e2:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_MAIN_END)
e2:SetCondition(s.sscon)
e2:SetTarget(s.sstg)
e2:SetOperation(s.ssop)
c:RegisterEffect(e2)
--
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(id,0))
e3:SetCategory(CATEGORY_COIN+CATEGORY_DISABLE+CATEGORY_DESTROY+CATEGORY_RECOVER+CATEGORY_TOHAND+CATEGORY_TOGRAVE+CATEGORY_SEARCH)
e3:SetType(EFFECT_TYPE_QUICK_F)
e3:SetCode(EVENT_CHAINING)
e3:SetRange(LOCATION_MZONE)
e3:SetCondition(s.coincon)
e3:SetTarget(s.cointg)
e3:SetOperation(s.coinop)
c:RegisterEffect(e3)
--
local e4=Effect.CreateEffect(c)
e4:SetDescription(1153)
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e4:SetCode(EVENT_BE_MATERIAL)
e4:SetProperty(EFFECT_FLAG_DELAY)
e4:SetCountLimit(1,id+o)
e4:SetCondition(s.setcon)
e4:SetTarget(s.settg)
e4:SetOperation(s.setop)
c:RegisterEffect(e4)
end
function s.aclimit(e,re,tp)
local rc=re:GetHandler()
return not (rc:IsSetCard(0x3f50) or re:IsActiveType(TYPE_MONSTER) and rc:IsSetCard(0x5f50))
end
function s.sscon(e,tp)
return Duel.GetFieldGroupCount(tp,LOCATION_MZONE,0)==0 or Duel.GetFieldGroupCount(1-tp,LOCATION_MZONE,0)==0
end
function s.sstg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and c:IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
end
function s.panfilter(c)
return c:IsCode(17338170) and not c:IsForbidden() and c:CheckUniqueOnField(tp)
end
function s.ssop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) or Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
if Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)<=0 then return end
local g=Duel.GetMatchingGroup(aux.NecroValleyFilter(s.panfilter),tp,LOCATION_HAND+LOCATION_DECK+LOCATION_GRAVE,0,nil)
if #g>0 and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD)
local tc=g:Select(tp,1,1,nil):GetFirst()
if tc then
Duel.MoveToField(tc,tp,tp,LOCATION_FZONE,POS_FACEUP,true)
end
end
end
function s.coincon(e,tp,eg,ep,ev,re,r,rp)
return rp==1-tp and re:IsActiveType(TYPE_MONSTER)
end
function s.cointg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
Duel.SetOperationInfo(0,CATEGORY_COIN,nil,0,tp,1)
end
function s.coinop(e,tp,eg,ep,ev,re,r,rp)
local res=Duel.TossCoin(tp,1)
if res==1 and Duel.IsChainDisablable(ev) then
if Duel.NegateEffect(ev) and re:GetHandler():IsRelateToEffect(re) then
Duel.Destroy(re:GetHandler(),REASON_EFFECT)
end
else
Duel.Recover(tp,1000,REASON_EFFECT)
local g=Duel.GetMatchingGroup(s.subaru_pick,tp,LOCATION_DECK,0,nil)
if #g>0 and Duel.SelectYesNo(tp,aux.Stringid(id,4)) then
Duel.BreakEffect()
local sg=g:Select(tp,1,1,nil)
local tc=sg:GetFirst()
if tc:IsAbleToHand() and (not tc:IsAbleToGrave() or Duel.SelectOption(tp,1190,1191)==0) then
Duel.SendtoHand(tc,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,tc)
else
Duel.SendtoGrave(tc,REASON_EFFECT)
end
end
end
end
function s.subaru_pick(c)
return aux.IsCodeListed(c,17337400) and not c:IsCode(id) and (c:IsAbleToHand() or c:IsAbleToGrave())
end
function s.setcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsLocation(LOCATION_GRAVE) and r==REASON_LINK and e:GetHandler():GetReasonCard():IsSetCard(0x5f50)
end
function s.settg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(function(c) return c:IsCode(17337630) and c:IsSSetable() end,tp,LOCATION_DECK,0,1,nil) end
end
function s.setop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET)
local g=Duel.SelectMatchingCard(tp,function(c) return c:IsCode(17337630) and c:IsSSetable() end,tp,LOCATION_DECK,0,1,1,nil)
local tc=g:GetFirst()
if tc then
Duel.SSet(tp,tc)
end
end
\ No newline at end of file
--·菜月昴·强欲使徒·
local s,id,o=GetID()
function s.initial_effect(c)
aux.AddCodeList(c,17337630,17337750,17337400)
--
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,0))
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_TOGRAVE+CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,id)
e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e1:SetCost(s.revcost)
e1:SetTarget(s.thtg)
e1:SetOperation(s.thop)
c:RegisterEffect(e1)
--
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(id,1))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,id+o)
e2:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e2:SetCost(s.spcost)
e2:SetTarget(s.sptg)
e2:SetOperation(s.spop)
c:RegisterEffect(e2)
--
local e3=Effect.CreateEffect(c)
e3:SetDescription(1153)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_BE_MATERIAL)
e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetCountLimit(1,id+o*2)
e3:SetCondition(s.setcon)
e3:SetTarget(s.settg)
e3:SetOperation(s.setop)
c:RegisterEffect(e3)
end
function s.revcost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return not c:IsPublic() end
Duel.ConfirmCards(1-tp,c)
Duel.ShuffleHand(tp)
end
local function subaru_listed(c)
return aux.IsCodeListed(c,17337400) and not c:IsCode(id) and (c:IsAbleToHand() or c:IsAbleToGrave())
end
function s.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(subaru_listed,tp,LOCATION_DECK,0,1,nil) end
end
function s.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_OPERATECARD)
local g=Duel.SelectMatchingCard(tp,subaru_listed,tp,LOCATION_DECK,0,1,1,nil)
local tc=g:GetFirst()
local check=false
if tc:IsAbleToHand() and (not tc:IsAbleToGrave() or Duel.SelectOption(tp,1190,1191)==0) then
Duel.SendtoHand(tc,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,tc)
check=true
else
Duel.SendtoGrave(tc,REASON_EFFECT)
check=true
end
local c=e:GetHandler()
if check and c:IsRelateToEffect(e) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
and Duel.SelectYesNo(tp,aux.Stringid(id,3)) then
Duel.BreakEffect()
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
end
end
function s.cfilter(c,e,tp)
return c:IsAbleToGraveAsCost() and Duel.IsExistingMatchingCard(s.spfilter,tp,LOCATION_HAND+LOCATION_DECK+LOCATION_GRAVE,0,1,c,e,tp)
end
function s.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(s.cfilter,tp,LOCATION_HAND+LOCATION_ONFIELD,0,1,nil,e,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,s.cfilter,tp,LOCATION_HAND+LOCATION_ONFIELD,0,1,1,nil,e,tp)
Duel.SendtoGrave(g,REASON_COST)
end
function s.spfilter(c,e,tp)
return c:IsType(TYPE_MONSTER) and c:IsCanBeSpecialSummoned(e,0,tp,true,false) and (c:IsCode(17337750) or aux.IsCodeListed(c,17337400))
end
function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(s.spfilter,tp,LOCATION_HAND+LOCATION_DECK+LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND+LOCATION_DECK+LOCATION_GRAVE)
end
function s.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,aux.NecroValleyFilter(s.spfilter),tp,LOCATION_HAND+LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,e,tp)
local tc=g:GetFirst()
if tc then
Duel.SpecialSummon(tc,0,tp,tp,true,false,POS_FACEUP)
end
end
function s.setcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsLocation(LOCATION_GRAVE) and r==REASON_LINK and e:GetHandler():GetReasonCard():IsSetCard(0x5f50)
end
function s.settg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(function(c) return c:IsCode(17337630) and c:IsSSetable() end,tp,LOCATION_DECK,0,1,nil) end
end
function s.setop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET)
local g=Duel.SelectMatchingCard(tp,function(c) return c:IsCode(17337630) and c:IsSSetable() end,tp,LOCATION_DECK,0,1,1,nil)
local tc=g:GetFirst()
if tc then
Duel.SSet(tp,tc)
end
end
\ No newline at end of file
--·罗兹瓦尔·魔力解放·
local s,id,o=GetID()
function s.initial_effect(c)
aux.AddCodeList(c,17337540)
--fusion material
c:EnableReviveLimit()
aux.AddFusionProcMix(c,true,true,s.mfilter1,s.mfilter2,s.mfilter3)
aux.AddContactFusionProcedure(c,aux.FilterBoolFunction(Card.IsReleasable,REASON_SPSUMMON),LOCATION_HAND+LOCATION_MZONE,0,Duel.Release,REASON_SPSUMMON+REASON_MATERIAL)
--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)
e0:SetValue(s.splimit0)
c:RegisterEffect(e0)
--change name
aux.EnableChangeCode(c,17337540,LOCATION_MZONE+LOCATION_GRAVE)
--
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,0))
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCountLimit(1,id)
e1:SetTarget(s.th3tg)
e1:SetOperation(s.th3op)
c:RegisterEffect(e1)
--
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(id,1))
e2:SetCategory(CATEGORY_TOHAND+CATEGORY_TOGRAVE+CATEGORY_REMOVE)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_MZONE)
e2:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e2:SetCost(s.attrcost)
e2:SetOperation(s.attrop)
c:RegisterEffect(e2)
end
function s.mfilter1(c)
return c:IsFusionCode(17337540)
end
function s.mfilter2(c)
return c:IsFusionSetCard(0x5f50) and c:IsFusionType(TYPE_MONSTER)
end
function s.mfilter3(c)
return c:IsFusionSetCard(0x3f50) and c:IsFusionType(TYPE_MONSTER)
end
function s.splimit0(e,se,sp,st)
return not e:GetHandler():IsLocation(LOCATION_EXTRA)
end
function s.poolfilter(c)
return c:IsType(TYPE_MONSTER) and c:IsSetCard(0x5f50,0x3f50) and c:IsAbleToHand()
end
function s.th3tg(e,tp,eg,ep,ev,re,r,rp,chk)
local g=Duel.GetMatchingGroup(s.poolfilter,tp,LOCATION_DECK+LOCATION_GRAVE+LOCATION_REMOVED,0,nil)
if chk==0 then return g:GetClassCount(Card.GetAttribute)>=3 end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,3,tp,LOCATION_DECK+LOCATION_GRAVE+LOCATION_REMOVED)
end
function s.check(g)
return g:GetClassCount(Card.GetAttribute)>=3
end
function s.th3op(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(aux.NecroValleyFilter(s.poolfilter),tp,LOCATION_DECK+LOCATION_GRAVE+LOCATION_REMOVED,0,nil)
local sg=g:SelectSubGroup(tp,s.check,false,3,3,nil)
if #sg==3 then
Duel.SendtoHand(sg,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,sg)
end
end
function s.attrcostfilter(c)
return c:IsType(TYPE_MONSTER) and c:IsDiscardable()
end
function s.attrcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(s.attrcostfilter,tp,LOCATION_HAND,0,2,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DISCARD)
local g=Duel.SelectMatchingCard(tp,s.attrcostfilter,tp,LOCATION_HAND,0,2,2,nil)
e:SetLabelObject(g)
g:KeepAlive()
Duel.SendtoGrave(g,REASON_COST+REASON_DISCARD)
end
function s.filter(c)
return c:IsFaceup() and c:IsSetCard(0x3f50)
end
function s.attrop(e,tp,eg,ep,ev,re,r,rp)
local g=e:GetLabelObject()
local b1=g:IsExists(Card.IsAttribute,1,nil,ATTRIBUTE_WIND) and g:IsExists(Card.IsAttribute,1,nil,ATTRIBUTE_WATER)
and Duel.IsExistingMatchingCard(Card.IsAbleToHand,tp,0,LOCATION_ONFIELD,1,nil)
local b2=g:IsExists(Card.IsAttribute,1,nil,ATTRIBUTE_EARTH) and g:IsExists(Card.IsAttribute,1,nil,ATTRIBUTE_WATER)
and Duel.IsExistingMatchingCard(Card.IsAbleToGrave,tp,0,LOCATION_ONFIELD,1,nil)
local b3=g:IsExists(Card.IsAttribute,1,nil,ATTRIBUTE_FIRE) and g:IsExists(Card.IsAttribute,1,nil,ATTRIBUTE_WIND)
and Duel.IsExistingMatchingCard(Card.IsAbleToRemove,tp,0,LOCATION_ONFIELD,1,nil)
local b4=g:IsExists(Card.IsAttribute,1,nil,ATTRIBUTE_EARTH) and g:IsExists(Card.IsAttribute,1,nil,ATTRIBUTE_LIGHT)
and Duel.IsExistingMatchingCard(s.filter,tp,LOCATION_MZONE,0,1,nil)
local b5=g:IsExists(Card.IsAttribute,1,nil,ATTRIBUTE_FIRE) and g:IsExists(Card.IsAttribute,1,nil,ATTRIBUTE_LIGHT)
and Duel.IsExistingMatchingCard(s.filter,tp,LOCATION_MZONE,0,1,nil)
if g:IsExists(Card.IsAttribute,1,nil,ATTRIBUTE_DARK) and not (b1 or b2 or b3 or b4 or b5) then return false end
if b1 then
local g1=Duel.GetMatchingGroup(Card.IsAbleToHand,tp,0,LOCATION_ONFIELD,nil)
Duel.SendtoHand(g1,nil,REASON_EFFECT)
end
if b2 then
local g2=Duel.GetMatchingGroup(Card.IsAbleToGrave,tp,0,LOCATION_ONFIELD,nil)
Duel.SendtoGrave(g2,REASON_EFFECT)
end
if b3 then
local g3=Duel.GetMatchingGroup(Card.IsAbleToGrave,tp,0,LOCATION_ONFIELD,nil)
Duel.Remove(g3,POS_FACEUP,REASON_EFFECT)
end
if b4 then
local g4=Duel.GetMatchingGroup(s.filter,tp,LOCATION_MZONE,0,nil)
for tc in aux.Next(g4) do
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
e1:SetValue(1)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetDescription(aux.Stringid(id,1))
e2:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
e2:SetProperty(EFFECT_FLAG_CLIENT_HINT)
tc:RegisterEffect(e2)
end
end
if b5 then
local g5=Duel.GetMatchingGroup(s.filter,tp,LOCATION_MZONE,0,nil)
for tc in aux.Next(g5) do
local e4=Effect.CreateEffect(e:GetHandler())
e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetCode(EFFECT_IMMUNE_EFFECT)
e4:SetValue(s.efilter)
e4:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
e4:SetOwnerPlayer(tp)
tc:RegisterEffect(e4)
tc:RegisterFlagEffect(id,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(id,0))
end
end
g:DeleteGroup()
end
function s.efilter(e,re)
return e:GetOwnerPlayer()~=re:GetOwnerPlayer()
end
\ No newline at end of file
--·Re:从零开始的异世界生活·
local s,id,o=GetID()
function s.initial_effect(c)
aux.AddCodeList(c,17337440)
--
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetCode(EFFECT_TRAP_ACT_IN_HAND)
c:RegisterEffect(e0)
--
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,0))
e1:SetCategory(CATEGORY_TODECK+CATEGORY_SPECIAL_SUMMON+CATEGORY_TOHAND)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_CHAINING)
e1:SetCountLimit(1,id+EFFECT_COUNT_CODE_OATH)
e1:SetCondition(s.chcon)
e1:SetTarget(s.acttg)
e1:SetOperation(s.actop)
c:RegisterEffect(e1)
--
local e2=e1:Clone()
e2:SetCode(EVENT_ATTACK_ANNOUNCE)
e2:SetCondition(s.atkcon)
c:RegisterEffect(e2)
--send replace
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EFFECT_SEND_REPLACE)
e3:SetRange(LOCATION_GRAVE)
e3:SetTarget(s.rtg)
e3:SetOperation(s.repop)
e3:SetValue(s.rval)
c:RegisterEffect(e3)
end
function s.filter(c)
return c:IsFaceup() and c:IsSetCard(0x3f50)
end
function s.chcon(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(s.filter,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,nil)
return g:GetClassCount(Card.GetCode)>=10
end
function s.atkcon(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(s.filter,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,nil)
return g:GetClassCount(Card.GetCode)>=10 and Duel.GetAttacker():GetControler()~=tp
end
function s.acttg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
local g=Duel.GetMatchingGroup(aux.NOT(Card.IsStatus),tp,LOCATION_ONFIELD+LOCATION_GRAVE+LOCATION_REMOVED,LOCATION_ONFIELD+LOCATION_GRAVE+LOCATION_REMOVED,nil,STATUS_BATTLE_DESTROYED)
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,#g,0,LOCATION_ONFIELD+LOCATION_GRAVE+LOCATION_REMOVED)
end
function s.exgfilter(c,e,tp)
return c:IsCode(17337440) and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_LINK,tp,false,false) and Duel.GetLocationCountFromEx(tp,tp,nil,c)>0
end
function s.thfilter(c)
return c:IsSetCard(0x3f50) and c:IsAbleToHand()
end
function s.actop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(aux.NOT(Card.IsStatus),tp,LOCATION_ONFIELD+LOCATION_GRAVE+LOCATION_REMOVED,LOCATION_ONFIELD+LOCATION_GRAVE+LOCATION_REMOVED,aux.ExceptThisCard(e),STATUS_BATTLE_DESTROYED)
if aux.NecroValleyNegateCheck(g) then return end
if Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)==0 then return end
local tg=Duel.GetOperatedGroup():Filter(Card.IsLocation,nil,LOCATION_DECK)
if tg:IsExists(Card.IsControler,1,nil,tp) then Duel.ShuffleDeck(tp) end
if tg:IsExists(Card.IsControler,1,nil,1-tp) then Duel.ShuffleDeck(1-tp) end
local b1=Duel.IsExistingMatchingCard(s.exgfilter,tp,LOCATION_EXTRA,0,1,nil,e,tp)
local b2=Duel.IsExistingMatchingCard(s.thfilter,tp,LOCATION_DECK,0,1,nil,e,tp)
if #tg>0 and b1 and b2 and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then
Duel.BreakEffect()
local exg=Duel.GetMatchingGroup(s.exgfilter,tp,LOCATION_EXTRA,0,nil,e,tp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sc=exg:Select(tp,1,1,nil):GetFirst()
if sc and Duel.SpecialSummon(sc,SUMMON_TYPE_LINK,tp,tp,false,false,POS_FACEUP)>0 then
sc:CompleteProcedure()
local thg=Duel.GetMatchingGroup(s.thfilter,tp,LOCATION_DECK,0,nil)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local sg=thg:Select(tp,1,1,nil)
if #sg>0 then
Duel.SendtoHand(sg,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,sg)
end
end
end
end
function s.repfilter(c,tp)
return c:IsControler(tp) and c:IsSetCard(0x5f50) and c:IsLocation(0x04) and c:IsFaceup() and (c:GetDestination()==0x01 or c:GetDestination()==0x02 or c:GetDestination()==0x10 or c:GetDestination(0x20) or c:GetDestination(0x40))
end
function s.rtg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return bit.band(r,REASON_EFFECT)~=0 and eg:IsExists(s.repfilter,1,nil,tp) and c:IsAbleToRemove() end
if Duel.SelectEffectYesNo(tp,c,aux.Stringid(id,0)) then
return true
else return false end
end
function s.repop(e,tp,eg,ep,ev,re,r,rp)
Duel.Remove(e:GetHandler(),POS_FACEUP,REASON_EFFECT)
end
function s.rval(e,c)
return c:IsControler(e:GetHandlerPlayer()) and c:IsSetCard(0x5f50) and c:IsLocation(0x04) and c:IsFaceup()
end
\ No newline at end of file
......@@ -1450,17 +1450,18 @@
!setname 0xdc4 阿尔法兽
#岸彼斐子 173 0xf50-0xf51
!setname 0x3f50 ·EMT阵营·
!setname 0x5f50 ·菜月昴·
!setname 0x3f50 EMT阵营
!setname 0x5f50 菜月昴
!setname 0x6f50 ·艾米莉亚·
!setname 0x9f50 ·帕克·
!setname 0x3f51 ·雷姆·
!setname 0x5f51 ·拉姆·
!setname 0x6f51 ·加菲尔·
!setname 0x9f51 ·贝阿托莉丝·
!setname 0x3f52 ·救世小队·
!setname 0x5f52 ·世界意志·
!setname 0x3f52 救世小队
!setname 0x5f52 世界意志
!setname 0x6f52 思绪
!setname 0x3f53 合辛商会
#锦依卫66ccff 745
!setname 0x745 人偶
......
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