Commit 53908f2f authored by tsubaki's avatar tsubaki

1.999zz

parent 6c541d2a
No preview for this file type
......@@ -7,6 +7,7 @@
#counters
!counter 0x1 魔力指示物
!counter 0x119 盘子指示物
!counter 0x123a 梦魂指示物
!counter 0x223 表情指示物
!counter 0x128a 信仰指示物
!counter 0x128b 魂指示物
......@@ -39,6 +40,8 @@
!setname 0xaa1 三种神器
!setname 0xaa4 蕾蒂
!setname 0xaa5 萃香
!setname 0xaa6 濑笈叶
!setname 0xaa7 叠光
!setname 0x100 灵梦
!setname 0x104e Lost
!setname 0x1011 灵符
......
No preview for this file type
#[1.999zyua HCG][2015.10][2015.4.1][2015.4.1 TCG][2015.1.1][2015.1.1 TCG][2014.10.1][2014.10.1 TCG][2014.7.1][2014.7.14 TCG][2014世界赛][2014.4.1][2014.4.1 TCG][2014.2.1][2014.1.1 TCG][2013.9.1][2013.10.11 TCG][2013.9.1 TCG][2013.3.1][2012.9.1][2012.3.1][2011.9.1][2011.3.1][2010.9.1][2010.3.1][2009.9.1][2009.3.1][2008.9.1][2008.3.1][2007.9.1][2007.3.1][2006.9.1][2006.3.1][2005.9.1][2005.3.1][2004.9.1][2004.3.1][2003.10.15][2003.7.1][2003.4.10][2003.1.1][2002.10.1][2002.1.1][2000.12.1][2000.4.1][1999.8.26]
#[1.999zz HCG][2015.10][2015.4.1][2015.4.1 TCG][2015.1.1][2015.1.1 TCG][2014.10.1][2014.10.1 TCG][2014.7.1][2014.7.14 TCG][2014世界赛][2014.4.1][2014.4.1 TCG][2014.2.1][2014.1.1 TCG][2013.9.1][2013.10.11 TCG][2013.9.1 TCG][2013.3.1][2012.9.1][2012.3.1][2011.9.1][2011.3.1][2010.9.1][2010.3.1][2009.9.1][2009.3.1][2008.9.1][2008.3.1][2007.9.1][2007.3.1][2006.9.1][2006.3.1][2005.9.1][2005.3.1][2004.9.1][2004.3.1][2003.10.15][2003.7.1][2003.4.10][2003.1.1][2002.10.1][2002.1.1][2000.12.1][2000.4.1][1999.8.26]
!1.999zyua HCG
!1.999zz HCG
#limit
23252 0 --暴力取材
14028 2 --BAD APPLE!!
......@@ -13,7 +13,6 @@
--油卡
999701 2 --✿伊吹萃香✿
999019 0 --地底蔷薇✿濑笈叶
999013 0 --水边的幻想 濑笈叶
--AOJ
4031101 1 --可怜
--DPL
......@@ -61,7 +60,6 @@
74561020 2 --女神天子
74561011 2 --暴风文
74561017 1 --盲目的贤者✿格洛丽亚
74562021 0 --月之天使✿萨丽爱尔
--L
--金卡
......@@ -77,6 +75,7 @@
--k
66915002 0 --星曜观星台
66915038 0 --行星女神
66917017 0 --粲星魔女
--C9
20100208 1 --御刀使米露亚
20100227 0 --御刀使夜见
......
pics/14000558.jpg

46.6 KB | W: | H:

pics/14000558.jpg

47.2 KB | W: | H:

pics/14000558.jpg
pics/14000558.jpg
pics/14000558.jpg
pics/14000558.jpg
  • 2-up
  • Swipe
  • Onion skin
pics/14000559.jpg

46 KB | W: | H:

pics/14000559.jpg

46.5 KB | W: | H:

pics/14000559.jpg
pics/14000559.jpg
pics/14000559.jpg
pics/14000559.jpg
  • 2-up
  • Swipe
  • Onion skin
pics/14000560.jpg

42.5 KB | W: | H:

pics/14000560.jpg

43.2 KB | W: | H:

pics/14000560.jpg
pics/14000560.jpg
pics/14000560.jpg
pics/14000560.jpg
  • 2-up
  • Swipe
  • Onion skin
pics/14000561.jpg

45 KB | W: | H:

pics/14000561.jpg

45.7 KB | W: | H:

pics/14000561.jpg
pics/14000561.jpg
pics/14000561.jpg
pics/14000561.jpg
  • 2-up
  • Swipe
  • Onion skin
pics/14000564.jpg

47.5 KB | W: | H:

pics/14000564.jpg

46.6 KB | W: | H:

pics/14000564.jpg
pics/14000564.jpg
pics/14000564.jpg
pics/14000564.jpg
  • 2-up
  • Swipe
  • Onion skin
pics/99999002.jpg

54.5 KB | W: | H:

pics/99999002.jpg

48 KB | W: | H:

pics/99999002.jpg
pics/99999002.jpg
pics/99999002.jpg
pics/99999002.jpg
  • 2-up
  • Swipe
  • Onion skin
......@@ -3,7 +3,6 @@ local m=14000556
local cm=_G["c"..m]
cm.named_with_ReDeath=1
function cm.initial_effect(c)
c:SetSPSummonOnce(m)
--spsummon
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
......@@ -11,6 +10,7 @@ function cm.initial_effect(c)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_HAND+LOCATION_GRAVE)
e1:SetCountLimit(1,m)
e1:SetTarget(cm.sptg)
e1:SetOperation(cm.spop)
c:RegisterEffect(e1)
......
......@@ -20,6 +20,7 @@ function cm.initial_effect(c)
e2:SetRange(LOCATION_SZONE)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetCountLimit(1)
e2:SetCondition(cm.spcon)
e2:SetTarget(cm.sptg)
e2:SetOperation(cm.spop)
c:RegisterEffect(e2)
......@@ -30,14 +31,14 @@ function cm.initial_effect(c)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetProperty(EFFECT_FLAG_CARD_TARGET)
e3:SetRange(LOCATION_HAND+LOCATION_ONFIELD)
e3:SetCountLimit(1,m)
e3:SetCountLimit(1,m+EFFECT_COUNT_CODE_OATH)
e3:SetCost(aux.bfgcost)
e3:SetTarget(cm.sptg1)
e3:SetOperation(cm.spop1)
c:RegisterEffect(e3)
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetProperty(EFFECT_FLAG_SINGLE_RANGE|EFFECT_FLAG_CANNOT_DISABLE)
e4:SetProperty(EFFECT_FLAG_SINGLE_RANGE+EFFECT_FLAG_CANNOT_DISABLE)
e4:SetCode(EFFECT_REMOVE_TYPE)
e4:SetRange(LOCATION_SZONE)
e4:SetValue(TYPE_CONTINUOUS)
......@@ -51,6 +52,9 @@ end
function cm.actlimit(e,te,tp)
return te:IsHasType(EFFECT_TYPE_ACTIVATE) and te:GetHandler():GetOriginalCode()==m
end
function cm.spcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetEquipTarget()
end
function cm.spfilter(c,e,tp)
return cm.ReD(c) and c:IsType(TYPE_MONSTER) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_DEFENSE)
end
......
......@@ -20,6 +20,7 @@ function cm.initial_effect(c)
e2:SetRange(LOCATION_SZONE)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetCountLimit(1)
e2:SetCondition(cm.thcon)
e2:SetTarget(cm.thtg)
e2:SetOperation(cm.thop)
c:RegisterEffect(e2)
......@@ -31,14 +32,13 @@ function cm.initial_effect(c)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetProperty(EFFECT_FLAG_CARD_TARGET)
e3:SetRange(LOCATION_HAND)
e3:SetCountLimit(1,m)
e3:SetCountLimit(1,m+EFFECT_COUNT_CODE_OATH)
e3:SetTarget(cm.eqtg)
e3:SetOperation(cm.eqop)
c:RegisterEffect(e3)
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetProperty(EFFECT_FLAG_SINGLE_RANGE|EFFECT_FLAG_CANNOT_DISABLE)
e4:SetProperty(EFFECT_FLAG_SINGLE_RANGE+EFFECT_FLAG_CANNOT_DISABLE)
e4:SetCode(EFFECT_REMOVE_TYPE)
e4:SetRange(LOCATION_SZONE)
e4:SetValue(TYPE_CONTINUOUS)
......@@ -48,6 +48,9 @@ end
function cm.actlimit(e,te,tp)
return te:IsHasType(EFFECT_TYPE_ACTIVATE) and te:GetHandler():GetOriginalCode()==m
end
function cm.thcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetEquipTarget()
end
function cm.thfilter(c,code)
return c:IsCode(code) and c:IsAbleToHand() and (c:IsFaceup() or c:IsLocation(LOCATION_DECK))
end
......
......@@ -19,6 +19,7 @@ function cm.initial_effect(c)
e2:SetRange(LOCATION_SZONE)
e2:SetCountLimit(1)
e2:SetCost(cm.tgcost)
e2:SetCondition(cm.tgcon)
e2:SetTarget(cm.tgtg)
e2:SetOperation(cm.tgop)
c:RegisterEffect(e2)
......@@ -29,7 +30,7 @@ function cm.initial_effect(c)
e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetProperty(EFFECT_FLAG_CARD_TARGET)
e3:SetRange(LOCATION_HAND+LOCATION_ONFIELD)
e3:SetCountLimit(1,m)
e3:SetCountLimit(1,m+EFFECT_COUNT_CODE_OATH)
e3:SetCost(aux.bfgcost)
e3:SetTarget(cm.thtg)
e3:SetOperation(cm.thop)
......@@ -42,6 +43,9 @@ end
function cm.actlimit(e,te,tp)
return te:IsHasType(EFFECT_TYPE_ACTIVATE) and te:GetHandler():GetOriginalCode()==m
end
function cm.tgcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetEquipTarget()
end
function cm.costfilter(c)
return cm.ReD(c) and c:IsType(TYPE_MONSTER) and not c:IsPublic()
end
......
......@@ -19,6 +19,7 @@ function cm.initial_effect(c)
e2:SetRange(LOCATION_SZONE)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetCountLimit(1)
e2:SetCondition(cm.spcon)
e2:SetTarget(cm.sptg)
e2:SetOperation(cm.spop)
c:RegisterEffect(e2)
......@@ -27,7 +28,7 @@ function cm.initial_effect(c)
e3:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_REMOVE)
e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetRange(LOCATION_HAND+LOCATION_ONFIELD)
e3:SetCountLimit(1,m)
e3:SetCountLimit(1,m+EFFECT_COUNT_CODE_OATH)
e3:SetCost(aux.bfgcost)
e3:SetTarget(cm.rmtg)
e3:SetOperation(cm.rmop)
......@@ -40,6 +41,9 @@ end
function cm.actlimit(e,te,tp)
return te:IsHasType(EFFECT_TYPE_ACTIVATE) and te:GetHandler():GetOriginalCode()==m
end
function cm.spcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetEquipTarget()
end
function cm.spfilter(c,e,tp)
return c:IsRace(RACE_ZOMBIE) and c:IsType(TYPE_MONSTER) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
......
......@@ -9,7 +9,6 @@ function cm.initial_effect(c)
--to grave
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_SEARCH+CATEGORY_TOHAND)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_MZONE)
......@@ -27,9 +26,6 @@ function cm.con(e,tp,eg,ep,ev,re,r,rp)
local ph=Duel.GetCurrentPhase()
return (ph>=PHASE_BATTLE_START and ph<=PHASE_BATTLE)
end
function cm.filter(c)
return c:IsType(TYPE_SPIRIT) and c:IsAbleToHand() and not cm.PP(c)
end
function cm.tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFieldGroupCount(tp,LOCATION_REMOVED,LOCATION_REMOVED)>0 end
local g=Duel.GetFieldGroup(tp,LOCATION_REMOVED,LOCATION_REMOVED)
......
--再起罔晟-唤魂
local m=14000565
local cm=_G["c"..m]
cm.named_with_ReDeath=1
function cm.initial_effect(c)
--special summon
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_REMOVE)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetCountLimit(1,m)
e1:SetRange(LOCATION_MZONE)
e1:SetTarget(cm.sptg)
e1:SetOperation(cm.spop)
c:RegisterEffect(e1)
end
function cm.ReD(c)
local m=_G["c"..c:GetCode()]
return m and m.named_with_ReDeath
end
function cm.filter(c,e,tp)
return c:IsRace(RACE_ZOMBIE) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function cm.rmfilter(c)
return cm.ReD(c) and c:IsAbleToRemove()
end
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_HAND,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND)
if Duel.GetFieldGroupCount(tp,LOCATION_GRAVE,0)==0 then
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,1,tp,LOCATION_DECK)
end
end
function cm.spop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,cm.filter,tp,LOCATION_HAND,0,1,1,nil,e,tp)
if g:GetCount()>0 then
if Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)~=0 and Duel.GetFieldGroupCount(tp,LOCATION_GRAVE,0)==0 and Duel.IsExistingMatchingCard(cm.rmfilter,tp,LOCATION_DECK,0,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(m,1)) then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,cm.rmfilter,tp,LOCATION_DECK,0,1,1,nil)
Duel.Remove(g,POS_FACEUP,REASON_EFFECT)
end
end
end
\ No newline at end of file
--再起罔晟-鬼术
local m=14000566
local cm=_G["c"..m]
cm.named_with_ReDeath=1
function cm.initial_effect(c)
--cannot be activate
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_CANNOT_ACTIVATE)
e1:SetTargetRange(1,1)
e1:SetTarget(cm.actlimit)
Duel.RegisterEffect(e1,tp)
--remove
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(m,0))
e2:SetCategory(CATEGORY_REMOVE+CATEGORY_DRAW)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_SZONE)
e2:SetCountLimit(1)
e2:SetCondition(cm.rmcon)
e2:SetTarget(cm.rmtg)
e2:SetOperation(cm.rmop)
c:RegisterEffect(e2)
--to grave
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(m,1))
e3:SetCategory(CATEGORY_TOGRAVE)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetCode(EVENT_REMOVE)
e3:SetCountLimit(1,m+EFFECT_COUNT_CODE_OATH)
e3:SetTarget(cm.tgtg)
e3:SetOperation(cm.tgop)
c:RegisterEffect(e3)
end
function cm.ReD(c)
local m=_G["c"..c:GetCode()]
return m and m.named_with_ReDeath
end
function cm.actlimit(e,te,tp)
return te:IsHasType(EFFECT_TYPE_ACTIVATE) and te:GetHandler():GetOriginalCode()==m
end
function cm.rmcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetEquipTarget()
end
function cm.rmfilter(c)
return c:IsRace(RACE_ZOMBIE) and c:IsAbleToRemove() and (c:IsFaceup() or c:IsLocation(LOCATION_GRAVE))
end
function cm.rmtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.rmfilter,tp,LOCATION_MZONE+LOCATION_GRAVE,LOCATION_MZONE+LOCATION_GRAVE,1,nil) and Duel.IsPlayerCanDraw(tp,1) end
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,1,tp,LOCATION_GRAVE)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
end
function cm.rmop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.rmfilter),tp,LOCATION_MZONE+LOCATION_GRAVE,LOCATION_MZONE+LOCATION_GRAVE,1,1,nil)
if #g>0 then
if Duel.Remove(g,POS_FACEUP,REASON_EFFECT)~=0 then
Duel.BreakEffect()
Duel.Draw(tp,1,REASON_EFFECT)
end
end
end
function cm.tgfilter(c)
return cm.ReD(c) and c:IsAbleToGrave()
end
function cm.tgtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.tgfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_DECK)
end
function cm.tgop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,cm.tgfilter,tp,LOCATION_DECK,0,1,1,nil)
if #g>0 then
Duel.SendtoGrave(g,REASON_EFFECT)
end
end
\ No newline at end of file
--再起罔晟-回魂
local m=14000567
local cm=_G["c"..m]
cm.named_with_ReDeath=1
function cm.initial_effect(c)
--cannot be activate
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_CANNOT_ACTIVATE)
e1:SetTargetRange(1,1)
e1:SetTarget(cm.actlimit)
Duel.RegisterEffect(e1,tp)
--tograve
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(m,0))
e2:SetCategory(CATEGORY_TOGRAVE+CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_SZONE)
e2:SetCountLimit(1)
e2:SetCondition(cm.tgcon)
e2:SetTarget(cm.tgtg)
e2:SetOperation(cm.tgop)
c:RegisterEffect(e2)
--Equip
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(m,1))
e3:SetCategory(CATEGORY_EQUIP)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetCode(EVENT_REMOVE)
e3:SetCountLimit(1,m+EFFECT_COUNT_CODE_OATH)
e3:SetTarget(cm.eqtg)
e3:SetOperation(cm.eqop)
c:RegisterEffect(e3)
end
function cm.ReD(c)
local m=_G["c"..c:GetCode()]
return m and m.named_with_ReDeath
end
function cm.actlimit(e,te,tp)
return te:IsHasType(EFFECT_TYPE_ACTIVATE) and te:GetHandler():GetOriginalCode()==m
end
function cm.tgcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetEquipTarget()
end
function cm.tgfilter(c)
return not (c:IsRace(RACE_ZOMBIE) or c:IsFaceup()) and c:IsAbleToGrave()
end
function cm.spfilter(c,e,tp)
return not c:IsRace(RACE_ZOMBIE) and c:IsLocation(LOCATION_GRAVE)
and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP,c:GetControler())
end
function cm.tgtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.tgfilter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) end
local g=Duel.GetMatchingGroup(cm.tgfilter,tp,LOCATION_MZONE,LOCATION_MZONE,nil)
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,g,g:GetCount(),0,0)
end
function cm.tgop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=Duel.GetMatchingGroup(cm.tgfilter,tp,LOCATION_MZONE,LOCATION_MZONE,nil)
if #g>0 and Duel.SendtoGrave(g,REASON_EFFECT)~=0 then
local og=Duel.GetOperatedGroup()
local g=og:Filter(cm.spfilter,nil,e,tp)
if #g==0 then return end
for p=0,1 do
local tg=g:Filter(Card.IsControler,nil,p)
local ft=Duel.GetLocationCount(p,LOCATION_MZONE)
if ft>1 and Duel.IsPlayerAffectedByEffect(p,59822133) then ft=1 end
if tg:GetCount()>ft then
tg=tg:Select(tp,ft,ft,nil)
end
for tc in aux.Next(tg) do
Duel.SpecialSummonStep(tc,0,tp,p,false,false,POS_FACEUP)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CHANGE_RACE)
e1:SetValue(RACE_ZOMBIE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1)
end
end
Duel.SpecialSummonComplete()
end
end
function cm.eqfilter(c)
return cm.ReD(c) and c:IsFaceup()
end
function cm.eqlimit(e,c)
return c==e:GetLabelObject()
end
function cm.eqtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.eqfilter,tp,LOCATION_MZONE,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_EQUIP,nil,1,tp,LOCATION_MZONE)
end
function cm.eqop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
local g=Duel.SelectMatchingCard(tp,cm.eqfilter,tp,LOCATION_MZONE,0,1,1,nil)
if #g>0 then
local tc=g:GetFirst()
Duel.Equip(tp,c,tc,true)
local e1=Effect.CreateEffect(c)
e1:SetProperty(EFFECT_FLAG_OWNER_RELATE)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_EQUIP_LIMIT)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetValue(cm.eqlimit)
e1:SetLabelObject(tc)
c:RegisterEffect(e1)
end
end
\ No newline at end of file
--再起罔晟-天灵
local m=14000568
local cm=_G["c"..m]
cm.named_with_ReDeath=1
function cm.initial_effect(c)
--synchro summon
aux.AddSynchroProcedure(c,nil,aux.NonTuner(cm.synfilter),1)
c:EnableReviveLimit()
--negate
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_DISABLE)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1,m)
e1:SetHintTiming(0,TIMING_BATTLE_START+TIMING_BATTLE_END)
e1:SetCondition(cm.con)
e1:SetTarget(cm.tg)
e1:SetOperation(cm.op)
c:RegisterEffect(e1)
end
function cm.synfilter(c)
return c:IsRace(RACE_ZOMBIE)
end
function cm.cfilter(c)
return not c:IsRace(RACE_ZOMBIE) and c:IsFaceup()
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(cm.cfilter,1,nil,tp)
end
function cm.negfilter(c)
return c:IsFaceup() and not c:IsDisabled() and (c:IsType(TYPE_EFFECT) or c:GetOriginalType()&TYPE_EFFECT~=0) and not c:IsRace(RACE_ZOMBIE)
end
function cm.tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.negfilter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) end
local g=Duel.GetMatchingGroup(cm.negfilter,tp,LOCATION_MZONE,LOCATION_MZONE,nil)
Duel.SetOperationInfo(0,CATEGORY_DISABLE,g,g:GetCount(),0,0)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=Duel.GetMatchingGroup(cm.negfilter,tp,LOCATION_MZONE,LOCATION_MZONE,nil)
local tc=g:GetFirst()
while tc do
Duel.NegateRelatedChain(tc,RESET_TURN_SET)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_DISABLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_DISABLE_EFFECT)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetReset(RESET_EVENT+RESETS_STANDARD)
e2:SetValue(RESET_TURN_SET)
tc:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_CHANGE_RACE)
e3:SetValue(RACE_ZOMBIE)
e3:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e3)
tc=g:GetNext()
end
end
--再起罔晟-太岁
local m=14000569
local cm=_G["c"..m]
cm.named_with_ReDeath=1
function cm.initial_effect(c)
--special summon
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOHAND)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetRange(LOCATION_HAND+LOCATION_GRAVE)
e1:SetCountLimit(1,m)
e1:SetCondition(cm.spcon)
e1:SetTarget(cm.sptg)
e1:SetOperation(cm.spop)
c:RegisterEffect(e1)
end
function cm.ReD(c)
local m=_G["c"..c:GetCode()]
return m and m.named_with_ReDeath
end
function cm.spfilter(c,tp)
return c:IsFaceup() and c:IsType(TYPE_SYNCHRO)
and c:IsSummonType(SUMMON_TYPE_SYNCHRO) and c:IsControler(tp)
end
function cm.thfilter(c)
return c:IsFaceup() and cm.ReD(c)
end
function cm.spcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(cm.spfilter,1,nil,tp)
end
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,0,LOCATION_REMOVED)
end
function cm.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)~=0 and Duel.IsExistingMatchingCard(cm.thfilter,tp,LOCATION_REMOVED,0,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(m,1)) then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RTOHAND)
local g=Duel.SelectMatchingCard(tp,cm.thfilter,tp,LOCATION_REMOVED,0,1,1,nil)
if #g>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
end
end
end
\ No newline at end of file
This diff is collapsed.
......@@ -15,7 +15,7 @@ function c20197.cfilter(c)
return c:IsSetCard(0x713) and c:GetEquipGroup():IsExists(Card.IsSetCard,1,nil,0x201)
end
function c20197.filter(c)
return c:GetSequence()<5
return c:IsType(TYPE_SPELL+TYPE_TRAP)
end
function c20197.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local bns=1
......@@ -24,12 +24,12 @@ function c20197.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if bns==2 then
return false
else
return chkc:IsLocation(LOCATION_SZONE) and chkc:IsControler(1-tp) and c20197.filter(chkc) and chkc~=e:GetHandler()
return chkc:IsLocation(LOCATION_ONFIELD) and chkc:IsControler(1-tp) and c20197.filter(chkc) and chkc~=e:GetHandler()
end
end
if chk==0 then return Duel.IsExistingTarget(c20197.filter,tp,0,LOCATION_SZONE,bns,e:GetHandler()) end
if chk==0 then return Duel.IsExistingTarget(c20197.filter,tp,0,LOCATION_ONFIELD,bns,e:GetHandler()) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g=Duel.SelectTarget(tp,c20197.filter,tp,0,LOCATION_SZONE,bns,bns,e:GetHandler())
local g=Duel.SelectTarget(tp,c20197.filter,tp,0,LOCATION_ONFIELD,bns,bns,e:GetHandler())
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,bns,0,0)
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,1-tp,bns*500)
end
......
......@@ -4,7 +4,7 @@ function c20201.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(20201,0))
e1:SetCategory(CATEGORY_TOHAND)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DAMAGE_STEP)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_TO_GRAVE)
e1:SetTarget(c20201.tgtg)
......
--白玉潇潇✿魂魄妖梦
function c20229.initial_effect(c)
--synchro summon
aux.AddSynchroProcedure(c,nil,aux.NonTuner(Card.IsSetCard,0x208),1)
c:EnableReviveLimit()
--synchro summon
local e0=Effect.CreateEffect(c)
e0:SetDescription(aux.Stringid(20229,0))
e0:SetType(EFFECT_TYPE_FIELD)
e0:SetCode(EFFECT_SPSUMMON_PROC)
e0:SetProperty(EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_IGNORE_IMMUNE)
e0:SetRange(LOCATION_EXTRA)
e0:SetCondition(c20229.spcon)
e0:SetOperation(c20229.spop)
e0:SetValue(SUMMON_TYPE_SYNCHRO)
c:RegisterEffect(e0)
--wan jian gui zong !
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(20229,1))
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_GRAVE)
e1:SetCost(c20229.cost)
e1:SetTarget(c20229.eqtg)
e1:SetOperation(c20229.eqop)
c:RegisterEffect(e1)
--tohand
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(20229,2))
e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetProperty(EFFECT_FLAG_CARD_TARGET)
e3:SetCategory(CATEGORY_TOHAND)
e3:SetCode(EVENT_TO_GRAVE)
e3:SetRange(LOCATION_MZONE+LOCATION_GRAVE)
e3:SetCountLimit(1,20229)
e3:SetTarget(c20229.sptg2)
e3:SetOperation(c20229.spop2)
c:RegisterEffect(e3)
end
function c20229.sprfilter1(c,tp,syn)
return c:IsFaceup() and c:IsType(TYPE_TUNER) and c:GetSynchroLevel(syn)==2
and Duel.IsExistingMatchingCard(c20229.sprfilter2,tp,LOCATION_MZONE,0,1,c,syn) and c:IsCanBeSynchroMaterial(syn)
end
function c20229.sprfilter2(c,syn)
return c:IsFaceup() and c:IsType(TYPE_LINK) and c:IsSetCard(0x713)
end
function c20229.spcon(e,c)
if c==nil then return true end
local tp=c:GetControler()
return Duel.GetLocationCount(tp,LOCATION_MZONE)>-2
and Duel.IsExistingMatchingCard(c20229.sprfilter1,tp,LOCATION_MZONE,0,1,nil,tp,c)
end
function c20229.spop(e,tp,eg,ep,ev,re,r,rp,c)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g1=Duel.SelectMatchingCard(tp,c20229.sprfilter1,tp,LOCATION_MZONE,0,1,1,nil,tp,c)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g2=Duel.SelectMatchingCard(tp,c20229.sprfilter2,tp,LOCATION_MZONE,0,1,1,g1,c)
g1:Merge(g2)
Duel.SendtoGrave(g1,REASON_COST+REASON_SYNCHRO)
c:SetMaterial(g1)
c:CompleteProcedure()
end
function c20229.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToRemoveAsCost() end
Duel.Remove(e:GetHandler(),POS_FACEUP,REASON_COST)
end
function c20229.eqfilter(c,ec)
return c:IsType(TYPE_EQUIP) and c:GetEquipTarget() and c:GetEquipTarget()~=ec and c:CheckEquipTarget(ec)
end
function c20229.gsfilter(c,tp)
return c:IsFaceup() and Duel.IsExistingMatchingCard(c20229.eqfilter,tp,LOCATION_SZONE,0,1,nil,c)
end
function c20229.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and c20229.gsfilter(chkc) end
if chk==0 then return Duel.IsExistingTarget(c20229.gsfilter,tp,LOCATION_MZONE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
Duel.SelectTarget(tp,c20229.gsfilter,tp,LOCATION_MZONE,0,1,1,nil)
end
function c20229.eqop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and tc:IsFaceup() then
local sg=Duel.SelectMatchingCard(tp, c20229.eqfilter, tp, LOCATION_SZONE, LOCATION_SZONE, 1, 12, nil, tc)
local ec=sg:GetFirst()
while ec and ec:CheckEquipTarget(tc) do
Duel.Equip(tp,ec,tc)
ec=sg:GetNext()
end
end
end
function c20229.cfilter2(c)
return c:IsReason(REASON_DESTROY) and (c:IsSetCard(0x713) or c:IsSetCard(0x201)) and c:IsAbleToHand()
end
function c20229.sptg2(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and c20229.cfilter2(chkc) end
if chk==0 then return Duel.IsExistingTarget(c20229.cfilter2,tp,LOCATION_GRAVE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectTarget(tp,c20229.cfilter2,tp,LOCATION_GRAVE,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,g,1,0,0)
end
function c20229.spop2(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then
Duel.SendtoHand(tc,nil,REASON_EFFECT)
end
end
......@@ -2,8 +2,7 @@
function c22234.initial_effect(c)
--fusion material
c:EnableReviveLimit()
Fus.AddFusionProcFunMulti(c,true,aux.FilterBoolFunction(Card.IsFusionAttribute,ATTRIBUTE_EARTH),aux.FilterBoolFunction(Card.IsFusionAttribute,ATTRIBUTE_LIGHT),
c22234.mfilter1)
Fus.AddFusionProcFunMulti(c,true,c22234.mfilter3,c22234.mfilter2,c22234.mfilter1)
--to hand
local e5=Effect.CreateEffect(c)
e5:SetDescription(aux.Stringid(22234,0))
......@@ -46,6 +45,12 @@ end
function c22234.mfilter1(c)
return c:IsRace(RACE_SPELLCASTER)
end
function c22234.mfilter2(c)
return c:IsAttribute(ATTRIBUTE_LIGHT) or (c:IsOriginalCodeRule(22161) and Duel.IsPlayerAffectedByEffect(c:GetControler(),22249))
end
function c22234.mfilter3(c)
return c:IsAttribute(ATTRIBUTE_EARTH) or (c:IsOriginalCodeRule(22135) and Duel.IsPlayerAffectedByEffect(c:GetControler(),22249))
end
function c22234.filter(c)
return c:IsSetCard(0xb046) and c:IsAbleToHand()
end
......
......@@ -2,7 +2,7 @@
function c22236.initial_effect(c)
--fusion material
c:EnableReviveLimit()
Fus.AddFusionProcFunMulti(c,true,aux.FilterBoolFunction(Card.IsFusionAttribute,ATTRIBUTE_EARTH),aux.FilterBoolFunction(Card.IsFusionAttribute,ATTRIBUTE_DARK),
Fus.AddFusionProcFunMulti(c,true,c22236.mfilter3,c22236.mfilter2,
c22236.mfilter1)
--search
local e1=Effect.CreateEffect(c)
......@@ -43,6 +43,12 @@ end
function c22236.mfilter1(c)
return c:IsRace(RACE_SPELLCASTER)
end
function c22236.mfilter2(c)
return c:IsAttribute(ATTRIBUTE_DARK) or (c:IsOriginalCodeRule(22162) and Duel.IsPlayerAffectedByEffect(c:GetControler(),22249))
end
function c22236.mfilter3(c)
return c:IsAttribute(ATTRIBUTE_EARTH) or (c:IsOriginalCodeRule(22135) and Duel.IsPlayerAffectedByEffect(c:GetControler(),22249))
end
function c22236.thfilter1(c)
return c:IsSetCard(0xb046) and c:IsAbleToHand()
end
......
......@@ -2,8 +2,7 @@
function c22238.initial_effect(c)
--fusion material
c:EnableReviveLimit()
Fus.AddFusionProcFunMulti(c,true,aux.FilterBoolFunction(Card.IsFusionAttribute,ATTRIBUTE_WATER),aux.FilterBoolFunction(Card.IsFusionAttribute,ATTRIBUTE_FIRE),
aux.FilterBoolFunction(Card.IsFusionAttribute,ATTRIBUTE_WIND))
Fus.AddFusionProcFunMulti(c,true,c22238.mfilter1,c22238.mfilter2,c22238.mfilter3)
--tohand
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(22238,0))
......@@ -38,6 +37,17 @@ function c22238.initial_effect(c)
e5:SetOperation(c22238.operation1)
c:RegisterEffect(e5)
end
--
function c22238.mfilter1(c)
return c:IsAttribute(ATTRIBUTE_WIND) or (c:IsOriginalCodeRule(22133) and Duel.IsPlayerAffectedByEffect(c:GetControler(),22249))
end
function c22238.mfilter2(c)
return c:IsAttribute(ATTRIBUTE_WATER) or (c:IsOriginalCodeRule(22132) and Duel.IsPlayerAffectedByEffect(c:GetControler(),22249))
end
function c22238.mfilter3(c)
return c:IsAttribute(ATTRIBUTE_FIRE) or (c:IsOriginalCodeRule(22131,22191) and Duel.IsPlayerAffectedByEffect(c:GetControler(),22249))
end
--
function c22238.filters(c)
return c:IsFaceup() and c:IsAbleToHand() and c:IsType(TYPE_SPELL)
end
......
......@@ -2,8 +2,8 @@
function c22240.initial_effect(c)
--fusion material
c:EnableReviveLimit()
Fus.AddFusionProcFunMulti(c,true,aux.FilterBoolFunction(Card.IsFusionAttribute,ATTRIBUTE_LIGHT),aux.FilterBoolFunction(Card.IsFusionAttribute,ATTRIBUTE_DARK),
aux.FilterBoolFunction(Card.IsFusionAttribute,ATTRIBUTE_WIND))
Fus.AddFusionProcFunMulti(c,true,c22240.mfilter1,c22240.mfilter2,
c22240.mfilter3)
--to hand
local e5=Effect.CreateEffect(c)
e5:SetDescription(aux.Stringid(22240,0))
......@@ -37,6 +37,17 @@ function c22240.initial_effect(c)
e6:SetValue(c22240.efilter)
c:RegisterEffect(e6)
end
--
function c22240.mfilter1(c)
return c:IsAttribute(ATTRIBUTE_DARK) or (c:IsOriginalCodeRule(22162) and Duel.IsPlayerAffectedByEffect(c:GetControler(),22249))
end
function c22240.mfilter2(c)
return c:IsAttribute(ATTRIBUTE_LIGHT) or (c:IsOriginalCodeRule(22161) and Duel.IsPlayerAffectedByEffect(c:GetControler(),22249))
end
function c22240.mfilter3(c)
return c:IsAttribute(ATTRIBUTE_WIND) or (c:IsOriginalCodeRule(22133) and Duel.IsPlayerAffectedByEffect(c:GetControler(),22249))
end
--
function c22240.filter(c)
return c:IsSetCard(0xb046) and c:IsAbleToHand()
end
......
......@@ -19,15 +19,79 @@ function c22249.initial_effect(c)
c:RegisterEffect(e2)
end
function c22249.filter0(c)
return c:IsCanBeFusionMaterial() and c:IsAbleToGrave() and c:IsAttribute(ATTRIBUTE_DARK+ATTRIBUTE_WATER+ATTRIBUTE_FIRE)
return c:IsCanBeFusionMaterial() and c:IsAbleToGrave() and ((c:IsAttribute(ATTRIBUTE_DARK+ATTRIBUTE_WATER+ATTRIBUTE_FIRE) and c:IsType(TYPE_MONSTER)) or c:IsOriginalSetCard(0x178,0x179,0x184))
end
function c22249.filter00(c)
return c:IsCanBeFusionMaterial() and c:IsAbleToGrave() and c:IsOriginalSetCard(0x178,0x179,0x180,0x181,0x182,0x183,0x184)
end
function c22249.filter1(c,e)
return not c:IsImmuneToEffect(e)
end
function c22249.filter2(c,e,tp,m,f,chkf)
return c:IsType(TYPE_FUSION) and c:IsSetCard(0x811)
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false) and c:CheckFusionMaterial(m,nil,chkf)
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false) and c:CheckFusionMaterial(m,nil,chkf)
end
--
function c22249.filter3(c)
return c:IsCanBeFusionMaterial() and c:IsAbleToGrave()
end
--
function c22249.tsfilter00(c,e,tp,m,f,chkf,exg)
return c:IsType(TYPE_FUSION) and c:IsOriginalCodeRule(22234)
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false)
end
function c22249.tsfilter01(c)
return (((c:IsRace(RACE_SPELLCASTER) and c:IsType(TYPE_MONSTER)) and not c:IsLocation(LOCATION_DECK)) or (c:IsRace(RACE_SPELLCASTER) and c:IsType(TYPE_MONSTER) and c:IsAttribute(ATTRIBUTE_DARK+ATTRIBUTE_FIRE+ATTRIBUTE_WATER))) and Duel.GetLocationCountFromEx(c:GetControler(),c:GetControler(),c,TYPE_FUSION)>0 and Duel.IsExistingMatchingCard(c22249.tsfilter02,c:GetControler(),LOCATION_HAND+LOCATION_ONFIELD,0,1,c) and Duel.IsExistingMatchingCard(c22249.tsfilter03,c:GetControler(),LOCATION_HAND+LOCATION_ONFIELD,0,1,c)
end
function c22249.tsfilter02(c)
return ((c:IsAttribute(ATTRIBUTE_LIGHT) and c:IsType(TYPE_MONSTER)) or c:IsOriginalSetCard(0x183)) and Duel.GetLocationCountFromEx(c:GetControler(),c:GetControler(),c,TYPE_FUSION)>0 and Duel.IsExistingMatchingCard(c22249.tsfilter13,c:GetControler(),LOCATION_HAND+LOCATION_ONFIELD,0,1,c)
end
function c22249.tsfilter03(c)
return ((c:IsAttribute(ATTRIBUTE_EARTH) and c:IsType(TYPE_MONSTER)) or c:IsOriginalSetCard(0x182)) and Duel.GetLocationCountFromEx(c:GetControler(),c:GetControler(),c,TYPE_FUSION)>0
end
--
function c22249.tsfilter10(c,e,tp,m,f,chkf,exg)
return c:IsType(TYPE_FUSION) and c:IsOriginalCodeRule(22236)
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false)
end
function c22249.tsfilter11(c)
return (((c:IsRace(RACE_SPELLCASTER) and c:IsType(TYPE_MONSTER)) and not c:IsLocation(LOCATION_DECK)) or (c:IsRace(RACE_SPELLCASTER) and c:IsType(TYPE_MONSTER) and c:IsAttribute(ATTRIBUTE_DARK+ATTRIBUTE_FIRE+ATTRIBUTE_WATER))) and Duel.GetLocationCountFromEx(c:GetControler(),c:GetControler(),c,TYPE_FUSION)>0 and Duel.IsExistingMatchingCard(c22249.tsfilter12,c:GetControler(),LOCATION_HAND+LOCATION_DECK+LOCATION_ONFIELD,0,1,c) and Duel.IsExistingMatchingCard(c22249.tsfilter13,c:GetControler(),LOCATION_HAND+LOCATION_ONFIELD,0,1,c)
end
function c22249.tsfilter12(c)
return ((c:IsAttribute(ATTRIBUTE_DARK) and c:IsType(TYPE_MONSTER))or c:IsOriginalSetCard(0x184)) and Duel.GetLocationCountFromEx(c:GetControler(),c:GetControler(),c,TYPE_FUSION)>0 and Duel.IsExistingMatchingCard(c22249.tsfilter13,c:GetControler(),LOCATION_HAND+LOCATION_ONFIELD,0,1,c)
end
function c22249.tsfilter13(c)
return ((c:IsAttribute(ATTRIBUTE_EARTH) and c:IsType(TYPE_MONSTER)) or c:IsOriginalSetCard(0x182)) and Duel.GetLocationCountFromEx(c:GetControler(),c:GetControler(),c,TYPE_FUSION)>0
end
--
function c22249.tsfilter20(c,e,tp,m,f,chkf,exg)
return c:IsType(TYPE_FUSION) and c:IsOriginalCodeRule(22238)
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false)
end
function c22249.tsfilter21(c)
return ((c:IsAttribute(ATTRIBUTE_WIND) and c:IsType(TYPE_MONSTER)) or c:IsOriginalSetCard(0x180)) and not c:IsLocation(LOCATION_DECK) and Duel.GetLocationCountFromEx(c:GetControler(),c:GetControler(),c,TYPE_FUSION)>0 and Duel.IsExistingMatchingCard(c22249.tsfilter22,c:GetControler(),LOCATION_HAND+LOCATION_DECK+LOCATION_ONFIELD,0,1,c) and Duel.IsExistingMatchingCard(c22249.tsfilter23,c:GetControler(),LOCATION_HAND+LOCATION_DECK+LOCATION_ONFIELD,0,1,c)
end
function c22249.tsfilter22(c)
return ((c:IsAttribute(ATTRIBUTE_WATER) and c:IsType(TYPE_MONSTER)) or c:IsOriginalSetCard(0x179)) and Duel.GetLocationCountFromEx(c:GetControler(),c:GetControler(),c,TYPE_FUSION)>0 and Duel.IsExistingMatchingCard(c22249.tsfilter23,c:GetControler(),LOCATION_HAND+LOCATION_DECK+LOCATION_ONFIELD,0,1,c)
end
function c22249.tsfilter23(c)
return ((c:IsAttribute(ATTRIBUTE_FIRE) and c:IsType(TYPE_MONSTER)) or c:IsOriginalSetCard(0x178)) and Duel.GetLocationCountFromEx(c:GetControler(),c:GetControler(),c,TYPE_FUSION)>0
end
--
function c22249.tsfilter30(c,e,tp,m,f,chkf,exg)
return c:IsType(TYPE_FUSION) and c:IsOriginalCodeRule(22240)
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false)
end
function c22249.tsfilter31(c)
return((c:IsAttribute(ATTRIBUTE_WIND) and c:IsType(TYPE_MONSTER)) or c:IsOriginalSetCard(0x180)) and not c:IsLocation(LOCATION_DECK) and Duel.GetLocationCountFromEx(c:GetControler(),c:GetControler(),c,TYPE_FUSION)>0 and Duel.IsExistingMatchingCard(c22249.tsfilter32,c:GetControler(),LOCATION_HAND+LOCATION_DECK+LOCATION_ONFIELD,0,1,c) and Duel.IsExistingMatchingCard(c22249.tsfilter33,c:GetControler(),LOCATION_HAND+LOCATION_ONFIELD,0,1,c)
end
function c22249.tsfilter32(c)
return ((c:IsAttribute(ATTRIBUTE_DARK) and c:IsType(TYPE_MONSTER))or c:IsOriginalSetCard(0x184)) and Duel.GetLocationCountFromEx(c:GetControler(),c:GetControler(),c,TYPE_FUSION)>0 and Duel.IsExistingMatchingCard(c22249.tsfilter33,c:GetControler(),LOCATION_HAND+LOCATION_ONFIELD,0,1,c)
end
function c22249.tsfilter33(c)
return ((c:IsAttribute(ATTRIBUTE_LIGHT) and c:IsType(TYPE_MONSTER)) or c:IsOriginalSetCard(0x183)) and Duel.GetLocationCountFromEx(c:GetControler(),c:GetControler(),c,TYPE_FUSION)>0
end
--
function c22249.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
local chkf=tp
......@@ -35,7 +99,12 @@ function c22249.target(e,tp,eg,ep,ev,re,r,rp,chk)
local mg2=Duel.GetMatchingGroup(c22249.filter0,tp,LOCATION_DECK,0,nil)
mg1:Merge(mg2)
local res=Duel.IsExistingMatchingCard(c22249.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf)
if not res then
local exg=Duel.GetMatchingGroup(c22249.filter3,tp,LOCATION_HAND+LOCATION_ONFIELD+LOCATION_DECK,0,nil)
local res0=exg:IsExists(c22249.tsfilter01,1,nil) and Duel.IsExistingMatchingCard(c22249.tsfilter00,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf)
local res1=exg:IsExists(c22249.tsfilter11,1,nil) and Duel.IsExistingMatchingCard(c22249.tsfilter10,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf)
local res2=exg:IsExists(c22249.tsfilter21,1,nil) and Duel.IsExistingMatchingCard(c22249.tsfilter20,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf)
local res3=exg:IsExists(c22249.tsfilter31,1,nil) and Duel.IsExistingMatchingCard(c22249.tsfilter30,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf)
if not (res or res0 or res1 or res2 or res3) then
local ce=Duel.GetChainMaterial(tp)
if ce~=nil then
local fgroup=ce:GetTarget()
......@@ -44,15 +113,25 @@ function c22249.target(e,tp,eg,ep,ev,re,r,rp,chk)
res=Duel.IsExistingMatchingCard(c22249.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg2,mf,chkf)
end
end
return res
return res or res0 or res1 or res2 or res3
end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end
function c22249.activate(e,tp,eg,ep,ev,re,r,rp)
--effect flag
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(22249)
e1:SetTargetRange(1,0)
Duel.RegisterEffect(e1,tp)
--
local chkf=tp
local mg1=Duel.GetFusionMaterial(tp):Filter(c22249.filter1,nil,e)
local mg2=Duel.GetMatchingGroup(c22249.filter0,tp,LOCATION_DECK,0,nil)
mg1:Merge(mg2)
local exg=Duel.GetMatchingGroup(c22249.filter00,tp,LOCATION_HAND+LOCATION_ONFIELD,0,nil)
mg1:Merge(exg)
local sg1=Duel.GetMatchingGroup(c22249.filter2,tp,LOCATION_EXTRA,0,nil,e,tp,mg1,nil,chkf)
local mg3=nil
local sg2=nil
......@@ -82,6 +161,8 @@ function c22249.activate(e,tp,eg,ep,ev,re,r,rp)
end
tc:CompleteProcedure()
end
--flag reset
e1:Reset()
end
function c22249.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToRemoveAsCost() end
......
......@@ -19,7 +19,10 @@ function c22250.initial_effect(c)
c:RegisterEffect(e2)
end
function c22250.filter0(c)
return c:IsCanBeFusionMaterial() and c:IsAbleToGrave() and c:IsAttribute(ATTRIBUTE_EARTH+ATTRIBUTE_FIRE)
return c:IsCanBeFusionMaterial() and c:IsAbleToGrave() and ((c:IsAttribute(ATTRIBUTE_EARTH+ATTRIBUTE_FIRE) and c:IsType(TYPE_MONSTER)) or c:IsOriginalSetCard(0x178,0x182))
end
function c22250.filter00(c)
return c:IsCanBeFusionMaterial() and c:IsAbleToGrave() and c:IsOriginalSetCard(0x178,0x179,0x180,0x181,0x182,0x183,0x184)
end
function c22250.filter1(c,e)
return not c:IsImmuneToEffect(e)
......@@ -28,6 +31,66 @@ function c22250.filter2(c,e,tp,m,f,chkf)
return c:IsType(TYPE_FUSION) and c:IsSetCard(0x811)
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false) and c:CheckFusionMaterial(m,nil,chkf)
end
function c22250.filter3(c)
return c:IsCanBeFusionMaterial() and c:IsAbleToGrave()
end
--
function c22250.tsfilter00(c,e,tp,m,f,chkf,exg)
return c:IsType(TYPE_FUSION) and c:IsOriginalCodeRule(22234)
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false)
end
function c22250.tsfilter01(c)
return (((c:IsRace(RACE_SPELLCASTER) and c:IsType(TYPE_MONSTER)) and not c:IsLocation(LOCATION_DECK)) or (c:IsRace(RACE_SPELLCASTER) and c:IsType(TYPE_MONSTER) and c:IsAttribute(ATTRIBUTE_FIRE+ATTRIBUTE_EARTH))) and Duel.GetLocationCountFromEx(c:GetControler(),c:GetControler(),c,TYPE_FUSION)>0 and Duel.IsExistingMatchingCard(c22250.tsfilter02,c:GetControler(),LOCATION_HAND+LOCATION_ONFIELD,0,1,c) and Duel.IsExistingMatchingCard(c22250.tsfilter03,c:GetControler(),LOCATION_HAND+LOCATION_ONFIELD+LOCATION_DECK,0,1,c)
end
function c22250.tsfilter02(c)
return ((c:IsAttribute(ATTRIBUTE_LIGHT) and c:IsType(TYPE_MONSTER)) or c:IsOriginalSetCard(0x183)) and Duel.GetLocationCountFromEx(c:GetControler(),c:GetControler(),c,TYPE_FUSION)>0 and Duel.IsExistingMatchingCard(c22250.tsfilter13,c:GetControler(),LOCATION_HAND+LOCATION_ONFIELD+LOCATION_DECK,0,1,c)
end
function c22250.tsfilter03(c)
return ((c:IsAttribute(ATTRIBUTE_EARTH) and c:IsType(TYPE_MONSTER)) or c:IsOriginalSetCard(0x182)) and Duel.GetLocationCountFromEx(c:GetControler(),c:GetControler(),c,TYPE_FUSION)>0
end
--
function c22250.tsfilter10(c,e,tp,m,f,chkf,exg)
return c:IsType(TYPE_FUSION) and c:IsOriginalCodeRule(22236)
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false)
end
function c22250.tsfilter11(c)
return (((c:IsRace(RACE_SPELLCASTER) and c:IsType(TYPE_MONSTER)) and not c:IsLocation(LOCATION_DECK)) or (c:IsRace(RACE_SPELLCASTER) and c:IsType(TYPE_MONSTER) and c:IsAttribute(ATTRIBUTE_EARTH+ATTRIBUTE_FIRE))) and Duel.GetLocationCountFromEx(c:GetControler(),c:GetControler(),c,TYPE_FUSION)>0 and Duel.IsExistingMatchingCard(c22250.tsfilter12,c:GetControler(),LOCATION_HAND+LOCATION_ONFIELD,0,1,c) and Duel.IsExistingMatchingCard(c22250.tsfilter13,c:GetControler(),LOCATION_HAND+LOCATION_ONFIELD+LOCATION_DECK,0,1,c)
end
function c22250.tsfilter12(c)
return ((c:IsAttribute(ATTRIBUTE_DARK) and c:IsType(TYPE_MONSTER))or c:IsOriginalSetCard(0x184)) and Duel.GetLocationCountFromEx(c:GetControler(),c:GetControler(),c,TYPE_FUSION)>0 and Duel.IsExistingMatchingCard(c22250.tsfilter13,c:GetControler(),LOCATION_HAND+LOCATION_ONFIELD+LOCATION_DECK,0,1,c)
end
function c22250.tsfilter13(c)
return ((c:IsAttribute(ATTRIBUTE_EARTH) and c:IsType(TYPE_MONSTER)) or c:IsOriginalSetCard(0x182)) and Duel.GetLocationCountFromEx(c:GetControler(),c:GetControler(),c,TYPE_FUSION)>0
end
--
function c22250.tsfilter20(c,e,tp,m,f,chkf,exg)
return c:IsType(TYPE_FUSION) and c:IsOriginalCodeRule(22238)
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false)
end
function c22250.tsfilter21(c)
return ((c:IsAttribute(ATTRIBUTE_WIND) and c:IsType(TYPE_MONSTER)) or c:IsOriginalSetCard(0x180)) and not c:IsLocation(LOCATION_DECK) and Duel.GetLocationCountFromEx(c:GetControler(),c:GetControler(),c,TYPE_FUSION)>0 and Duel.IsExistingMatchingCard(c22250.tsfilter22,c:GetControler(),LOCATION_HAND+LOCATION_ONFIELD,0,1,c) and Duel.IsExistingMatchingCard(c22250.tsfilter23,c:GetControler(),LOCATION_HAND+LOCATION_DECK+LOCATION_ONFIELD,0,1,c)
end
function c22250.tsfilter22(c)
return ((c:IsAttribute(ATTRIBUTE_WATER) and c:IsType(TYPE_MONSTER)) or c:IsOriginalSetCard(0x179)) and Duel.GetLocationCountFromEx(c:GetControler(),c:GetControler(),c,TYPE_FUSION)>0 and Duel.IsExistingMatchingCard(c22250.tsfilter23,c:GetControler(),LOCATION_HAND+LOCATION_DECK+LOCATION_ONFIELD,0,1,c)
end
function c22250.tsfilter23(c)
return ((c:IsAttribute(ATTRIBUTE_FIRE) and c:IsType(TYPE_MONSTER)) or c:IsOriginalSetCard(0x178)) and Duel.GetLocationCountFromEx(c:GetControler(),c:GetControler(),c,TYPE_FUSION)>0
end
--
function c22250.tsfilter30(c,e,tp,m,f,chkf,exg)
return c:IsType(TYPE_FUSION) and c:IsOriginalCodeRule(22240)
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false)
end
function c22250.tsfilter31(c)
return((c:IsAttribute(ATTRIBUTE_WIND) and c:IsType(TYPE_MONSTER)) or c:IsOriginalSetCard(0x180)) and not c:IsLocation(LOCATION_DECK) and Duel.GetLocationCountFromEx(c:GetControler(),c:GetControler(),c,TYPE_FUSION)>0 and Duel.IsExistingMatchingCard(c22250.tsfilter32,c:GetControler(),LOCATION_HAND+LOCATION_ONFIELD,0,1,c) and Duel.IsExistingMatchingCard(c22250.tsfilter33,c:GetControler(),LOCATION_HAND+LOCATION_ONFIELD,0,1,c)
end
function c22250.tsfilter32(c)
return ((c:IsAttribute(ATTRIBUTE_DARK) and c:IsType(TYPE_MONSTER))or c:IsOriginalSetCard(0x184)) and Duel.GetLocationCountFromEx(c:GetControler(),c:GetControler(),c,TYPE_FUSION)>0 and Duel.IsExistingMatchingCard(c22250.tsfilter33,c:GetControler(),LOCATION_HAND+LOCATION_ONFIELD,0,1,c)
end
function c22250.tsfilter33(c)
return ((c:IsAttribute(ATTRIBUTE_LIGHT) and c:IsType(TYPE_MONSTER)) or c:IsOriginalSetCard(0x183)) and Duel.GetLocationCountFromEx(c:GetControler(),c:GetControler(),c,TYPE_FUSION)>0
end
--
function c22250.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
local chkf=tp
......@@ -35,7 +98,12 @@ function c22250.target(e,tp,eg,ep,ev,re,r,rp,chk)
local mg2=Duel.GetMatchingGroup(c22250.filter0,tp,LOCATION_DECK,0,nil)
mg1:Merge(mg2)
local res=Duel.IsExistingMatchingCard(c22250.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf)
if not res then
local exg=Duel.GetMatchingGroup(c22250.filter3,tp,LOCATION_HAND+LOCATION_ONFIELD+LOCATION_DECK,0,nil)
local res0=exg:IsExists(c22250.tsfilter01,1,nil) and Duel.IsExistingMatchingCard(c22250.tsfilter00,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf)
local res1=exg:IsExists(c22250.tsfilter11,1,nil) and Duel.IsExistingMatchingCard(c22250.tsfilter10,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf)
local res2=exg:IsExists(c22250.tsfilter21,1,nil) and Duel.IsExistingMatchingCard(c22250.tsfilter20,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf)
local res3=exg:IsExists(c22250.tsfilter31,1,nil) and Duel.IsExistingMatchingCard(c22250.tsfilter30,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf)
if not (res or res0 or res1 or res2 or res3) then
local ce=Duel.GetChainMaterial(tp)
if ce~=nil then
local fgroup=ce:GetTarget()
......@@ -44,15 +112,25 @@ function c22250.target(e,tp,eg,ep,ev,re,r,rp,chk)
res=Duel.IsExistingMatchingCard(c22250.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg2,mf,chkf)
end
end
return res
return res or res0 or res1 or res2 or res3
end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end
function c22250.activate(e,tp,eg,ep,ev,re,r,rp)
--effect flag
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(22249)
e1:SetTargetRange(1,0)
Duel.RegisterEffect(e1,tp)
--
local chkf=tp
local mg1=Duel.GetFusionMaterial(tp):Filter(c22250.filter1,nil,e)
local mg2=Duel.GetMatchingGroup(c22250.filter0,tp,LOCATION_DECK,0,nil)
mg1:Merge(mg2)
local exg=Duel.GetMatchingGroup(c22250.filter00,tp,LOCATION_HAND+LOCATION_ONFIELD,0,nil)
mg1:Merge(exg)
local sg1=Duel.GetMatchingGroup(c22250.filter2,tp,LOCATION_EXTRA,0,nil,e,tp,mg1,nil,chkf)
local mg3=nil
local sg2=nil
......@@ -82,6 +160,8 @@ function c22250.activate(e,tp,eg,ep,ev,re,r,rp)
end
tc:CompleteProcedure()
end
--flag reset
e1:Reset()
end
function c22250.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToRemoveAsCost() end
......
......@@ -19,7 +19,10 @@ function c22251.initial_effect(c)
c:RegisterEffect(e2)
end
function c22251.filter0(c)
return c:IsCanBeFusionMaterial() and c:IsAbleToGrave() and c:IsAttribute(ATTRIBUTE_DARK+ATTRIBUTE_LIGHT)
return c:IsCanBeFusionMaterial() and c:IsAbleToGrave() and ((c:IsAttribute(ATTRIBUTE_DARK+ATTRIBUTE_LIGHT) and c:IsType(TYPE_MONSTER)) or c:IsOriginalSetCard(0x183,0x184))
end
function c22251.filter00(c)
return c:IsCanBeFusionMaterial() and c:IsAbleToGrave() and c:IsOriginalSetCard(0x178,0x179,0x180,0x181,0x182,0x183,0x184)
end
function c22251.filter1(c,e)
return not c:IsImmuneToEffect(e)
......@@ -28,6 +31,66 @@ function c22251.filter2(c,e,tp,m,f,chkf)
return c:IsType(TYPE_FUSION) and c:IsSetCard(0x811)
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false) and c:CheckFusionMaterial(m,nil,chkf)
end
function c22251.filter3(c)
return c:IsCanBeFusionMaterial() and c:IsAbleToGrave()
end
--
function c22251.tsfilter00(c,e,tp,m,f,chkf,exg)
return c:IsType(TYPE_FUSION) and c:IsOriginalCodeRule(22234)
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false)
end
function c22251.tsfilter01(c)
return (((c:IsRace(RACE_SPELLCASTER) and c:IsType(TYPE_MONSTER)) and not c:IsLocation(LOCATION_DECK)) or (c:IsRace(RACE_SPELLCASTER) and c:IsType(TYPE_MONSTER) and c:IsAttribute(ATTRIBUTE_DARK+ATTRIBUTE_LIGHT))) and Duel.GetLocationCountFromEx(c:GetControler(),c:GetControler(),c,TYPE_FUSION)>0 and Duel.IsExistingMatchingCard(c22251.tsfilter02,c:GetControler(),LOCATION_HAND+LOCATION_ONFIELD+LOCATION_DECK,0,1,c) and Duel.IsExistingMatchingCard(c22251.tsfilter03,c:GetControler(),LOCATION_HAND+LOCATION_ONFIELD,0,1,c)
end
function c22251.tsfilter02(c)
return ((c:IsAttribute(ATTRIBUTE_LIGHT) and c:IsType(TYPE_MONSTER)) or c:IsOriginalSetCard(0x183)) and Duel.GetLocationCountFromEx(c:GetControler(),c:GetControler(),c,TYPE_FUSION)>0 and Duel.IsExistingMatchingCard(c22251.tsfilter13,c:GetControler(),LOCATION_HAND+LOCATION_ONFIELD,0,1,c)
end
function c22251.tsfilter03(c)
return ((c:IsAttribute(ATTRIBUTE_EARTH) and c:IsType(TYPE_MONSTER)) or c:IsOriginalSetCard(0x182)) and Duel.GetLocationCountFromEx(c:GetControler(),c:GetControler(),c,TYPE_FUSION)>0
end
--
function c22251.tsfilter10(c,e,tp,m,f,chkf,exg)
return c:IsType(TYPE_FUSION) and c:IsOriginalCodeRule(22236)
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false)
end
function c22251.tsfilter11(c)
return (((c:IsRace(RACE_SPELLCASTER) and c:IsType(TYPE_MONSTER)) and not c:IsLocation(LOCATION_DECK)) or (c:IsRace(RACE_SPELLCASTER) and c:IsType(TYPE_MONSTER) and c:IsAttribute(ATTRIBUTE_DARK+ATTRIBUTE_LIGHT))) and Duel.GetLocationCountFromEx(c:GetControler(),c:GetControler(),c,TYPE_FUSION)>0 and Duel.IsExistingMatchingCard(c22251.tsfilter12,c:GetControler(),LOCATION_HAND+LOCATION_ONFIELD+LOCATION_DECK,0,1,c) and Duel.IsExistingMatchingCard(c22251.tsfilter13,c:GetControler(),LOCATION_HAND+LOCATION_ONFIELD,0,1,c)
end
function c22251.tsfilter12(c)
return ((c:IsAttribute(ATTRIBUTE_DARK) and c:IsType(TYPE_MONSTER))or c:IsOriginalSetCard(0x184)) and Duel.GetLocationCountFromEx(c:GetControler(),c:GetControler(),c,TYPE_FUSION)>0 and Duel.IsExistingMatchingCard(c22251.tsfilter13,c:GetControler(),LOCATION_HAND+LOCATION_ONFIELD,0,1,c)
end
function c22251.tsfilter13(c)
return ((c:IsAttribute(ATTRIBUTE_EARTH) and c:IsType(TYPE_MONSTER)) or c:IsOriginalSetCard(0x182)) and Duel.GetLocationCountFromEx(c:GetControler(),c:GetControler(),c,TYPE_FUSION)>0
end
--
function c22251.tsfilter20(c,e,tp,m,f,chkf,exg)
return c:IsType(TYPE_FUSION) and c:IsOriginalCodeRule(22238)
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false)
end
function c22251.tsfilter21(c)
return ((c:IsAttribute(ATTRIBUTE_WIND) and c:IsType(TYPE_MONSTER)) or c:IsOriginalSetCard(0x180)) and not c:IsLocation(LOCATION_DECK) and Duel.GetLocationCountFromEx(c:GetControler(),c:GetControler(),c,TYPE_FUSION)>0 and Duel.IsExistingMatchingCard(c22251.tsfilter22,c:GetControler(),LOCATION_HAND+LOCATION_ONFIELD,0,1,c) and Duel.IsExistingMatchingCard(c22251.tsfilter23,c:GetControler(),LOCATION_HAND+LOCATION_ONFIELD,0,1,c)
end
function c22251.tsfilter22(c)
return ((c:IsAttribute(ATTRIBUTE_WATER) and c:IsType(TYPE_MONSTER)) or c:IsOriginalSetCard(0x179)) and Duel.GetLocationCountFromEx(c:GetControler(),c:GetControler(),c,TYPE_FUSION)>0 and Duel.IsExistingMatchingCard(c22251.tsfilter23,c:GetControler(),LOCATION_HAND+LOCATION_ONFIELD,0,1,c)
end
function c22251.tsfilter23(c)
return ((c:IsAttribute(ATTRIBUTE_FIRE) and c:IsType(TYPE_MONSTER)) or c:IsOriginalSetCard(0x178)) and Duel.GetLocationCountFromEx(c:GetControler(),c:GetControler(),c,TYPE_FUSION)>0
end
--
function c22251.tsfilter30(c,e,tp,m,f,chkf,exg)
return c:IsType(TYPE_FUSION) and c:IsOriginalCodeRule(22240)
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false)
end
function c22251.tsfilter31(c)
return((c:IsAttribute(ATTRIBUTE_WIND) and c:IsType(TYPE_MONSTER)) or c:IsOriginalSetCard(0x180)) and not c:IsLocation(LOCATION_DECK) and Duel.GetLocationCountFromEx(c:GetControler(),c:GetControler(),c,TYPE_FUSION)>0 and Duel.IsExistingMatchingCard(c22251.tsfilter32,c:GetControler(),LOCATION_HAND+LOCATION_ONFIELD+LOCATION_DECK,0,1,c) and Duel.IsExistingMatchingCard(c22251.tsfilter33,c:GetControler(),LOCATION_HAND+LOCATION_ONFIELD+LOCATION_DECK,0,1,c)
end
function c22251.tsfilter32(c)
return ((c:IsAttribute(ATTRIBUTE_DARK) and c:IsType(TYPE_MONSTER))or c:IsOriginalSetCard(0x184)) and Duel.GetLocationCountFromEx(c:GetControler(),c:GetControler(),c,TYPE_FUSION)>0 and Duel.IsExistingMatchingCard(c22251.tsfilter33,c:GetControler(),LOCATION_HAND+LOCATION_ONFIELD+LOCATION_DECK,0,1,c)
end
function c22251.tsfilter33(c)
return ((c:IsAttribute(ATTRIBUTE_LIGHT) and c:IsType(TYPE_MONSTER)) or c:IsOriginalSetCard(0x183)) and Duel.GetLocationCountFromEx(c:GetControler(),c:GetControler(),c,TYPE_FUSION)>0
end
--
function c22251.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
local chkf=tp
......@@ -35,7 +98,12 @@ function c22251.target(e,tp,eg,ep,ev,re,r,rp,chk)
local mg2=Duel.GetMatchingGroup(c22251.filter0,tp,LOCATION_DECK,0,nil)
mg1:Merge(mg2)
local res=Duel.IsExistingMatchingCard(c22251.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf)
if not res then
local exg=Duel.GetMatchingGroup(c22251.filter3,tp,LOCATION_HAND+LOCATION_ONFIELD+LOCATION_DECK,0,nil)
local res0=exg:IsExists(c22251.tsfilter01,1,nil) and Duel.IsExistingMatchingCard(c22251.tsfilter00,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf)
local res1=exg:IsExists(c22251.tsfilter11,1,nil) and Duel.IsExistingMatchingCard(c22251.tsfilter10,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf)
local res2=exg:IsExists(c22251.tsfilter21,1,nil) and Duel.IsExistingMatchingCard(c22251.tsfilter20,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf)
local res3=exg:IsExists(c22251.tsfilter31,1,nil) and Duel.IsExistingMatchingCard(c22251.tsfilter30,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf)
if not (res or res0 or res1 or res2 or res3) then
local ce=Duel.GetChainMaterial(tp)
if ce~=nil then
local fgroup=ce:GetTarget()
......@@ -44,15 +112,25 @@ function c22251.target(e,tp,eg,ep,ev,re,r,rp,chk)
res=Duel.IsExistingMatchingCard(c22251.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg2,mf,chkf)
end
end
return res
return res or res0 or res1 or res2 or res3
end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end
function c22251.activate(e,tp,eg,ep,ev,re,r,rp)
--effect flag
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(22249)
e1:SetTargetRange(1,0)
Duel.RegisterEffect(e1,tp)
--
local chkf=tp
local mg1=Duel.GetFusionMaterial(tp):Filter(c22251.filter1,nil,e)
local mg2=Duel.GetMatchingGroup(c22251.filter0,tp,LOCATION_DECK,0,nil)
mg1:Merge(mg2)
local exg=Duel.GetMatchingGroup(c22251.filter00,tp,LOCATION_HAND+LOCATION_ONFIELD,0,nil)
mg1:Merge(exg)
local sg1=Duel.GetMatchingGroup(c22251.filter2,tp,LOCATION_EXTRA,0,nil,e,tp,mg1,nil,chkf)
local mg3=nil
local sg2=nil
......@@ -82,6 +160,8 @@ function c22251.activate(e,tp,eg,ep,ev,re,r,rp)
end
tc:CompleteProcedure()
end
--flag reset
e1:Reset()
end
function c22251.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToRemoveAsCost() end
......
......@@ -19,7 +19,10 @@ function c22252.initial_effect(c)
c:RegisterEffect(e2)
end
function c22252.filter0(c)
return c:IsCanBeFusionMaterial() and c:IsAbleToGrave() and c:IsAttribute(ATTRIBUTE_WATER+ATTRIBUTE_WIND+ATTRIBUTE_EARTH)
return c:IsCanBeFusionMaterial() and c:IsAbleToGrave() and ((c:IsAttribute(ATTRIBUTE_WATER+ATTRIBUTE_WIND+ATTRIBUTE_EARTH) and c:IsType(TYPE_MONSTER)) or c:IsOriginalSetCard(0x179,0x180,0x182))
end
function c22252.filter00(c)
return c:IsCanBeFusionMaterial() and c:IsAbleToGrave() and c:IsOriginalSetCard(0x178,0x179,0x180,0x181,0x182,0x183,0x184)
end
function c22252.filter1(c,e)
return not c:IsImmuneToEffect(e)
......@@ -28,6 +31,66 @@ function c22252.filter2(c,e,tp,m,f,chkf)
return c:IsType(TYPE_FUSION) and c:IsSetCard(0x811)
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false) and c:CheckFusionMaterial(m,nil,chkf)
end
function c22252.filter3(c)
return c:IsCanBeFusionMaterial() and c:IsAbleToGrave()
end
--
function c22252.tsfilter00(c,e,tp,m,f,chkf,exg)
return c:IsType(TYPE_FUSION) and c:IsOriginalCodeRule(22234)
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false)
end
function c22252.tsfilter01(c)
return (((c:IsRace(RACE_SPELLCASTER) and c:IsType(TYPE_MONSTER)) and not c:IsLocation(LOCATION_DECK)) or (c:IsRace(RACE_SPELLCASTER) and c:IsType(TYPE_MONSTER) and c:IsAttribute(ATTRIBUTE_WATER+ATTRIBUTE_WIND+ATTRIBUTE_EARTH))) and Duel.GetLocationCountFromEx(c:GetControler(),c:GetControler(),c,TYPE_FUSION)>0 and Duel.IsExistingMatchingCard(c22252.tsfilter02,c:GetControler(),LOCATION_HAND+LOCATION_ONFIELD,0,1,c) and Duel.IsExistingMatchingCard(c22252.tsfilter03,c:GetControler(),LOCATION_HAND+LOCATION_ONFIELD+LOCATION_DECK,0,1,c)
end
function c22252.tsfilter02(c)
return ((c:IsAttribute(ATTRIBUTE_LIGHT) and c:IsType(TYPE_MONSTER)) or c:IsOriginalSetCard(0x183)) and Duel.GetLocationCountFromEx(c:GetControler(),c:GetControler(),c,TYPE_FUSION)>0 and Duel.IsExistingMatchingCard(c22252.tsfilter13,c:GetControler(),LOCATION_HAND+LOCATION_ONFIELD+LOCATION_DECK,0,1,c)
end
function c22252.tsfilter03(c)
return ((c:IsAttribute(ATTRIBUTE_EARTH) and c:IsType(TYPE_MONSTER)) or c:IsOriginalSetCard(0x182)) and Duel.GetLocationCountFromEx(c:GetControler(),c:GetControler(),c,TYPE_FUSION)>0
end
--
function c22252.tsfilter10(c,e,tp,m,f,chkf,exg)
return c:IsType(TYPE_FUSION) and c:IsOriginalCodeRule(22236)
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false)
end
function c22252.tsfilter11(c)
return (((c:IsRace(RACE_SPELLCASTER) and c:IsType(TYPE_MONSTER)) and not c:IsLocation(LOCATION_DECK)) or (c:IsRace(RACE_SPELLCASTER) and c:IsType(TYPE_MONSTER) and c:IsAttribute(ATTRIBUTE_WATER+ATTRIBUTE_WIND+ATTRIBUTE_EARTH))) and Duel.GetLocationCountFromEx(c:GetControler(),c:GetControler(),c,TYPE_FUSION)>0 and Duel.IsExistingMatchingCard(c22252.tsfilter12,c:GetControler(),LOCATION_HAND+LOCATION_ONFIELD,0,1,c) and Duel.IsExistingMatchingCard(c22252.tsfilter13,c:GetControler(),LOCATION_HAND+LOCATION_ONFIELD+LOCATION_DECK,0,1,c)
end
function c22252.tsfilter12(c)
return ((c:IsAttribute(ATTRIBUTE_DARK) and c:IsType(TYPE_MONSTER))or c:IsOriginalSetCard(0x184)) and Duel.GetLocationCountFromEx(c:GetControler(),c:GetControler(),c,TYPE_FUSION)>0 and Duel.IsExistingMatchingCard(c22252.tsfilter13,c:GetControler(),LOCATION_HAND+LOCATION_ONFIELD+LOCATION_DECK,0,1,c)
end
function c22252.tsfilter13(c)
return ((c:IsAttribute(ATTRIBUTE_EARTH) and c:IsType(TYPE_MONSTER)) or c:IsOriginalSetCard(0x182)) and Duel.GetLocationCountFromEx(c:GetControler(),c:GetControler(),c,TYPE_FUSION)>0
end
--
function c22252.tsfilter20(c,e,tp,m,f,chkf,exg)
return c:IsType(TYPE_FUSION) and c:IsOriginalCodeRule(22238)
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false)
end
function c22252.tsfilter21(c)
return ((c:IsAttribute(ATTRIBUTE_WIND) and c:IsType(TYPE_MONSTER)) or c:IsOriginalSetCard(0x180)) and Duel.GetLocationCountFromEx(c:GetControler(),c:GetControler(),c,TYPE_FUSION)>0 and Duel.IsExistingMatchingCard(c22252.tsfilter22,c:GetControler(),LOCATION_HAND+LOCATION_ONFIELD+LOCATION_DECK,0,1,c) and Duel.IsExistingMatchingCard(c22252.tsfilter23,c:GetControler(),LOCATION_HAND+LOCATION_ONFIELD,0,1,c)
end
function c22252.tsfilter22(c)
return ((c:IsAttribute(ATTRIBUTE_WATER) and c:IsType(TYPE_MONSTER)) or c:IsOriginalSetCard(0x179)) and Duel.GetLocationCountFromEx(c:GetControler(),c:GetControler(),c,TYPE_FUSION)>0 and Duel.IsExistingMatchingCard(c22252.tsfilter23,c:GetControler(),LOCATION_HAND+LOCATION_ONFIELD,0,1,c)
end
function c22252.tsfilter23(c)
return ((c:IsAttribute(ATTRIBUTE_FIRE) and c:IsType(TYPE_MONSTER)) or c:IsOriginalSetCard(0x178)) and Duel.GetLocationCountFromEx(c:GetControler(),c:GetControler(),c,TYPE_FUSION)>0
end
--
function c22252.tsfilter30(c,e,tp,m,f,chkf,exg)
return c:IsType(TYPE_FUSION) and c:IsOriginalCodeRule(22240)
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false)
end
function c22252.tsfilter31(c)
return((c:IsAttribute(ATTRIBUTE_WIND) and c:IsType(TYPE_MONSTER)) or c:IsOriginalSetCard(0x180)) and Duel.GetLocationCountFromEx(c:GetControler(),c:GetControler(),c,TYPE_FUSION)>0 and Duel.IsExistingMatchingCard(c22252.tsfilter32,c:GetControler(),LOCATION_HAND+LOCATION_ONFIELD,0,1,c) and Duel.IsExistingMatchingCard(c22252.tsfilter33,c:GetControler(),LOCATION_HAND+LOCATION_ONFIELD,0,1,c)
end
function c22252.tsfilter32(c)
return ((c:IsAttribute(ATTRIBUTE_DARK) and c:IsType(TYPE_MONSTER))or c:IsOriginalSetCard(0x184)) and Duel.GetLocationCountFromEx(c:GetControler(),c:GetControler(),c,TYPE_FUSION)>0 and Duel.IsExistingMatchingCard(c22252.tsfilter33,c:GetControler(),LOCATION_HAND+LOCATION_ONFIELD,0,1,c)
end
function c22252.tsfilter33(c)
return ((c:IsAttribute(ATTRIBUTE_LIGHT) and c:IsType(TYPE_MONSTER)) or c:IsOriginalSetCard(0x183)) and Duel.GetLocationCountFromEx(c:GetControler(),c:GetControler(),c,TYPE_FUSION)>0
end
--
function c22252.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
local chkf=tp
......@@ -35,7 +98,12 @@ function c22252.target(e,tp,eg,ep,ev,re,r,rp,chk)
local mg2=Duel.GetMatchingGroup(c22252.filter0,tp,LOCATION_DECK,0,nil)
mg1:Merge(mg2)
local res=Duel.IsExistingMatchingCard(c22252.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf)
if not res then
local exg=Duel.GetMatchingGroup(c22252.filter3,tp,LOCATION_HAND+LOCATION_ONFIELD+LOCATION_DECK,0,nil)
local res0=exg:IsExists(c22252.tsfilter01,1,nil) and Duel.IsExistingMatchingCard(c22252.tsfilter00,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf)
local res1=exg:IsExists(c22252.tsfilter11,1,nil) and Duel.IsExistingMatchingCard(c22252.tsfilter10,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf)
local res2=exg:IsExists(c22252.tsfilter21,1,nil) and Duel.IsExistingMatchingCard(c22252.tsfilter20,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf)
local res3=exg:IsExists(c22252.tsfilter31,1,nil) and Duel.IsExistingMatchingCard(c22252.tsfilter30,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf)
if not (res or res0 or res1 or res2 or res3) then
local ce=Duel.GetChainMaterial(tp)
if ce~=nil then
local fgroup=ce:GetTarget()
......@@ -44,15 +112,25 @@ function c22252.target(e,tp,eg,ep,ev,re,r,rp,chk)
res=Duel.IsExistingMatchingCard(c22252.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg2,mf,chkf)
end
end
return res
return res or res0 or res1 or res2 or res3
end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end
function c22252.activate(e,tp,eg,ep,ev,re,r,rp)
--effect flag
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(22249)
e1:SetTargetRange(1,0)
Duel.RegisterEffect(e1,tp)
--
local chkf=tp
local mg1=Duel.GetFusionMaterial(tp):Filter(c22252.filter1,nil,e)
local mg2=Duel.GetMatchingGroup(c22252.filter0,tp,LOCATION_DECK,0,nil)
mg1:Merge(mg2)
local exg=Duel.GetMatchingGroup(c22252.filter00,tp,LOCATION_HAND+LOCATION_ONFIELD,0,nil)
mg1:Merge(exg)
local sg1=Duel.GetMatchingGroup(c22252.filter2,tp,LOCATION_EXTRA,0,nil,e,tp,mg1,nil,chkf)
local mg3=nil
local sg2=nil
......@@ -82,6 +160,8 @@ function c22252.activate(e,tp,eg,ep,ev,re,r,rp)
end
tc:CompleteProcedure()
end
--flag reset
e1:Reset()
end
function c22252.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToRemoveAsCost() end
......
--巨大涡流✿河城荷取
function c23110.initial_effect(c)
--xyz summon
c:EnableReviveLimit()
aux.AddXyzProcedureLevelFree(c,c23110.mfilter,nil,2,2)
--atk
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EFFECT_SET_BASE_ATTACK)
e1:SetCondition(c23110.adcon)
e1:SetValue(c23110.atkval)
c:RegisterEffect(e1)
--spsummon
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(23110,1))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_MZONE)
e2:SetTarget(c23110.sptg)
e2:SetOperation(c23110.spop)
c:RegisterEffect(e2)
end
function c23110.mfilter(c,xyzc)
return c:IsSetCard(0x817) or c:IsXyzLevel(xyzc,2)
end
function c23110.adcon(e)
return e:GetHandler():GetEquipCount()>0
end
function c23110.atkval(e,c)
return c:GetBaseAttack()*2
end
function c23110.spfilter(c,e,tp)
return c:IsLevel(2) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c23110.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckRemoveOverlayCard(tp,1,0,1,REASON_EFFECT)
and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.GetLocationCount(1-tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c23110.spfilter,tp,LOCATION_DECK,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
end
function c23110.spop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(c23110.spfilter,tp,LOCATION_DECK,0,nil,e,tp)
local g2=Duel.GetMatchingGroup(c23110.spfilter,tp,0,LOCATION_DECK,nil,e,tp)
if Duel.RemoveOverlayCard(tp,1,0,1,1,REASON_EFFECT)~=0
and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.GetLocationCount(1-tp,LOCATION_MZONE)>0 and g:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local t1=g:Select(tp,1,1,nil):GetFirst()
Duel.Hint(HINT_SELECTMSG,1-tp,HINTMSG_SPSUMMON)
local t2=g2:Select(1-tp,1,1,nil):GetFirst()
Duel.SpecialSummonStep(t1,0,tp,tp,false,false,POS_FACEUP)
if t2 then
Duel.SpecialSummonStep(t2,0,tp,tp,false,false,POS_FACEUP)
end
Duel.SpecialSummonComplete()
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,1)
e1:SetTarget(c23110.splimit)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
function c23110.splimit(e,c)
return c:IsLevel(2) or c:IsRank(2) or c:IsLink(2)
end
--秘术『九字切』
function c23199.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_TOGRAVE+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetTarget(c23199.target)
e1:SetOperation(c23199.activate)
c:RegisterEffect(e1)
--tohand
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(23199,1))
e3:SetCategory(CATEGORY_TOHAND)
e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetProperty(EFFECT_FLAG_CARD_TARGET)
e3:SetRange(LOCATION_GRAVE)
e3:SetCondition(aux.exccon)
e3:SetCost(aux.bfgcost)
e3:SetTarget(c23199.thtg)
e3:SetOperation(c23199.thop)
c:RegisterEffect(e3)
end
function c23199.filter1(c)
return c:IsSetCard(0x496) and c:IsType(TYPE_SPELL) and c:IsAbleToHand()
end
function c23199.filter2(c)
return c:IsSetCard(0x496) and c:IsType(TYPE_SPELL) and c:IsAbleToGrave()
end
function c23199.target(e,tp,eg,ep,ev,re,r,rp,chk)
local g=Duel.GetMatchingGroup(c23199.filter1,tp,LOCATION_DECK,0,nil)
if chk==0 then return g:GetCount()>0 and Duel.IsExistingMatchingCard(c23199.filter2,tp,LOCATION_DECK,0,1,g:GetFirst()) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_DECK)
end
function c23199.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c23199.filter1,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g2=Duel.SelectMatchingCard(tp,c23199.filter2,tp,LOCATION_DECK,0,1,1,nil)
if g2:GetCount()>0 then
Duel.SendtoGrave(g2,REASON_EFFECT)
end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_CANNOT_ACTIVATE)
e1:SetTargetRange(0,1)
e1:SetValue(c23199.aclimit1)
e1:SetReset(RESET_PHASE+PHASE_END+RESET_OPPO_TURN,1)
Duel.RegisterEffect(e1,tp)
end
function c23199.acfilter(c)
return c:IsAttribute(ATTRIBUTE_EARTH) and c:IsType(TYPE_RITUAL) and c:IsSetCard(0x208) and c:IsFaceup() and c:GetLevel()>0
end
function c23199.aclimit1(e,re,tp)
local g=Duel.GetMatchingGroup(c23199.acfilter, tp, LOCATION_MZONE, 0, nil)
local lv=g:GetSum(Card.GetLevel)/3
return re:IsActiveType(TYPE_MONSTER) and (re:GetHandler():GetLevel()<=lv or re:GetHandler():GetRank()<=lv or re:GetHandler():GetLink()<=lv)
end
function c23199.thfilter(c)
return c:IsSetCard(0x496) and c:IsFaceup()
end
function c23199.thtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return (chkc:IsLocation(LOCATION_REMOVED) or chkc:IsLocation(LOCATION_GRAVE)) and c23199.thfilter(chkc) end
if chk==0 then return Duel.IsExistingTarget(c23199.thfilter,tp,LOCATION_REMOVED+LOCATION_GRAVE,0,1,e:GetHandler()) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RTOHAND)
local g=Duel.SelectTarget(tp,c23199.thfilter,tp,LOCATION_REMOVED+LOCATION_GRAVE,0,1,1,e:GetHandler())
Duel.SetOperationInfo(0,CATEGORY_TOHAND,g,1,0,0)
end
function c23199.thop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc and tc:IsRelateToEffect(e) then
Duel.SendtoHand(tc,tp,REASON_EFFECT)
end
end
......@@ -14,7 +14,6 @@ function c23203.initial_effect(c)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_GRAVE)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetCondition(aux.exccon)
e2:SetCost(c23203.ctcost)
e2:SetTarget(c23203.cttg)
e2:SetOperation(c23203.ctop)
......
......@@ -35,6 +35,15 @@ function c31027.initial_effect(c)
e3:SetTarget(c31027.destg)
e3:SetOperation(c31027.desop)
c:RegisterEffect(e3)
--effect flag
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD)
e4:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e4:SetCode(31027)
e4:SetRange(LOCATION_MZONE)
e4:SetCondition(c31027.sdcon)
e4:SetTargetRange(1,1)
c:RegisterEffect(e4)
end
c31027.DescSetName = 0x258
......
......@@ -6,7 +6,7 @@ function c50153.initial_effect(c)
e4:SetType(EFFECT_TYPE_QUICK_O)
e4:SetCode(EVENT_FREE_CHAIN)
e4:SetRange(LOCATION_MZONE)
e4:SetCountLimit(2,50153)
e4:SetCountLimit(1,50153)
e4:SetTarget(c50153.btg)
e4:SetOperation(c50153.bop)
c:RegisterEffect(e4)
......
......@@ -46,7 +46,7 @@ function c50219.bop(e,tp,eg,ep,ev,re,r,rp)
local ct=Duel.GetMatchingGroupCount(c50219.natfilter,tp,0,LOCATION_MZONE,nil)
Duel.Draw(tp, ct, REASON_EFFECT)
Duel.Recover(tp, ct*1000, REASON_EFFECT)
Duel.Recover(tp, ct*400, REASON_EFFECT)
end
function c50219.value(e,c)
local ct=400
......
......@@ -45,7 +45,7 @@ function c50277.ccon(e,tp,eg,ep,ev,re,r,rp)
end
function c50277.cop(e,tp,eg,ep,ev,re,r,rp)
local atk=e:GetLabelObject():GetAttack()
Duel.Recover(tp,atk*3,REASON_EFFECT)
Duel.Recover(tp,atk*2,REASON_EFFECT)
if Duel.GetFieldGroupCount(tp,LOCATION_HAND,0)<3 then
Duel.Draw(tp,1,REASON_EFFECT)
end
......
......@@ -45,7 +45,7 @@ function c50331.btg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
local ct=Duel.GetFieldGroupCount(tp,LOCATION_HAND,0)
Duel.SetTargetPlayer(tp)
Duel.SetOperationInfo(0,CATEGORY_RECOVER,nil,0,tp,ct*400)
Duel.SetOperationInfo(0,CATEGORY_RECOVER,nil,0,tp,ct*200)
end
function c50331.bop(e,tp,eg,ep,ev,re,r,rp)
local num=1
......@@ -55,7 +55,7 @@ function c50331.bop(e,tp,eg,ep,ev,re,r,rp)
TET.ELCounter.Add(nil,tp,50216,num,e)
local p=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER)
local ct=Duel.GetFieldGroupCount(tp,LOCATION_HAND,0)
Duel.Recover(p,ct*400,REASON_EFFECT)
Duel.Recover(p,ct*200,REASON_EFFECT)
local c=e:GetHandler()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
......@@ -72,5 +72,5 @@ function c50331.bbop(e,tp,eg,ep,ev,re,r,rp)
if num<0 then num=0 end
TET.ELCounter.Add(nil,1-tp,50216,num,e)
local ct=Duel.GetFieldGroupCount(tp,LOCATION_HAND,0)
Duel.Recover(tp,ct*400,REASON_EFFECT)
Duel.Recover(tp,ct*200,REASON_EFFECT)
end
......@@ -39,7 +39,7 @@ function c50501.filter(c)
end
function c50501.condition(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(c50501.filter,tp,LOCATION_DECK,0,nil)
return g:GetClassCount(Card.GetOriginalCode)>3
return g:GetClassCount(Card.GetOriginalCode)>6
end
function c50501.spfilter4(c,e,tp)
return c:IsSetCard(0x250) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:GetLevel()==4
......
--虔诚的人类僧侣✿圣白莲
function c60151301.initial_effect(c)
--special summon
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(60151301,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL+EFFECT_FLAG_DELAY)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetCountLimit(1,60151301)
e1:SetTarget(c60151301.sptg)
e1:SetOperation(c60151301.spop)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e2)
--Special Summon
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(60151301,1))
e3:SetType(EFFECT_TYPE_TRIGGER_O+EFFECT_TYPE_SINGLE)
e3:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL+EFFECT_FLAG_DELAY)
e3:SetCategory(CATEGORY_EQUIP)
e3:SetCode(EVENT_LEAVE_FIELD)
e3:SetCountLimit(1,60151302)
e3:SetCondition(c60151301.sumcon)
e3:SetTarget(c60151301.sumtg)
e3:SetOperation(c60151301.sumop)
c:RegisterEffect(e3)
--equip effect
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_EQUIP)
e4:SetCode(EFFECT_UPDATE_ATTACK)
e4:SetValue(300)
e4:SetCondition(c60151301.con)
c:RegisterEffect(e4)
end
function c60151301.filter(c,e,tp)
return c:IsLocation(LOCATION_SZONE) and c:IsSetCard(0x252a)
and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c60151301.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingTarget(c60151301.filter,tp,LOCATION_SZONE,0,1,nil,e,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectTarget(tp,c60151301.filter,tp,LOCATION_SZONE,0,1,1,nil,e,tp)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,0,0)
end
function c60151301.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)
end
end
function c60151301.sumcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsPreviousPosition(POS_FACEUP) and e:GetHandler():GetLocation()~=LOCATION_DECK
and e:GetHandler():IsPreviousLocation(LOCATION_ONFIELD) and not e:GetHandler():IsReason(REASON_BATTLE)
end
function c60151301.filter2(c,e,tp)
return c:GetCode()~=60151301 and c:IsSetCard(0x252a) and c:IsType(TYPE_MONSTER)
end
function c60151301.filter3(c,e,tp)
return c:IsLocation(LOCATION_MZONE) and c:IsPosition(POS_FACEUP) and c:GetControler()==tp
and c:IsSetCard(0x252a) and c:IsType(TYPE_MONSTER)
end
function c60151301.sumtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c60151301.filter2,tp,LOCATION_GRAVE,0,1,nil,e,tp)
and Duel.IsExistingMatchingCard(c60151301.filter3,tp,LOCATION_ONFIELD,0,1,nil,e,tp)
and Duel.GetLocationCount(tp,LOCATION_SZONE)>0 end
local g=Duel.GetMatchingGroup(c60151301.filter2,tp,LOCATION_GRAVE,0,nil,e,tp)
Duel.SetOperationInfo(0,CATEGORY_EQUIP,g,1,0,0)
end
function c60151301.sumop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(60151301,3))
local g=Duel.SelectMatchingCard(tp,c60151301.filter3,tp,LOCATION_ONFIELD,0,1,1,nil,e,tp)
if g:GetCount()>0 then
Duel.HintSelection(g)
local tc=g:GetFirst()
if tc:IsImmuneToEffect(e) then return end
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(60151301,2))
local g1=Duel.SelectMatchingCard(tp,c60151301.filter2,tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
if g1:GetCount()>0 then
Duel.HintSelection(g1)
local tc2=g1:GetFirst()
Duel.Equip(tp,tc2,tc,true,true)
Duel.EquipComplete()
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_EQUIP_LIMIT)
e1:SetReset(RESET_EVENT+0x1fe0000)
e1:SetValue(c60151301.eqlimit)
e1:SetLabelObject(tc)
tc2:RegisterEffect(e1)
end
end
end
function c60151301.eqlimit(e,c)
return c==e:GetLabelObject()
end
function c60151301.con(e,tp,eg,ep,ev,re,r,rp)
local tg=e:GetHandler():GetEquipTarget()
return tg:IsSetCard(0x252a) and tg:IsType(TYPE_MONSTER)
end
--教授法的阿阇梨✿圣白莲
function c60151303.initial_effect(c)
--special summon
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(60151303,0))
e1:SetCategory(CATEGORY_TOGRAVE)
e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL+EFFECT_FLAG_DELAY)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetCountLimit(1,60151303)
e1:SetTarget(c60151303.sptg)
e1:SetOperation(c60151303.spop)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e2)
--Special Summon
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(60151303,1))
e3:SetType(EFFECT_TYPE_TRIGGER_O+EFFECT_TYPE_SINGLE)
e3:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL+EFFECT_FLAG_DELAY)
e3:SetCategory(CATEGORY_EQUIP)
e3:SetCode(EVENT_LEAVE_FIELD)
e3:SetCountLimit(1,60151304)
e3:SetCondition(c60151303.sumcon)
e3:SetTarget(c60151303.sumtg)
e3:SetOperation(c60151303.sumop)
c:RegisterEffect(e3)
--equip effect
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_EQUIP)
e4:SetCode(EFFECT_INDESTRUCTABLE_COUNT)
e4:SetCountLimit(1)
e4:SetValue(c60151303.valcon)
e4:SetCondition(c60151303.con)
c:RegisterEffect(e4)
--equip effect
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_EQUIP)
e5:SetCode(EFFECT_INDESTRUCTABLE_COUNT)
e5:SetCountLimit(1)
e5:SetValue(c60151303.valcon2)
e5:SetCondition(c60151303.con)
c:RegisterEffect(e5)
end
function c60151303.tgfilter(c)
return c:IsSetCard(0x252a) and c:IsType(TYPE_MONSTER) and c:IsAbleToGrave()
end
function c60151303.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c60151303.tgfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_DECK)
end
function c60151303.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,c60151303.tgfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoGrave(g,REASON_EFFECT)
end
end
function c60151303.sumcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsPreviousPosition(POS_FACEUP) and e:GetHandler():GetLocation()~=LOCATION_DECK
and e:GetHandler():IsPreviousLocation(LOCATION_ONFIELD) and not e:GetHandler():IsReason(REASON_BATTLE)
end
function c60151303.filter2(c,e,tp)
return c:GetCode()~=60151303 and c:IsSetCard(0x252a) and c:IsType(TYPE_MONSTER)
end
function c60151303.filter3(c,e,tp)
return c:IsLocation(LOCATION_MZONE) and c:IsPosition(POS_FACEUP) and c:GetControler()==tp
and c:IsSetCard(0x252a) and c:IsType(TYPE_MONSTER)
end
function c60151303.sumtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c60151303.filter2,tp,LOCATION_GRAVE,0,1,nil,e,tp)
and Duel.IsExistingMatchingCard(c60151303.filter3,tp,LOCATION_ONFIELD,0,1,nil,e,tp)
and Duel.GetLocationCount(tp,LOCATION_SZONE)>0 end
local g=Duel.GetMatchingGroup(c60151303.filter2,tp,LOCATION_GRAVE,0,nil,e,tp)
Duel.SetOperationInfo(0,CATEGORY_EQUIP,g,1,0,0)
end
function c60151303.sumop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(60151303,3))
local g=Duel.SelectMatchingCard(tp,c60151303.filter3,tp,LOCATION_ONFIELD,0,1,1,nil,e,tp)
if g:GetCount()>0 then
Duel.HintSelection(g)
local tc=g:GetFirst()
if tc:IsImmuneToEffect(e) then return end
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(60151303,2))
local g1=Duel.SelectMatchingCard(tp,c60151303.filter2,tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
if g1:GetCount()>0 then
Duel.HintSelection(g1)
local tc2=g1:GetFirst()
Duel.Equip(tp,tc2,tc,true,true)
Duel.EquipComplete()
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_EQUIP_LIMIT)
e1:SetReset(RESET_EVENT+0x1fe0000)
e1:SetValue(c60151303.eqlimit)
e1:SetLabelObject(tc)
tc2:RegisterEffect(e1)
end
end
end
function c60151303.eqlimit(e,c)
return c==e:GetLabelObject()
end
function c60151303.filter4(c)
return c:IsSetCard(0x252a) and c:IsType(TYPE_MONSTER)
end
function c60151303.con(e,tp,eg,ep,ev,re,r,rp)
local tg=e:GetHandler():GetEquipTarget()
return tg:IsSetCard(0x252a) and tg:IsType(TYPE_MONSTER)
end
function c60151303.efilter(e,te)
return te:IsActiveType(TYPE_SPELL) and te:GetOwnerPlayer()~=e:GetHandlerPlayer()
end
function c60151303.valcon(e,re,r,rp)
return bit.band(r,REASON_BATTLE)~=0
end
function c60151303.valcon2(e,re,r,rp)
return bit.band(r,REASON_EFFECT)~=0
end
--德高望重的住持✿圣白莲
function c60151305.initial_effect(c)
--special summon
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(60151305,0))
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL+EFFECT_FLAG_DELAY)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetCountLimit(1,60151305)
e1:SetTarget(c60151305.sptg)
e1:SetOperation(c60151305.spop)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e2)
--Special Summon
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(60151305,1))
e3:SetType(EFFECT_TYPE_TRIGGER_O+EFFECT_TYPE_SINGLE)
e3:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL+EFFECT_FLAG_DELAY)
e3:SetCategory(CATEGORY_EQUIP)
e3:SetCode(EVENT_LEAVE_FIELD)
e3:SetCountLimit(1,60151306)
e3:SetCondition(c60151305.sumcon)
e3:SetTarget(c60151305.sumtg)
e3:SetOperation(c60151305.sumop)
c:RegisterEffect(e3)
--equip effect
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_EQUIP)
e4:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e4:SetValue(c60151305.tgvalue)
e4:SetCondition(c60151305.con)
c:RegisterEffect(e4)
end
function c60151305.tgfilter(c)
return c:IsSetCard(0x252a) and c:IsType(TYPE_MONSTER) and c:IsAbleToHand()
end
function c60151305.tgfilter2(c)
return c:IsSetCard(0x252a) and c:IsType(TYPE_MONSTER) and c:IsAbleToGrave()
end
function c60151305.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c60151305.tgfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function c60151305.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c60151305.tgfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
function c60151305.sumcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsPreviousPosition(POS_FACEUP) and e:GetHandler():GetLocation()~=LOCATION_DECK
and e:GetHandler():IsPreviousLocation(LOCATION_ONFIELD) and not e:GetHandler():IsReason(REASON_BATTLE)
end
function c60151305.filter2(c,e,tp)
return c:GetCode()~=60151305 and c:IsSetCard(0x252a) and c:IsType(TYPE_MONSTER)
end
function c60151305.filter3(c,e,tp)
return c:IsLocation(LOCATION_MZONE) and c:IsPosition(POS_FACEUP) and c:GetControler()==tp
and c:IsSetCard(0x252a) and c:IsType(TYPE_MONSTER)
end
function c60151305.sumtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c60151305.filter2,tp,LOCATION_GRAVE,0,1,nil,e,tp)
and Duel.IsExistingMatchingCard(c60151305.filter3,tp,LOCATION_ONFIELD,0,1,nil,e,tp)
and Duel.GetLocationCount(tp,LOCATION_SZONE)>0 end
local g=Duel.GetMatchingGroup(c60151305.filter2,tp,LOCATION_GRAVE,0,nil,e,tp)
Duel.SetOperationInfo(0,CATEGORY_EQUIP,g,1,0,0)
end
function c60151305.sumop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(60151305,3))
local g=Duel.SelectMatchingCard(tp,c60151305.filter3,tp,LOCATION_ONFIELD,0,1,1,nil,e,tp)
if g:GetCount()>0 then
Duel.HintSelection(g)
local tc=g:GetFirst()
if tc:IsImmuneToEffect(e) then return end
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(60151305,2))
local g1=Duel.SelectMatchingCard(tp,c60151305.filter2,tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
if g1:GetCount()>0 then
Duel.HintSelection(g1)
local tc2=g1:GetFirst()
Duel.Equip(tp,tc2,tc,true,true)
Duel.EquipComplete()
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_EQUIP_LIMIT)
e1:SetReset(RESET_EVENT+0x1fe0000)
e1:SetValue(c60151305.eqlimit)
e1:SetLabelObject(tc)
tc2:RegisterEffect(e1)
end
end
end
function c60151305.eqlimit(e,c)
return c==e:GetLabelObject()
end
function c60151305.filter4(c)
return c:IsSetCard(0x252a) and c:IsType(TYPE_MONSTER)
end
function c60151305.con(e,tp,eg,ep,ev,re,r,rp)
local tg=e:GetHandler():GetEquipTarget()
return tg:IsSetCard(0x252a) and tg:IsType(TYPE_MONSTER)
end
function c60151305.efilter(e,te)
return te:IsActiveType(TYPE_SPELL) and te:GetOwnerPlayer()~=e:GetHandlerPlayer()
end
function c60151305.tgvalue(e,re,rp)
return rp~=e:GetHandlerPlayer()
end
--囿于短生之痛✿圣白莲
function c60151307.initial_effect(c)
--special summon
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_SPSUMMON_PROC)
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE)
e1:SetRange(LOCATION_HAND)
e1:SetCondition(c60151307.spcon)
e1:SetOperation(c60151307.spop2)
c:RegisterEffect(e1)
--special summon
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(60151307,0))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL+EFFECT_FLAG_DELAY)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetCountLimit(1,60151308)
e2:SetTarget(c60151307.sptg)
e2:SetOperation(c60151307.spop)
c:RegisterEffect(e2)
local e3=e2:Clone()
e3:SetCode(EVENT_SUMMON_SUCCESS)
c:RegisterEffect(e3)
--Special Summon
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(60151307,1))
e4:SetType(EFFECT_TYPE_TRIGGER_O+EFFECT_TYPE_SINGLE)
e4:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL+EFFECT_FLAG_DELAY)
e4:SetCategory(CATEGORY_EQUIP)
e4:SetCode(EVENT_LEAVE_FIELD)
e4:SetCountLimit(1,60151309)
e4:SetCondition(c60151307.sumcon)
e4:SetTarget(c60151307.sumtg)
e4:SetOperation(c60151307.sumop)
c:RegisterEffect(e4)
end
function c60151307.spfilter(c)
return c:IsSetCard(0x252a) and c:IsAbleToDeckOrExtraAsCost()
end
function c60151307.spcon(e,c)
if c==nil then return true end
local tp=c:GetControler()
return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c60151307.spfilter,tp,LOCATION_ONFIELD,0,1,nil)
end
function c60151307.spop2(e,tp,eg,ep,ev,re,r,rp,c)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(tp,c60151307.spfilter,tp,LOCATION_ONFIELD,0,1,1,nil)
Duel.SendtoDeck(g,nil,2,REASON_COST)
end
function c60151307.tgfilter(c,e,tp)
return c:IsSetCard(0x252a) and c:IsType(TYPE_MONSTER) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:IsLevel(3)
end
function c60151307.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c60151307.tgfilter,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND+LOCATION_GRAVE)
end
function c60151307.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c60151307.tgfilter,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,1,nil,e,tp)
if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
local tc=g:GetFirst()
local e1=Effect.CreateEffect(c)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL)
e1:SetValue(c60151307.exlimit)
e1:SetReset(RESET_EVENT+0x1fe0000)
tc:RegisterEffect(e1,true)
local e2=e1:Clone()
e2:SetCode(EFFECT_CANNOT_BE_SYNCHRO_MATERIAL)
tc:RegisterEffect(e2,true)
local e3=e1:Clone()
e3:SetCode(EFFECT_CANNOT_BE_XYZ_MATERIAL)
tc:RegisterEffect(e3,true)
local e4=e1:Clone()
e4:SetCode(EFFECT_CANNOT_BE_FUSION_MATERIAL)
tc:RegisterEffect(e4,true)
end
end
function c60151307.exlimit(e,c)
return not c:IsSetCard(0x252a)
end
--
function c60151307.xyzlimit(e,c)
if not c then return false end
return not c:IsSetCard(0x252a)
end
function c60151307.sumcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsPreviousPosition(POS_FACEUP) and e:GetHandler():GetLocation()~=LOCATION_DECK
and e:GetHandler():IsPreviousLocation(LOCATION_ONFIELD) and not e:GetHandler():IsReason(REASON_BATTLE)
end
function c60151307.filter2(c,e,tp)
return c:GetCode()~=60151307 and c:IsSetCard(0x252a) and c:IsType(TYPE_MONSTER)
end
function c60151307.filter3(c,e,tp)
return c:IsLocation(LOCATION_MZONE) and c:IsPosition(POS_FACEUP) and c:GetControler()==tp
and c:IsSetCard(0x252a) and c:IsType(TYPE_MONSTER)
end
function c60151307.sumtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c60151307.filter2,tp,LOCATION_GRAVE,0,1,nil,e,tp)
and Duel.IsExistingMatchingCard(c60151307.filter3,tp,LOCATION_ONFIELD,0,1,nil,e,tp)
and Duel.GetLocationCount(tp,LOCATION_SZONE)>0 end
local g=Duel.GetMatchingGroup(c60151307.filter2,tp,LOCATION_GRAVE,0,nil,e,tp)
Duel.SetOperationInfo(0,CATEGORY_EQUIP,g,1,0,0)
end
function c60151307.sumop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(60151307,3))
local g=Duel.SelectMatchingCard(tp,c60151307.filter3,tp,LOCATION_ONFIELD,0,1,1,nil,e,tp)
if g:GetCount()>0 then
Duel.HintSelection(g)
local tc=g:GetFirst()
if tc:IsImmuneToEffect(e) then return end
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(60151307,2))
local g1=Duel.SelectMatchingCard(tp,c60151307.filter2,tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
if g1:GetCount()>0 then
Duel.HintSelection(g1)
local tc2=g1:GetFirst()
Duel.Equip(tp,tc2,tc,true,true)
Duel.EquipComplete()
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_EQUIP_LIMIT)
e1:SetReset(RESET_EVENT+0x1fe0000)
e1:SetValue(c60151307.eqlimit)
e1:SetLabelObject(tc)
tc2:RegisterEffect(e1)
end
end
end
function c60151307.eqlimit(e,c)
return c==e:GetLabelObject()
end
--觅得长生之法✿圣白莲
function c60151310.initial_effect(c)
--special summon
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_SPSUMMON_PROC)
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE)
e1:SetRange(LOCATION_SZONE)
e1:SetCondition(c60151310.spcon)
e1:SetOperation(c60151310.spop2)
c:RegisterEffect(e1)
--special summon
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(60151310,0))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL+EFFECT_FLAG_DELAY)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetCountLimit(1,60151311)
e2:SetTarget(c60151310.sptg)
e2:SetOperation(c60151310.spop)
c:RegisterEffect(e2)
local e3=e2:Clone()
e3:SetCode(EVENT_SUMMON_SUCCESS)
c:RegisterEffect(e3)
--Special Summon
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(60151310,1))
e4:SetType(EFFECT_TYPE_TRIGGER_O+EFFECT_TYPE_SINGLE)
e4:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL+EFFECT_FLAG_DELAY)
e4:SetCategory(CATEGORY_EQUIP)
e4:SetCode(EVENT_LEAVE_FIELD)
e4:SetCountLimit(1,60151312)
e4:SetCondition(c60151310.sumcon)
e4:SetTarget(c60151310.sumtg)
e4:SetOperation(c60151310.sumop)
c:RegisterEffect(e4)
end
function c60151310.spfilter(c)
return c:IsSetCard(0x252a) and c:IsAbleToDeckOrExtraAsCost()
end
function c60151310.spcon(e,c)
if c==nil then return true end
local tp=c:GetControler()
return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c60151310.spfilter,tp,LOCATION_SZONE,0,1,e:GetHandler())
end
function c60151310.spop2(e,tp,eg,ep,ev,re,r,rp,c)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(tp,c60151310.spfilter,tp,LOCATION_SZONE,0,1,1,e:GetHandler())
Duel.SendtoDeck(g,nil,2,REASON_COST)
end
function c60151310.sumcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsPreviousPosition(POS_FACEUP) and e:GetHandler():GetLocation()~=LOCATION_DECK
and e:GetHandler():IsPreviousLocation(LOCATION_ONFIELD) and not e:GetHandler():IsReason(REASON_BATTLE)
end
function c60151310.filter2(c,e,tp)
return c:GetCode()~=60151310 and c:IsSetCard(0x252a) and c:IsType(TYPE_MONSTER)
end
function c60151310.filter3(c,e,tp)
return c:IsLocation(LOCATION_MZONE) and c:IsPosition(POS_FACEUP) and c:GetControler()==tp
and c:IsSetCard(0x252a) and c:IsType(TYPE_MONSTER)
end
function c60151310.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c60151310.filter2,tp,LOCATION_DECK,0,1,nil,e,tp)
and Duel.IsExistingMatchingCard(c60151310.filter3,tp,LOCATION_ONFIELD,0,1,nil,e,tp) and Duel.GetLocationCount(tp,LOCATION_SZONE)>0 end
local g=Duel.GetMatchingGroup(c60151310.filter2,tp,LOCATION_DECK,0,nil,e,tp)
Duel.SetOperationInfo(0,CATEGORY_EQUIP,g,1,0,0)
end
function c60151310.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(60151310,3))
local g=Duel.SelectMatchingCard(tp,c60151310.filter3,tp,LOCATION_ONFIELD,0,1,1,nil,e,tp)
if g:GetCount()>0 then
Duel.HintSelection(g)
local tc=g:GetFirst()
if tc:IsImmuneToEffect(e) then return end
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(60151310,2))
local g1=Duel.SelectMatchingCard(tp,c60151310.filter2,tp,LOCATION_DECK,0,1,1,nil,e,tp)
if g1:GetCount()>0 then
local tc2=g1:GetFirst()
Duel.Equip(tp,tc2,tc,true,true)
Duel.EquipComplete()
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_EQUIP_LIMIT)
e1:SetReset(RESET_EVENT+0x1fe0000)
e1:SetValue(c60151310.eqlimit)
e1:SetLabelObject(tc)
tc2:RegisterEffect(e1)
end
end
end
function c60151310.sumtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c60151310.filter2,tp,LOCATION_GRAVE,0,1,nil,e,tp)
and Duel.IsExistingMatchingCard(c60151310.filter3,tp,LOCATION_ONFIELD,0,1,nil,e,tp)
and Duel.GetLocationCount(tp,LOCATION_SZONE)>0 end
local g=Duel.GetMatchingGroup(c60151310.filter2,tp,LOCATION_GRAVE,0,nil,e,tp)
Duel.SetOperationInfo(0,CATEGORY_EQUIP,g,1,0,0)
end
function c60151310.sumop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(60151310,3))
local g=Duel.SelectMatchingCard(tp,c60151310.filter3,tp,LOCATION_ONFIELD,0,1,1,nil,e,tp)
if g:GetCount()>0 then
Duel.HintSelection(g)
local tc=g:GetFirst()
if tc:IsImmuneToEffect(e) then return end
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(60151310,2))
local g1=Duel.SelectMatchingCard(tp,c60151310.filter2,tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
if g1:GetCount()>0 then
Duel.HintSelection(g1)
local tc2=g1:GetFirst()
Duel.Equip(tp,tc2,tc,true,true)
Duel.EquipComplete()
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_EQUIP_LIMIT)
e1:SetReset(RESET_EVENT+0x1fe0000)
e1:SetValue(c60151310.eqlimit)
e1:SetLabelObject(tc)
tc2:RegisterEffect(e1)
end
end
end
function c60151310.eqlimit(e,c)
return c==e:GetLabelObject()
end
--善意而恶意的行僧✿圣白莲
function c60151313.initial_effect(c)
--xyz summon
aux.AddXyzProcedure(c,aux.FilterBoolFunction(Card.IsAttribute,ATTRIBUTE_LIGHT),3,2)
c:EnableReviveLimit()
--special summon
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(60151301,1))
e1:SetCategory(CATEGORY_EQUIP)
e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetCondition(c60151313.regcon)
e1:SetTarget(c60151313.sptg)
e1:SetOperation(c60151313.spop)
c:RegisterEffect(e1)
--search
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(60151313,0))
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetCountLimit(1,60151313)
e2:SetRange(LOCATION_MZONE)
e2:SetCost(c60151313.cost)
e2:SetTarget(c60151313.target)
e2:SetOperation(c60151313.operation)
c:RegisterEffect(e2)
--Actlimit
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e3:SetRange(LOCATION_SZONE)
e3:SetCode(EVENT_ATTACK_ANNOUNCE)
e3:SetOperation(c60151313.lmop)
c:RegisterEffect(e3)
end
function c60151313.regcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetSummonType()==SUMMON_TYPE_XYZ
end
function c60151313.filter2(c,e,tp)
return not c:IsType(TYPE_XYZ) and c:IsSetCard(0x252a) and c:IsType(TYPE_MONSTER)
end
function c60151313.filter3(c,e,tp)
return c:IsLocation(LOCATION_MZONE) and c:IsPosition(POS_FACEUP) and c:GetControler()==tp
and c:IsSetCard(0x252a) and c:IsType(TYPE_MONSTER)
end
function c60151313.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c60151313.filter2,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil,e,tp)
and Duel.IsExistingMatchingCard(c60151313.filter3,tp,LOCATION_ONFIELD,0,1,nil,e,tp) and Duel.GetLocationCount(tp,LOCATION_SZONE)>0 end
local g=Duel.GetMatchingGroup(c60151313.filter2,tp,LOCATION_DECK+LOCATION_GRAVE,0,nil,e,tp)
Duel.SetOperationInfo(0,CATEGORY_EQUIP,g,1,0,0)
end
function c60151313.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(60151301,3))
local g=Duel.SelectMatchingCard(tp,c60151313.filter3,tp,LOCATION_ONFIELD,0,1,1,nil,e,tp)
if g:GetCount()>0 then
Duel.HintSelection(g)
local tc=g:GetFirst()
if tc:IsImmuneToEffect(e) then return end
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(60151301,2))
local g1=Duel.SelectMatchingCard(tp,c60151313.filter2,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,e,tp)
if g1:GetCount()>0 then
local tc2=g1:GetFirst()
if tc2:IsLocation(LOCATION_GRAVE) then Duel.HintSelection(g1) end
Duel.Equip(tp,tc2,tc,true,true)
Duel.EquipComplete()
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_EQUIP_LIMIT)
e1:SetReset(RESET_EVENT+0x1fe0000)
e1:SetValue(c60151313.eqlimit)
e1:SetLabelObject(tc)
tc2:RegisterEffect(e1)
end
end
end
function c60151313.eqlimit(e,c)
return c==e:GetLabelObject()
end
function c60151313.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end
e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST)
end
function c60151313.filter(c)
return ((c:IsSetCard(0x252a) and c:IsType(TYPE_MONSTER)) or c:IsSetCard(0x206)) and c:IsAbleToHand()
end
function c60151313.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c60151313.filter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE)
end
function c60151313.operation(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c60151313.filter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil)
if g:GetCount()>0 then
local tc2=g:GetFirst()
if tc2:IsLocation(LOCATION_GRAVE) then Duel.HintSelection(g) end
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
function c60151313.lmop(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_CANNOT_ACTIVATE)
e1:SetTargetRange(0,1)
e1:SetCondition(c60151313.actcon)
e1:SetValue(c60151313.aclimit)
e1:SetReset(RESET_PHASE+PHASE_DAMAGE)
Duel.RegisterEffect(e1,tp)
end
function c60151313.actcon(e)
return Duel.GetAttacker()==e:GetHandler():GetEquipTarget()
or Duel.GetAttackTarget()==e:GetHandler():GetEquipTarget()
end
function c60151313.aclimit(e,re,tp)
return not re:GetHandler():IsImmuneToEffect(e)
end
--被世人封印的妖僧✿圣白莲
function c60151315.initial_effect(c)
--xyz summon
aux.AddXyzProcedure(c,aux.FilterBoolFunction(Card.IsAttribute,ATTRIBUTE_LIGHT),3,2)
c:EnableReviveLimit()
--special summon
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(60151315,1))
e1:SetCategory(CATEGORY_EQUIP)
e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetCondition(c60151315.regcon)
e1:SetTarget(c60151315.sptg)
e1:SetOperation(c60151315.spop)
c:RegisterEffect(e1)
--to hand
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(60151315,0))
e2:SetCategory(CATEGORY_ATKCHANGE)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetHintTiming(0,0x1e0)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,60151315)
e2:SetCost(c60151315.thcost)
e2:SetOperation(c60151315.thop)
c:RegisterEffect(e2)
--equip effect
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_EQUIP)
e3:SetCode(EFFECT_UPDATE_LEVEL)
e3:SetValue(3)
e3:SetCondition(c60151315.con)
c:RegisterEffect(e3)
local e4=e3:Clone()
e4:SetCode(EFFECT_UPDATE_RANK)
c:RegisterEffect(e4)
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_EQUIP)
e5:SetCode(EFFECT_UPDATE_ATTACK)
e5:SetValue(c60151315.atkup)
e5:SetCondition(c60151315.con)
c:RegisterEffect(e5)
end
function c60151315.regcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetSummonType()==SUMMON_TYPE_XYZ
end
function c60151315.filter2(c,e,tp)
return not c:IsType(TYPE_XYZ) and c:IsSetCard(0x252a) and c:IsType(TYPE_MONSTER)
end
function c60151315.filter3(c,e,tp)
return c:IsLocation(LOCATION_MZONE) and c:IsPosition(POS_FACEUP) and c:GetControler()==tp
and c:IsSetCard(0x252a) and c:IsType(TYPE_MONSTER)
end
function c60151315.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c60151315.filter2,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil,e,tp)
and Duel.IsExistingMatchingCard(c60151315.filter3,tp,LOCATION_ONFIELD,0,1,nil,e,tp) and Duel.GetLocationCount(tp,LOCATION_SZONE)>0 end
local g=Duel.GetMatchingGroup(c60151315.filter2,tp,LOCATION_DECK+LOCATION_GRAVE,0,nil,e,tp)
Duel.SetOperationInfo(0,CATEGORY_EQUIP,g,1,0,0)
end
function c60151315.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(60151315,3))
local g=Duel.SelectMatchingCard(tp,c60151315.filter3,tp,LOCATION_ONFIELD,0,1,1,nil,e,tp)
if g:GetCount()>0 then
Duel.HintSelection(g)
local tc=g:GetFirst()
if tc:IsImmuneToEffect(e) then return end
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(60151315,2))
local g1=Duel.SelectMatchingCard(tp,c60151315.filter2,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,e,tp)
if g1:GetCount()>0 then
local tc2=g1:GetFirst()
if tc2:IsLocation(LOCATION_GRAVE) then Duel.HintSelection(g1) end
Duel.Equip(tp,tc2,tc,true,true)
Duel.EquipComplete()
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_EQUIP_LIMIT)
e1:SetReset(RESET_EVENT+0x1fe0000)
e1:SetValue(c60151315.eqlimit)
e1:SetLabelObject(tc)
tc2:RegisterEffect(e1)
end
end
end
function c60151315.eqlimit(e,c)
return c==e:GetLabelObject()
end
function c60151315.dfilter2(c)
return c:IsType(TYPE_EQUIP)
end
function c60151315.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST)
and e:GetHandler():GetEquipGroup():FilterCount(c60151315.dfilter2,nil)>0 end
e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST)
end
function c60151315.dfilter(c,atk)
return c:IsFaceup()
end
function c60151315.thop(e,tp,eg,ep,ev,re,r,rp)
local z=e:GetHandler():GetEquipCount()
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetReset(RESET_EVENT+0x1ff0000+RESET_PHASE+PHASE_END)
e1:SetValue(z*600)
e:GetHandler():RegisterEffect(e1)
end
function c60151315.con(e,tp,eg,ep,ev,re,r,rp)
local tg=e:GetHandler():GetEquipTarget()
return tg:IsSetCard(0x252a) and tg:IsType(TYPE_MONSTER)
end
function c60151315.atkup(e,c)
if e:GetHandler():GetEquipTarget():IsType(TYPE_XYZ) then
return e:GetHandler():GetEquipTarget():GetRank()*100
else
return e:GetHandler():GetEquipTarget():GetLevel()*100
end
end
--圣人的行方✿圣白莲
function c60151317.initial_effect(c)
--xyz summon
aux.AddXyzProcedure(c,aux.FilterBoolFunction(Card.IsAttribute,ATTRIBUTE_LIGHT),6,2,c60151317.ovfilter,aux.Stringid(60151317,0),2,c60151317.xyzop)
c:EnableReviveLimit()
--EQUIP
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(60151317,1))
e2:SetCategory(CATEGORY_DISABLE+CATEGORY_EQUIP)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,60151317)
e2:SetCondition(c60151317.setcon)
e2:SetCost(c60151317.thcost)
e2:SetTarget(c60151317.target)
e2:SetOperation(c60151317.thop)
c:RegisterEffect(e2)
local e13=e2:Clone()
e13:SetDescription(aux.Stringid(60151317,3))
e13:SetType(EFFECT_TYPE_QUICK_O)
e13:SetCode(EVENT_FREE_CHAIN)
e13:SetHintTiming(0,0x1e0)
e13:SetCondition(c60151317.setcon2)
c:RegisterEffect(e13)
--equip effect
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_EQUIP)
e3:SetCode(EFFECT_UPDATE_LEVEL)
e3:SetValue(3)
e3:SetCondition(c60151317.con)
c:RegisterEffect(e3)
local e4=e3:Clone()
e4:SetCode(EFFECT_UPDATE_RANK)
c:RegisterEffect(e4)
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_EQUIP)
e5:SetCode(EFFECT_UPDATE_ATTACK)
e5:SetValue(c60151317.atkup)
e5:SetCondition(c60151317.con)
c:RegisterEffect(e5)
end
function c60151317.ovfilter(c)
return c:IsFaceup() and (c:GetLevel()==6 or c:GetRank()==6) and c:IsSetCard(0x252a)
end
function c60151317.xyzop(e,tp,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 c60151317.filter(c)
return c:IsFaceup() and c:IsType(TYPE_MONSTER)
end
function c60151317.cfilter(c)
return c:IsSetCard(0x252a) and c:IsType(TYPE_XYZ)
end
function c60151317.setcon(e,tp,eg,ep,ev,re,r,rp)
return not e:GetHandler():GetOverlayGroup():IsExists(c60151317.cfilter,1,nil)
end
function c60151317.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end
e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST)
end
function c60151317.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and c60151317.filter(chkc) and chkc~=e:GetHandler() end
if chk==0 then return Duel.IsExistingTarget(c60151317.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,e:GetHandler()) and Duel.GetLocationCount(tp,LOCATION_SZONE)>0 end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_OPPO)
local g=Duel.SelectTarget(tp,c60151317.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,e:GetHandler())
Duel.SetOperationInfo(0,CATEGORY_DISABLE,nil,1,1-tp,LOCATION_MZONE)
end
function c60151317.thop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if tc and tc:IsRelateToEffect(e) then
Duel.NegateRelatedChain(tc,RESET_TURN_SET)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_DISABLE)
e1:SetReset(RESET_EVENT+0x1fe0000)
tc:RegisterEffect(e1)
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_DISABLE_EFFECT)
e2:SetValue(RESET_TURN_SET)
e2:SetReset(RESET_EVENT+0x1fe0000)
tc:RegisterEffect(e2)
if c:IsRelateToEffect(e) and Duel.GetLocationCount(tp,LOCATION_SZONE)>0 then
Duel.Equip(tp,tc,e:GetHandler(),false,true)
local e3=Effect.CreateEffect(e:GetHandler())
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_EQUIP_LIMIT)
e3:SetReset(RESET_EVENT+0x1fe0000)
e3:SetLabelObject(tc)
e3:SetValue(c60151317.eqlimit2)
tc:RegisterEffect(e3)
Duel.EquipComplete()
--[[local e4=Effect.CreateEffect(e:GetHandler())
e4:SetType(EFFECT_TYPE_FIELD)
e4:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e4:SetCode(EFFECT_CANNOT_ACTIVATE)
e4:SetTargetRange(0,1)
if Duel.GetTurnPlayer()~=tp then
e4:SetReset(RESET_PHASE+PHASE_END+RESET_OPPO_TURN,2)
else
e4:SetReset(RESET_PHASE+PHASE_END+RESET_OPPO_TURN)
end
e4:SetValue(c60151317.aclimit)
e4:SetLabel(tc:GetCode())
Duel.RegisterEffect(e4,tp)]]
end
end
end
function c60151317.eqlimit2(e,c)
return e:GetOwner()==c
end
function c60151317.aclimit(e,re,tp)
return re:GetHandler():IsCode(e:GetLabel()) and not re:GetHandler():IsImmuneToEffect(e)
end
function c60151317.cfilter2(c)
return c:IsSetCard(0x252a) and c:IsType(TYPE_XYZ)
end
function c60151317.setcon2(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetOverlayGroup():IsExists(c60151317.cfilter2,1,nil)
end
function c60151317.con(e,tp,eg,ep,ev,re,r,rp)
local tg=e:GetHandler():GetEquipTarget()
return tg:IsSetCard(0x252a) and tg:IsType(TYPE_MONSTER)
end
function c60151317.atkup(e,c)
if e:GetHandler():GetEquipTarget():IsType(TYPE_XYZ) then
return e:GetHandler():GetEquipTarget():GetRank()*100
else
return e:GetHandler():GetEquipTarget():GetLevel()*100
end
end
--法界的华莲 圣白莲
function c60151319.initial_effect(c)
--xyz summon
aux.AddXyzProcedure(c,aux.FilterBoolFunction(Card.IsAttribute,ATTRIBUTE_LIGHT),9,2,c60151319.ovfilter,aux.Stringid(60151319,0),2,c60151319.xyzop)
c:EnableReviveLimit()
--destroy
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(60151319,1))
e2:SetCategory(CATEGORY_DESTROY)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,60151319)
e2:SetCondition(c60151319.setcon)
e2:SetCost(c60151319.descost)
e2:SetTarget(c60151319.destg)
e2:SetOperation(c60151319.desop)
c:RegisterEffect(e2)
local e13=e2:Clone()
e13:SetDescription(aux.Stringid(60151319,4))
e13:SetType(EFFECT_TYPE_QUICK_O)
e13:SetCode(EVENT_FREE_CHAIN)
e13:SetHintTiming(0,0x1e0)
e13:SetCondition(c60151319.setcon2)
c:RegisterEffect(e13)
--equip effect
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_EQUIP)
e3:SetCode(EFFECT_UPDATE_LEVEL)
e3:SetValue(3)
e3:SetCondition(c60151319.con)
c:RegisterEffect(e3)
local e4=e3:Clone()
e4:SetCode(EFFECT_UPDATE_RANK)
c:RegisterEffect(e4)
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_EQUIP)
e5:SetCode(EFFECT_UPDATE_ATTACK)
e5:SetValue(c60151319.atkup)
e5:SetCondition(c60151319.con)
c:RegisterEffect(e5)
--actlimit
--[[local e6=Effect.CreateEffect(c)
e6:SetType(EFFECT_TYPE_FIELD)
e6:SetCode(EFFECT_CANNOT_ACTIVATE)
e6:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e6:SetRange(LOCATION_MZONE)
e6:SetTargetRange(1,1)
e6:SetCondition(c60151319.con2)
e6:SetValue(c60151319.actlimit)
c:RegisterEffect(e6)]]
end
function c60151319.ovfilter(c)
return c:IsFaceup() and (c:GetLevel()==9 or c:GetRank()==9) and c:IsSetCard(0x252a)
end
function c60151319.xyzop(e,tp,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 c60151319.cfilter(c)
return c:IsSetCard(0x252a) and c:IsType(TYPE_XYZ)
end
function c60151319.setcon(e,tp,eg,ep,ev,re,r,rp)
return not e:GetHandler():GetOverlayGroup():IsExists(c60151319.cfilter,1,nil)
end
function c60151319.dfilter(c)
return c:IsType(TYPE_EQUIP) and c:IsReleasable() and c:IsFaceup()
end
function c60151319.descost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) and Duel.IsExistingMatchingCard(c60151319.dfilter,tp,LOCATION_ONFIELD,0,1,nil) end
e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST)
local ct1=Duel.GetMatchingGroupCount(aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local rg=Duel.SelectMatchingCard(tp,c60151319.dfilter,tp,LOCATION_ONFIELD,0,1,ct1,nil)
local ct2=Duel.Release(rg,REASON_COST)
e:SetLabel(ct2)
end
function c60151319.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
local g=Duel.GetMatchingGroup(Card.IsDestructable,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0)
end
function c60151319.filter(c)
return true
end
function c60151319.desop(e,tp,eg,ep,ev,re,r,rp)
local ct2=e:GetLabel()
if ct2==0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local dg=Duel.SelectMatchingCard(tp,aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,ct2,nil)
if dg:GetCount()>0 then
Duel.HintSelection(dg)
Duel.Destroy(dg,REASON_EFFECT)
end
end
function c60151319.eqlimit2(e,c)
return e:GetOwner()==c
end
function c60151319.cfilter2(c)
return c:IsSetCard(0x252a) and c:IsType(TYPE_XYZ)
end
function c60151319.setcon2(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetOverlayGroup():IsExists(c60151319.cfilter2,1,nil)
end
function c60151319.con(e,tp,eg,ep,ev,re,r,rp)
local tg=e:GetHandler():GetEquipTarget()
return tg:IsSetCard(0x252a) and tg:IsType(TYPE_MONSTER)
end
function c60151319.atkup(e,c)
if e:GetHandler():GetEquipTarget():IsType(TYPE_XYZ) then
return e:GetHandler():GetEquipTarget():GetRank()*100
else
return e:GetHandler():GetEquipTarget():GetLevel()*100
end
end
function c60151319.con2(e)
local ph=Duel.GetCurrentPhase()
return ph==PHASE_MAIN1 or ph==PHASE_MAIN2
end
function c60151319.actlimit(e,te,tp)
return te:IsActiveType(TYPE_TRAP)
end
--后光 圣白莲
function c60151321.initial_effect(c)
--xyz summon
aux.AddXyzProcedure(c,aux.FilterBoolFunction(Card.IsAttribute,ATTRIBUTE_LIGHT),12,2,c60151321.ovfilter,aux.Stringid(60151321,3),2,c60151321.xyzop)
c:EnableReviveLimit()
--destroy
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(60151321,1))
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,60151321)
e2:SetCondition(c60151321.setcon)
e2:SetTarget(c60151321.thtg)
e2:SetCost(c60151321.thcost)
e2:SetOperation(c60151321.thop)
c:RegisterEffect(e2)
local e13=e2:Clone()
e13:SetDescription(aux.Stringid(60151321,4))
e13:SetType(EFFECT_TYPE_QUICK_O)
e13:SetCode(EVENT_FREE_CHAIN)
e13:SetHintTiming(0,0x1e0)
e13:SetCondition(c60151321.setcon2)
c:RegisterEffect(e13)
--equip effect
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_EQUIP)
e4:SetCode(EFFECT_IMMUNE_EFFECT)
e4:SetValue(c60151321.tgvalue)
e4:SetCondition(c60151321.con)
c:RegisterEffect(e4)
end
function c60151321.ovfilter(c)
return c:IsFaceup() and (c:GetLevel()==12 or c:GetRank()==12) and c:IsSetCard(0x252a)
end
function c60151321.xyzop(e,tp,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 c60151321.cfilter(c)
return c:IsSetCard(0x252a) and c:IsType(TYPE_XYZ)
end
function c60151321.setcon(e,tp,eg,ep,ev,re,r,rp)
return not e:GetHandler():GetOverlayGroup():IsExists(c60151321.cfilter,1,nil)
end
function c60151321.ccfilter(c)
return c:GetEquipCount()>0 and c:GetEquipGroup():IsExists(Card.IsReleasable,1,nil)
end
function c60151321.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST)
and Duel.IsExistingMatchingCard(c60151321.ccfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) end
e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST)
local g=Duel.GetMatchingGroup(c60151321.ccfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil)
local lg=Group.CreateGroup()
local tc=g:GetFirst()
while tc do
local sg=tc:GetEquipGroup()
lg:Merge(sg)
tc=g:GetNext()
end
local fg=lg:Filter(Card.IsReleasable,nil)
Duel.Release(fg,REASON_COST)
fg:KeepAlive()
e:SetLabelObject(fg)
end
function c60151321.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetCurrentPhase()<PHASE_MAIN2 end
end
function c60151321.acfilter1(c)
return bit.band(c:GetOriginalType(),TYPE_MONSTER)~=0
end
function c60151321.acfilter2(c)
return bit.band(c:GetOriginalType(),TYPE_SPELL)~=0
end
function c60151321.acfilter3(c)
return bit.band(c:GetOriginalType(),TYPE_TRAP)~=0
end
function c60151321.thop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.GetCurrentPhase()<PHASE_MAIN2 then
local fg=e:GetLabelObject()
if fg:IsExists(c60151321.acfilter1,1,nil) then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_CANNOT_ACTIVATE)
e1:SetTargetRange(0,1)
e1:SetValue(c60151321.aclimit1)
e1:SetReset(RESET_PHASE+PHASE_BATTLE)
Duel.RegisterEffect(e1,tp)
end
if fg:IsExists(c60151321.acfilter2,1,nil) then
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetCode(EFFECT_CANNOT_ACTIVATE)
e2:SetTargetRange(0,1)
e2:SetValue(c60151321.aclimit2)
e2:SetReset(RESET_PHASE+PHASE_BATTLE)
Duel.RegisterEffect(e2,tp)
end
if fg:IsExists(c60151321.acfilter3,1,nil) then
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e3:SetCode(EFFECT_CANNOT_ACTIVATE)
e3:SetTargetRange(0,1)
e3:SetValue(c60151321.aclimit3)
e3:SetReset(RESET_PHASE+PHASE_BATTLE)
Duel.RegisterEffect(e3,tp)
end
end
end
function c60151321.aclimit1(e,re,tp)
return re:IsActiveType(TYPE_MONSTER) and not re:GetHandler():IsImmuneToEffect(e)
end
function c60151321.aclimit2(e,re,tp)
return re:IsHasType(EFFECT_TYPE_ACTIVATE) and re:IsActiveType(TYPE_SPELL) and not re:GetHandler():IsImmuneToEffect(e)
end
function c60151321.aclimit3(e,re,tp)
return re:IsHasType(EFFECT_TYPE_ACTIVATE) and re:IsActiveType(TYPE_TRAP) and not re:GetHandler():IsImmuneToEffect(e)
end
function c60151321.cfilter2(c)
return c:IsSetCard(0x252a) and c:IsType(TYPE_XYZ)
end
function c60151321.setcon2(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetOverlayGroup():IsExists(c60151321.cfilter2,1,nil)
end
function c60151321.tgvalue(e,te)
return te:GetOwnerPlayer()~=e:GetHandlerPlayer()
end
function c60151321.con(e,tp,eg,ep,ev,re,r,rp)
local tg=e:GetHandler():GetEquipTarget()
return tg:IsSetCard(0x252a) and tg:IsType(TYPE_MONSTER)
end
--顿悟『醒悟的世界』
function c60151325.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(60151325,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetTarget(c60151325.target)
e1:SetOperation(c60151325.activate)
c:RegisterEffect(e1)
end
function c60151325.filter1(c,e,tp)
if c:IsType(TYPE_XYZ) then
local rk=c:GetRank()
return c:IsFaceup() and c:IsType(TYPE_MONSTER) and c:IsSetCard(0x252a) and not c:IsType(TYPE_LINK)
and Duel.IsExistingMatchingCard(c60151325.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,c,rk+3)
else
local rk=c:GetLevel()
return c:IsFaceup() and c:IsType(TYPE_MONSTER) and c:IsSetCard(0x252a) and not c:IsType(TYPE_LINK)
and Duel.IsExistingMatchingCard(c60151325.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,c,rk+3)
end
end
function c60151325.filter2(c,e,tp,mc,rk)
return c:GetRank()==rk and c:IsSetCard(0x252a) and mc:IsCanBeXyzMaterial(c)
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_XYZ,tp,false,false) and not c:IsType(TYPE_LINK)
end
function c60151325.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsControler(tp) and chkc:IsLocation(LOCATION_MZONE) and c60151325.filter1(chkc,e,tp) end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>-1
and Duel.IsExistingTarget(c60151325.filter1,tp,LOCATION_MZONE,0,1,nil,e,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
Duel.SelectTarget(tp,c60151325.filter1,tp,LOCATION_MZONE,0,1,1,nil,e,tp)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end
function c60151325.spfilter(c,rk2)
if c:IsType(TYPE_XYZ) then
return c:IsType(TYPE_MONSTER) and c:IsSetCard(0x252a) and c:GetRank()<rk2 and not c:IsType(TYPE_LINK)
else
return c:IsType(TYPE_MONSTER) and c:IsSetCard(0x252a) and c:GetLevel()<rk2 and not c:IsType(TYPE_LINK)
end
end
function c60151325.activate(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<0 then return end
local tc=Duel.GetFirstTarget()
if tc:IsFacedown() or not tc:IsRelateToEffect(e) or tc:IsControler(1-tp) or tc:IsImmuneToEffect(e) then return end
if tc:IsType(TYPE_XYZ) then
local rk=tc:GetRank()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c60151325.filter2,tp,LOCATION_EXTRA,0,1,1,nil,e,tp,tc,rk+3)
local sc=g:GetFirst()
if sc then
local mg=tc:GetOverlayGroup()
if mg:GetCount()~=0 then
Duel.Overlay(sc,mg)
end
sc:SetMaterial(Group.FromCards(tc))
Duel.Overlay(sc,Group.FromCards(tc))
Duel.SpecialSummon(sc,SUMMON_TYPE_XYZ,tp,tp,false,false,POS_FACEUP)
sc:CompleteProcedure()
local rk2=sc:GetRank()
local g1=Duel.GetMatchingGroup(c60151325.spfilter,tp,LOCATION_EXTRA,0,nil,rk2)
if g1:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(60151325,1)) then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(60151325,2))
local sg=g1:Select(tp,1,1,nil)
Duel.Overlay(sc,sg)
end
end
else
local rk=tc:GetLevel()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c60151325.filter2,tp,LOCATION_EXTRA,0,1,1,nil,e,tp,tc,rk+3)
local sc=g:GetFirst()
if sc then
local mg=tc:GetOverlayGroup()
if mg:GetCount()~=0 then
Duel.Overlay(sc,mg)
end
sc:SetMaterial(Group.FromCards(tc))
Duel.Overlay(sc,Group.FromCards(tc))
Duel.SpecialSummon(sc,SUMMON_TYPE_XYZ,tp,tp,false,false,POS_FACEUP)
sc:CompleteProcedure()
local rk2=sc:GetRank()
local g1=Duel.GetMatchingGroup(c60151325.spfilter,tp,LOCATION_EXTRA,0,nil,rk2)
if g1:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(60151325,1)) then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(60151325,2))
local sg=g1:Select(tp,1,1,nil)
Duel.Overlay(sc,sg)
end
end
end
end
--天符「大日如来的光辉」
function c60151327.initial_effect(c)
--
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TODECK)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(TIMING_MSET,TIMING_SSET,TIMING_END_PHASE)
e1:SetCountLimit(1,60151327)
e1:SetCondition(c60151327.condition)
e1:SetTarget(c60151327.target)
e1:SetOperation(c60151327.operation)
c:RegisterEffect(e1)
--
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_DRAW)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_GRAVE)
e2:SetCountLimit(1,60151328)
e2:SetCondition(aux.exccon)
e2:SetCost(c60151327.negcost)
e2:SetTarget(c60151327.target2)
e2:SetOperation(c60151327.activate2)
c:RegisterEffect(e2)
end
function c60151327.atkfilter1(c)
return c:IsFacedown()
end
function c60151327.atkfilter2(c)
return c:IsFaceup() and c:IsType(TYPE_EQUIP)
end
function c60151327.condition(e,tp,eg,ep,ev,re,r,rp)
local ct1=Duel.GetMatchingGroupCount(c60151327.atkfilter1,tp,0,LOCATION_ONFIELD,nil)
local ct2=Duel.GetMatchingGroupCount(c60151327.atkfilter2,tp,LOCATION_ONFIELD,0,nil)
return ct2>=ct1
end
function c60151327.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c60151327.atkfilter1,tp,0,LOCATION_ONFIELD,1,nil) end
local g=Duel.GetMatchingGroup(c60151327.atkfilter1,tp,0,LOCATION_ONFIELD,nil)
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,g:GetCount(),0,0)
Duel.SetChainLimit(aux.FALSE)
end
function c60151327.operation(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(c60151327.atkfilter1,tp,0,LOCATION_ONFIELD,nil)
Duel.SendtoDeck(g,nil,2,REASON_EFFECT)
end
--
function c60151327.cfilter(c)
return c:IsType(TYPE_EQUIP) and c:IsAbleToGraveAsCost()
end
function c60151327.negcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToRemoveAsCost()
and Duel.IsExistingMatchingCard(c60151327.cfilter,tp,LOCATION_ONFIELD,0,2,nil) end
Duel.Remove(e:GetHandler(),POS_FACEUP,REASON_COST)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,c60151327.cfilter,tp,LOCATION_ONFIELD,0,2,2,nil)
Duel.SendtoGrave(g,REASON_COST)
end
function c60151327.target2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsPlayerCanDraw(tp,1) end
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
end
function c60151327.activate2(e,tp,eg,ep,ev,re,r,rp)
Duel.Draw(tp,1,REASON_EFFECT)
end
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment