Commit 6f267f43 authored by Nemo Ma's avatar Nemo Ma

wild

parent 8836e47a
No preview for this file type
expansions/pics/10080420.jpg

43.9 KB | W: | H:

expansions/pics/10080420.jpg

43.8 KB | W: | H:

expansions/pics/10080420.jpg
expansions/pics/10080420.jpg
expansions/pics/10080420.jpg
expansions/pics/10080420.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/111443942.jpg

48.6 KB | W: | H:

expansions/pics/111443942.jpg

45.5 KB | W: | H:

expansions/pics/111443942.jpg
expansions/pics/111443942.jpg
expansions/pics/111443942.jpg
expansions/pics/111443942.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/112538374.jpg

42.2 KB | W: | H:

expansions/pics/112538374.jpg

40.1 KB | W: | H:

expansions/pics/112538374.jpg
expansions/pics/112538374.jpg
expansions/pics/112538374.jpg
expansions/pics/112538374.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/113482285.jpg

44.1 KB | W: | H:

expansions/pics/113482285.jpg

45.1 KB | W: | H:

expansions/pics/113482285.jpg
expansions/pics/113482285.jpg
expansions/pics/113482285.jpg
expansions/pics/113482285.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/114431144.jpg

41.5 KB | W: | H:

expansions/pics/114431144.jpg

34.1 KB | W: | H:

expansions/pics/114431144.jpg
expansions/pics/114431144.jpg
expansions/pics/114431144.jpg
expansions/pics/114431144.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/114439429.jpg

44.8 KB | W: | H:

expansions/pics/114439429.jpg

38.7 KB | W: | H:

expansions/pics/114439429.jpg
expansions/pics/114439429.jpg
expansions/pics/114439429.jpg
expansions/pics/114439429.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/114562761.jpg

46.7 KB | W: | H:

expansions/pics/114562761.jpg

48.4 KB | W: | H:

expansions/pics/114562761.jpg
expansions/pics/114562761.jpg
expansions/pics/114562761.jpg
expansions/pics/114562761.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/114606001.jpg

42.6 KB | W: | H:

expansions/pics/114606001.jpg

43.8 KB | W: | H:

expansions/pics/114606001.jpg
expansions/pics/114606001.jpg
expansions/pics/114606001.jpg
expansions/pics/114606001.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/114644893.jpg

50.6 KB | W: | H:

expansions/pics/114644893.jpg

51.5 KB | W: | H:

expansions/pics/114644893.jpg
expansions/pics/114644893.jpg
expansions/pics/114644893.jpg
expansions/pics/114644893.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/114707556.jpg

48.6 KB | W: | H:

expansions/pics/114707556.jpg

50.2 KB | W: | H:

expansions/pics/114707556.jpg
expansions/pics/114707556.jpg
expansions/pics/114707556.jpg
expansions/pics/114707556.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/114722253.jpg

49.8 KB | W: | H:

expansions/pics/114722253.jpg

46.4 KB | W: | H:

expansions/pics/114722253.jpg
expansions/pics/114722253.jpg
expansions/pics/114722253.jpg
expansions/pics/114722253.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/114890515.jpg

45.3 KB | W: | H:

expansions/pics/114890515.jpg

39.7 KB | W: | H:

expansions/pics/114890515.jpg
expansions/pics/114890515.jpg
expansions/pics/114890515.jpg
expansions/pics/114890515.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/115072031.jpg

48.7 KB | W: | H:

expansions/pics/115072031.jpg

49.4 KB | W: | H:

expansions/pics/115072031.jpg
expansions/pics/115072031.jpg
expansions/pics/115072031.jpg
expansions/pics/115072031.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/115449321.jpg

43.5 KB | W: | H:

expansions/pics/115449321.jpg

46.9 KB | W: | H:

expansions/pics/115449321.jpg
expansions/pics/115449321.jpg
expansions/pics/115449321.jpg
expansions/pics/115449321.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/116301233.jpg

44.9 KB | W: | H:

expansions/pics/116301233.jpg

43.3 KB | W: | H:

expansions/pics/116301233.jpg
expansions/pics/116301233.jpg
expansions/pics/116301233.jpg
expansions/pics/116301233.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/116511113.jpg

51 KB | W: | H:

expansions/pics/116511113.jpg

53.6 KB | W: | H:

expansions/pics/116511113.jpg
expansions/pics/116511113.jpg
expansions/pics/116511113.jpg
expansions/pics/116511113.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/116839253.jpg

54.5 KB | W: | H:

expansions/pics/116839253.jpg

51.4 KB | W: | H:

expansions/pics/116839253.jpg
expansions/pics/116839253.jpg
expansions/pics/116839253.jpg
expansions/pics/116839253.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/117179181.jpg

46.2 KB | W: | H:

expansions/pics/117179181.jpg

52.9 KB | W: | H:

expansions/pics/117179181.jpg
expansions/pics/117179181.jpg
expansions/pics/117179181.jpg
expansions/pics/117179181.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/117485040.jpg

48.6 KB | W: | H:

expansions/pics/117485040.jpg

51.3 KB | W: | H:

expansions/pics/117485040.jpg
expansions/pics/117485040.jpg
expansions/pics/117485040.jpg
expansions/pics/117485040.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/117837139.jpg

51.4 KB | W: | H:

expansions/pics/117837139.jpg

52.7 KB | W: | H:

expansions/pics/117837139.jpg
expansions/pics/117837139.jpg
expansions/pics/117837139.jpg
expansions/pics/117837139.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/117960683.jpg

46.9 KB | W: | H:

expansions/pics/117960683.jpg

46.6 KB | W: | H:

expansions/pics/117960683.jpg
expansions/pics/117960683.jpg
expansions/pics/117960683.jpg
expansions/pics/117960683.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/117981478.jpg

47.9 KB | W: | H:

expansions/pics/117981478.jpg

40 KB | W: | H:

expansions/pics/117981478.jpg
expansions/pics/117981478.jpg
expansions/pics/117981478.jpg
expansions/pics/117981478.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/118353144.jpg

45 KB | W: | H:

expansions/pics/118353144.jpg

49.3 KB | W: | H:

expansions/pics/118353144.jpg
expansions/pics/118353144.jpg
expansions/pics/118353144.jpg
expansions/pics/118353144.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/118426889.jpg

46.3 KB | W: | H:

expansions/pics/118426889.jpg

50.3 KB | W: | H:

expansions/pics/118426889.jpg
expansions/pics/118426889.jpg
expansions/pics/118426889.jpg
expansions/pics/118426889.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/118776531.jpg

69.2 KB | W: | H:

expansions/pics/118776531.jpg

53.2 KB | W: | H:

expansions/pics/118776531.jpg
expansions/pics/118776531.jpg
expansions/pics/118776531.jpg
expansions/pics/118776531.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/118817732.jpg

51 KB | W: | H:

expansions/pics/118817732.jpg

50.6 KB | W: | H:

expansions/pics/118817732.jpg
expansions/pics/118817732.jpg
expansions/pics/118817732.jpg
expansions/pics/118817732.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/118824150.jpg

51.4 KB | W: | H:

expansions/pics/118824150.jpg

49.6 KB | W: | H:

expansions/pics/118824150.jpg
expansions/pics/118824150.jpg
expansions/pics/118824150.jpg
expansions/pics/118824150.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/119150521.jpg

46.9 KB | W: | H:

expansions/pics/119150521.jpg

46.3 KB | W: | H:

expansions/pics/119150521.jpg
expansions/pics/119150521.jpg
expansions/pics/119150521.jpg
expansions/pics/119150521.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/119828752.jpg

51.8 KB | W: | H:

expansions/pics/119828752.jpg

44.3 KB | W: | H:

expansions/pics/119828752.jpg
expansions/pics/119828752.jpg
expansions/pics/119828752.jpg
expansions/pics/119828752.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/120366274.jpg

49.6 KB | W: | H:

expansions/pics/120366274.jpg

42 KB | W: | H:

expansions/pics/120366274.jpg
expansions/pics/120366274.jpg
expansions/pics/120366274.jpg
expansions/pics/120366274.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/121082832.jpg

41.7 KB | W: | H:

expansions/pics/121082832.jpg

42.9 KB | W: | H:

expansions/pics/121082832.jpg
expansions/pics/121082832.jpg
expansions/pics/121082832.jpg
expansions/pics/121082832.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/122842126.jpg

43.1 KB | W: | H:

expansions/pics/122842126.jpg

36.4 KB | W: | H:

expansions/pics/122842126.jpg
expansions/pics/122842126.jpg
expansions/pics/122842126.jpg
expansions/pics/122842126.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/123064604.jpg

42.7 KB | W: | H:

expansions/pics/123064604.jpg

40.6 KB | W: | H:

expansions/pics/123064604.jpg
expansions/pics/123064604.jpg
expansions/pics/123064604.jpg
expansions/pics/123064604.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/127541563.jpg

45 KB | W: | H:

expansions/pics/127541563.jpg

46.5 KB | W: | H:

expansions/pics/127541563.jpg
expansions/pics/127541563.jpg
expansions/pics/127541563.jpg
expansions/pics/127541563.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/129223325.jpg

48 KB | W: | H:

expansions/pics/129223325.jpg

48.6 KB | W: | H:

expansions/pics/129223325.jpg
expansions/pics/129223325.jpg
expansions/pics/129223325.jpg
expansions/pics/129223325.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/4058.jpg

51.6 KB | W: | H:

expansions/pics/4058.jpg

48.7 KB | W: | H:

expansions/pics/4058.jpg
expansions/pics/4058.jpg
expansions/pics/4058.jpg
expansions/pics/4058.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/89386000.jpg

10.6 KB | W: | H:

expansions/pics/89386000.jpg

44.8 KB | W: | H:

expansions/pics/89386000.jpg
expansions/pics/89386000.jpg
expansions/pics/89386000.jpg
expansions/pics/89386000.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/89386001.jpg

9.35 KB | W: | H:

expansions/pics/89386001.jpg

39.3 KB | W: | H:

expansions/pics/89386001.jpg
expansions/pics/89386001.jpg
expansions/pics/89386001.jpg
expansions/pics/89386001.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/89386002.jpg

9.28 KB | W: | H:

expansions/pics/89386002.jpg

39.5 KB | W: | H:

expansions/pics/89386002.jpg
expansions/pics/89386002.jpg
expansions/pics/89386002.jpg
expansions/pics/89386002.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/89386003.jpg

10.5 KB | W: | H:

expansions/pics/89386003.jpg

44.8 KB | W: | H:

expansions/pics/89386003.jpg
expansions/pics/89386003.jpg
expansions/pics/89386003.jpg
expansions/pics/89386003.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/89386004.jpg

9.24 KB | W: | H:

expansions/pics/89386004.jpg

39.8 KB | W: | H:

expansions/pics/89386004.jpg
expansions/pics/89386004.jpg
expansions/pics/89386004.jpg
expansions/pics/89386004.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/89386005.jpg

9.22 KB | W: | H:

expansions/pics/89386005.jpg

38 KB | W: | H:

expansions/pics/89386005.jpg
expansions/pics/89386005.jpg
expansions/pics/89386005.jpg
expansions/pics/89386005.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/89386006.jpg

9.19 KB | W: | H:

expansions/pics/89386006.jpg

38.5 KB | W: | H:

expansions/pics/89386006.jpg
expansions/pics/89386006.jpg
expansions/pics/89386006.jpg
expansions/pics/89386006.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/89386007.jpg

8.7 KB | W: | H:

expansions/pics/89386007.jpg

37.5 KB | W: | H:

expansions/pics/89386007.jpg
expansions/pics/89386007.jpg
expansions/pics/89386007.jpg
expansions/pics/89386007.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/89386008.jpg

9.05 KB | W: | H:

expansions/pics/89386008.jpg

38.5 KB | W: | H:

expansions/pics/89386008.jpg
expansions/pics/89386008.jpg
expansions/pics/89386008.jpg
expansions/pics/89386008.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/89386009.jpg

9.36 KB | W: | H:

expansions/pics/89386009.jpg

38.8 KB | W: | H:

expansions/pics/89386009.jpg
expansions/pics/89386009.jpg
expansions/pics/89386009.jpg
expansions/pics/89386009.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/89386010.jpg

9.66 KB | W: | H:

expansions/pics/89386010.jpg

41.1 KB | W: | H:

expansions/pics/89386010.jpg
expansions/pics/89386010.jpg
expansions/pics/89386010.jpg
expansions/pics/89386010.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/90700075.jpg

427 KB | W: | H:

expansions/pics/90700075.jpg

651 KB | W: | H:

expansions/pics/90700075.jpg
expansions/pics/90700075.jpg
expansions/pics/90700075.jpg
expansions/pics/90700075.jpg
  • 2-up
  • Swipe
  • Onion skin
--進化の到達点
function c10080420.initial_effect(c)
--activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_REMOVE)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetOperation(c10080420.spop)
e1:SetOperation(c10080420.ctop2)
c:RegisterEffect(e1)
--search
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetRange(LOCATION_FZONE)
e2:SetCode(EVENT_CHAIN_SOLVED)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCondition(c10080420.spcon)
e2:SetOperation(c10080420.spop)
e2:SetCondition(c10080420.drcon)
e2:SetOperation(c10080420.drop)
c:RegisterEffect(e2)
--spsummon
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e3:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e3:SetCode(EVENT_CHAINING)
e3:SetRange(LOCATION_FZONE)
e3:SetCode(EVENT_SPSUMMON_SUCCESS)
e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetCountLimit(2)
e3:SetCondition(c10080420.thcon)
e3:SetOperation(c10080420.thop)
e3:SetOperation(aux.chainreg)
c:RegisterEffect(e3)
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e4:SetCode(EVENT_CHAIN_SOLVED)
e4:SetRange(LOCATION_FZONE)
e4:SetCondition(c10080420.ctcon)
e4:SetOperation(c10080420.ctop)
c:RegisterEffect(e4)
--leave
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_SINGLE)
e5:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e5:SetCode(EVENT_LEAVE_FIELD_P)
e5:SetOperation(c10080420.checkop)
c:RegisterEffect(e5)
local e6=Effect.CreateEffect(c)
e6:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e6:SetCode(EVENT_LEAVE_FIELD)
e6:SetCondition(c10080420.leavecon)
e6:SetOperation(c10080420.leaveop)
e6:SetLabelObject(e5)
e6:SetOperation(c10080420.leave)
c:RegisterEffect(e6)
end
function c10080420.Isshinka(c)
return c:IsType(TYPE_SPELL+TYPE_TRAP) and (c:IsSetCard(0x10e) or c:IsCode(5338223,7373632,8632967,14154221,24362891,25573054,34026662,34572613,62991886,64815084,74100225,77840540,88760522,93504463,10080420))
function c10080420.evolfilter(c)
return c:IsCode(10080420) --進化の到達点(「ジュラシックワールド」として扱うため実質「進化」カテゴリには含まれない)
or c:IsCode(5338223) --強制進化
or c:IsCode(88760522) --多様進化
or c:IsCode(25573054) --進化する翼
or c:IsCode(34026662) --進化の奇跡
or c:IsCode(77840540) --超進化の繭
or c:IsCode(8632967) --進化の宿命
or c:IsCode(14154221) --進化の代償
or c:IsCode(62991886) --進化する人類
or c:IsCode(24362891) --突然進化
or c:IsCode(64815084) --進化の分岐点
or c:IsCode(74100225) --進化の特異点
or c:IsCode(93504463) --進化への懸け橋
-- 以下、「進化」モンスター(実質「進化」カテゴリには含まれない)
or c:IsCode(44088292) --進化合獣ダイオーキシン
or c:IsCode(80476891) --進化合獣ヒュードラゴン
or c:IsCode(40240595) --進化の繭
or c:IsSetCard(0x10e)
or c:IsCode(7373632)
or c:IsCode(34572613)
end
function c10080420.spcon(e,tp,eg,ep,ev,re,r,rp)
return rp==tp and c10080420.Isshinka(re:GetHandler())
end
function c10080420.spfilter(c,e,tp)
return c:IsSetCard(0x4e) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c10080420.spop(e,tp,eg,ep,ev,re,r,rp)
function c10080420.ctop2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:GetFlagEffect(10080420)>1 or Duel.GetLocationCount(tp,LOCATION_MZONE)<1 then return end
local g=Duel.GetMatchingGroup(c10080420.spfilter,tp,LOCATION_DECK,0,nil,e,tp)
if g:GetCount()<1 then
Duel.ConfirmCards(1-tp,Duel.GetFieldGroup(tp,LOCATION_DECK,0))
return
if not e:GetHandler():IsRelateToEffect(e) then return end
if Duel.IsExistingMatchingCard(c10080420.spfilter,tp,LOCATION_DECK,0,1,nil,e,tp) and c:GetFlagEffect(10080421)<=1
and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.SelectYesNo(tp,aux.Stringid(10080420,3)) then
Duel.Hint(HINT_OPSELECTED,1-tp,aux.Stringid(10080420,2))
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c10080420.spfilter,tp,LOCATION_DECK,0,1,1,nil,e,tp)
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
c:RegisterFlagEffect(10080421,RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END,0,1)
end
Duel.Hint(HINT_CARD,0,10080420)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=g:Select(tp,1,1,nil)
if not sg then return end
Duel.SpecialSummon(sg,0,tp,tp,false,false,POS_FACEUP)
c:RegisterFlagEffect(10080420,RESET_PHASE+PHASE_END,0,1)
end
function c10080420.xfilter(c,tp)
return c:IsSetCard(0x504e) and c:IsControler(tp) and c:GetSummonType()==SUMMON_TYPE_XYZ
function c10080420.cfilter(c,tp)
return c:IsSetCard(0x504e) and c:GetPreviousControler()==tp and c:GetSummonType()==SUMMON_TYPE_XYZ
end
function c10080420.thcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c10080420.xfilter,1,nil,tp)
function c10080420.drcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c10080420.cfilter,1,nil,tp)
end
function c10080420.thfilter(c)
return c10080420.Isshinka(c) and c:IsAbleToHand()
return c10080420.evolfilter(c) and c:IsType(TYPE_SPELL+TYPE_TRAP) and c:IsAbleToHand()
end
function c10080420.thop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(c10080420.thfilter,tp,LOCATION_DECK,0,nil)
if g:GetCount()<1 then
Duel.ConfirmCards(1-tp,Duel.GetFieldGroup(tp,LOCATION_DECK,0))
return
function c10080420.drop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.IsExistingMatchingCard(c10080420.thfilter,tp,LOCATION_DECK,0,1,nil) and c:GetFlagEffect(10080420)<=1
and Duel.SelectYesNo(tp,aux.Stringid(10080420,1)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c10080420.thfilter,tp,LOCATION_DECK,0,1,1,nil)
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
c:RegisterFlagEffect(10080420,RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END,0,1)
end
Duel.Hint(HINT_CARD,0,10080420)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local sg=g:Select(tp,1,1,nil)
if not sg then return end
Duel.SendtoHand(sg,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,sg)
end
function c10080420.leavecon(e,tp,eg,ep,ev,re,r,rp)
function c10080420.spfilter(c,e,tp)
return (c:IsSetCard(0x304e) or c:IsSetCard(0x504e) or c:IsSetCard(0x604e)) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c10080420.ctcon(e,tp,eg,ep,ev,re,r,rp)
if not re then return false end
return re:IsHasType(EFFECT_TYPE_ACTIVATE) and re:IsActiveType(TYPE_SPELL+TYPE_TRAP)
and c10080420.evolfilter(re:GetHandler())
end
function c10080420.ctop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:IsPreviousPosition(POS_FACEUP) and not c:IsLocation(LOCATION_DECK)
if Duel.IsExistingMatchingCard(c10080420.spfilter,tp,LOCATION_DECK,0,1,nil,e,tp) and c:GetFlagEffect(10080421)<=1
and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.SelectYesNo(tp,aux.Stringid(10080420,3)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c10080420.spfilter,tp,LOCATION_DECK,0,1,1,nil,e,tp)
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
c:RegisterFlagEffect(10080421,RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END,0,1)
end
end
function c10080420.leavefilter(c)
function c10080420.rfilter(c)
return c:IsType(TYPE_MONSTER) and c:IsAbleToGrave()
end
function c10080420.leaveop(e,tp,eg,ep,ev,re,r,rp)
Duel.ConfirmCards(1-tp,Duel.GetFieldGroup(tp,LOCATION_HAND,0))
local g=Duel.GetMatchingGroup(c10080420.leavefilter,tp,LOCATION_ONFIELD+LOCATION_HAND,0,nil)
Duel.SendtoGrave(g,REASON_EFFECT)
function c10080420.checkop(e,tp,eg,ep,ev,re,r,rp)
if e:GetHandler():IsDisabled() then
e:SetLabel(1)
else e:SetLabel(0) end
end
function c10080420.leave(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if e:GetLabelObject():GetLabel()==0 and c:GetPreviousControler()==tp and c:IsPreviousPosition(POS_FACEUP) then
local g=Duel.GetMatchingGroup(c10080420.rfilter,tp,LOCATION_MZONE+LOCATION_HAND,0,nil)
Duel.SendtoGrave(g,REASON_EFFECT)
end
end
--影依回转
local m=111443942
local cm=_G["c"..m]
function cm.initial_effect(c)
--影依の廻転
function c111443942.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMING_END_PHASE)
e1:SetCountLimit(1,m+EFFECT_COUNT_CODE_OATH)
e1:SetCondition(cm.condition)
e1:SetOperation(cm.activate)
e1:SetCountLimit(1,111443942+EFFECT_COUNT_CODE_OATH)
e1:SetTarget(c111443942.target)
e1:SetOperation(c111443942.operation)
c:RegisterEffect(e1)
--plus effect
if not c111443942.global_check then
c111443942.global_check=true
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_ADJUST)
ge1:SetOperation(c111443942.sdop)
Duel.RegisterEffect(ge1,0)
end
end
function c111443942.filter(c)
return c:IsSetCard(0x9d) and c:IsType(TYPE_SPELL+TYPE_TRAP) and not c:IsCode(111443942)
end
function c111443942.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c111443942.filter,tp,LOCATION_DECK,0,1,nil) end
end
function cm.actfilter(c)
return c:IsType(TYPE_SPELL+TYPE_TRAP) and c:IsSetCard(0x9d) and not c:IsCode(m)
function c111443942.operation(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterFlagEffect(tp,111443942,RESET_PHASE+PHASE_END,0,1)
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
function c111443942.cfilter(c,tp)
return c:GetPreviousControler()==tp
and (c:IsPreviousLocation(LOCATION_DECK) or c:GetSummonLocation()==LOCATION_DECK
or (c:IsControler(tp) and c:IsPreviousLocation(LOCATION_DECK))
or c:IsLocation(LOCATION_DECK)) and not c:IsReason(REASON_DRAW)
end
function c111443942.con(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c111443942.cfilter,1,nil,tp)
end
function c111443942.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=Duel.GetFieldGroup(tp,LOCATION_DECK,0)
return g:IsExists(cm.actfilter,1,nil)
if g:GetCount()<=1 then return end
c:RegisterFlagEffect(111443942,RESET_PHASE+PHASE_END,0,1)
end
function cm.activate(e,tp,eg,ep,ev,re,r,rp)
function c111443942.disop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=Duel.GetMatchingGroup(cm.actfilter,tp,0xff,0,nil)
for tc in aux.Next(g) do
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_FIELD)
e0:SetCode(EFFECT_SPSUMMON_PROC_G)
e0:SetRange(LOCATION_DECK)
e0:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CANNOT_DISABLE)
e0:SetReset(RESET_PHASE+PHASE_END)
tc:RegisterEffect(e0,true)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_ACTIVATE_COST)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CANNOT_DISABLE)
e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetCost(cm.costchk)
e1:SetTargetRange(1,0)
e1:SetTarget(cm.actarget)
e1:SetOperation(cm.costop)
Duel.RegisterEffect(e1,tp)
local ae=tc:GetActivateEffect():Clone()
local con=ae:GetCondition()
ae:SetType(EFFECT_TYPE_QUICK_O+EFFECT_TYPE_ACTIVATE)
ae:SetCondition(cm.actcon(con))
ae:SetRange(LOCATION_DECK)
ae:SetReset(RESET_PHASE+PHASE_END)
tc:RegisterEffect(ae,true)
local g=Duel.GetFieldGroup(tp,LOCATION_DECK,0)
if g:GetCount()<=1 then return end
if c:GetFlagEffect(111443942)~=0 and Duel.IsExistingMatchingCard(c111443942.filter,tp,LOCATION_DECK,0,2,nil) then
local sg=Duel.GetMatchingGroup(c111443942.filter,tp,LOCATION_DECK,0,nil)
Duel.ConfirmCards(tp,sg)
c:ResetFlagEffect(111443942)
end
end
function c111443942.sdop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler():GetOwner()
local g=Duel.GetMatchingGroup(c111443942.filter,c,LOCATION_DECK,LOCATION_DECK,nil)
local tc=g:GetFirst()
while tc do
if tc:GetFlagEffect(111443942)==0 then
local code=tc:GetOriginalCode()
local ae=tc:GetActivateEffect()
local e1=Effect.CreateEffect(tc)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(ae:GetCode())
e1:SetCategory(ae:GetCategory())
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE+ae:GetProperty())
e1:SetRange(LOCATION_DECK)
e1:SetCountLimit(1,code+EFFECT_COUNT_CODE_OATH)
e1:SetCondition(c111443942.sfcon)
e1:SetTarget(c111443942.sftg)
e1:SetOperation(c111443942.sfop)
e1:SetReset(RESET_EVENT+0x1fe0000)
tc:RegisterEffect(e1)
--activate cost
local e2=Effect.CreateEffect(tc)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_ACTIVATE_COST)
e2:SetRange(LOCATION_DECK)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_UNCOPYABLE)
e2:SetTargetRange(LOCATION_DECK,0)
e2:SetCost(c111443942.costchk)
e2:SetTarget(c111443942.costtg)
e2:SetOperation(c111443942.costop)
e2:SetReset(RESET_EVENT+0x1fe0000)
tc:RegisterEffect(e2)
tc:RegisterFlagEffect(111443942,RESET_EVENT+0x1fe0000,0,1)
end
tc=g:GetNext()
end
end
function cm.actcon(con)
return function(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return (not con or con(e,tp,eg,ep,ev,re,r,rp)) and c:IsSetCard(0x9d) and ((c:IsType(TYPE_TRAP) or (c:IsType(TYPE_SPELL) and c:IsType(TYPE_QUICKPLAY))) or (Duel.GetTurnPlayer()==tp and Duel.GetCurrentChain()==0 and (Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_MAIN2))) and c:IsLocation(LOCATION_DECK)
--deck activate
function c111443942.sfcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFlagEffect(tp,111443942)>0 and Duel.GetFlagEffect(tp,e:GetHandler():GetOriginalCode())==0
end
function c111443942.sftg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local ae=e:GetHandler():GetActivateEffect()
local fcon=ae:GetCondition()
local fcos=ae:GetCost()
local ftg=ae:GetTarget()
if chk==0 then
return (not fcon or fcon(e,tp,eg,ep,ev,re,r,rp))
and (not fcos or fcos(e,tp,eg,ep,ev,re,r,rp,0))
and (not ftg or ftg(e,tp,eg,ep,ev,re,r,rp,0))
and e:GetHandler():IsSetCard(0x9d) and e:GetHandler():IsType(TYPE_SPELL+TYPE_TRAP)
end
if fcos then
fcos(e,tp,eg,ep,ev,re,r,rp,1)
end
if ftg then
ftg(e,tp,eg,ep,ev,re,r,rp,1)
end
Duel.RegisterFlagEffect(tp,e:GetHandler():GetOriginalCode(),RESET_PHASE+PHASE_END,0,1)
end
function cm.cfilter(c)
function c111443942.sfop(e,tp,eg,ep,ev,re,r,rp)
local ae=e:GetHandler():GetActivateEffect()
local fop=ae:GetOperation()
if fop then
fop(e,tp,eg,ep,ev,re,r,rp)
end
end
--activate field
function c111443942.costfilter(c)
return c:IsSetCard(0x9d) and c:IsType(TYPE_MONSTER) and c:IsAbleToDeck()
end
function cm.costchk(e,te_or_c,tp)
return Duel.IsExistingMatchingCard(cm.cfilter,tp,LOCATION_GRAVE,0,1,nil)
function c111443942.costchk(e,te_or_c,tp)
local tp=e:GetHandler():GetControler()
return Duel.GetLocationCount(tp,LOCATION_SZONE)>0
and Duel.IsExistingMatchingCard(c111443942.costfilter,tp,LOCATION_GRAVE,0,1,nil)
end
function cm.actarget(e,te,tp)
local tc=te:GetHandler()
e:SetLabelObject(tc)
return cm.actfilter(tc) and tc:IsLocation(LOCATION_DECK)
function c111443942.costtg(e,te,tp)
e:SetLabelObject(te)
return te:GetHandler():IsLocation(LOCATION_DECK) and te:GetHandler()==e:GetHandler()
end
function cm.costop(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetLabelObject()
if Duel.GetFlagEffect(tp,tc:GetCode()+1)>0 then return end
function c111443942.costop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(tp,cm.cfilter,tp,LOCATION_GRAVE,0,1,1,nil)
local g=Duel.SelectMatchingCard(tp,c111443942.costfilter,tp,LOCATION_GRAVE,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoDeck(g,nil,2,REASON_EFFECT)
local te=e:GetLabelObject()
Duel.SendtoDeck(g,nil,0,REASON_EFFECT)
Duel.MoveToField(c,tp,tp,LOCATION_SZONE,POS_FACEUP,true)
c:CreateEffectRelation(te)
local ev0=Duel.GetCurrentChain()+1
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetCode(EVENT_CHAIN_SOLVED)
e1:SetCountLimit(1)
e1:SetCondition(function(e,tp,eg,ep,ev,re,r,rp) return ev==ev0 end)
e1:SetOperation(c111443942.rsop)
e1:SetReset(RESET_CHAIN)
Duel.RegisterEffect(e1,tp)
local e2=e1:Clone()
e2:SetCode(EVENT_CHAIN_NEGATED)
Duel.RegisterEffect(e2,tp)
end
end
function c111443942.rsop(e,tp,eg,ep,ev,re,r,rp)
local rc=re:GetHandler()
if e:GetCode()==EVENT_CHAIN_SOLVED and rc:IsRelateToEffect(re) then
rc:SetStatus(STATUS_EFFECT_ENABLED,true)
end
if e:GetCode()==EVENT_CHAIN_NEGATED and rc:IsRelateToEffect(re) then
rc:SetStatus(STATUS_ACTIVATE_DISABLED,true)
end
Duel.MoveToField(tc,tp,tp,LOCATION_SZONE,POS_FACEUP,true)
Duel.RegisterFlagEffect(tp,tc:GetCode()+1,RESET_PHASE+PHASE_END,0,1)
local e1=Effect.CreateEffect(tc)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH)
e1:SetCode(EFFECT_CANNOT_ACTIVATE)
e1:SetTargetRange(1,0)
e1:SetValue(cm.aclimit)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
function cm.aclimit(e,re,tp)
return re:GetHandler():IsLocation(LOCATION_DECK) and re:GetHandler():IsCode(e:GetHandler():GetCode())
end
This diff is collapsed.
......@@ -33,12 +33,6 @@ function c114303426.initial_effect(c)
e4:SetTarget(c114303426.actarget)
e4:SetOperation(c114303426.costop)
c:RegisterEffect(e4)
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_FIELD)
e5:SetCode(EFFECT_SPSUMMON_PROC_G)
e5:SetRange(LOCATION_DECK)
e5:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CANNOT_DISABLE)
c:RegisterEffect(e5)
end
function c114303426.cfilter(c,tp)
return c:IsReason(REASON_BATTLE+REASON_EFFECT) and c:GetPreviousControler()==tp and c:IsSetCard(0xaa)
......@@ -94,11 +88,36 @@ function c114303426.activate(e,tp,eg,ep,ev,re,r,rp)
end
end
function c114303426.actarget(e,te,tp)
e:SetLabelObject(te)
return te:GetHandler()==e:GetHandler()
end
function c114303426.costop(e,tp,eg,ep,ev,re,r,rp)
local te=e:GetLabelObject()
local c=e:GetHandler()
Duel.MoveToField(c,tp,tp,LOCATION_SZONE,POS_FACEUP,true)
Duel.MoveToField(c,tp,tp,LOCATION_SZONE,POS_FACEUP,false)
c:CreateEffectRelation(te)
local ev0=Duel.GetCurrentChain()+1
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetCode(EVENT_CHAIN_SOLVED)
e1:SetCountLimit(1)
e1:SetCondition(function(e,tp,eg,ep,ev,re,r,rp) return ev==ev0 end)
e1:SetOperation(c114303426.rsop)
e1:SetReset(RESET_CHAIN)
Duel.RegisterEffect(e1,tp)
local e2=e1:Clone()
e2:SetCode(EVENT_CHAIN_NEGATED)
Duel.RegisterEffect(e2,tp)
end
function c114303426.rsop(e,tp,eg,ep,ev,re,r,rp)
local rc=re:GetHandler()
if e:GetCode()==EVENT_CHAIN_SOLVED and rc:IsRelateToEffect(re) then
rc:SetStatus(STATUS_EFFECT_ENABLED,true)
end
if e:GetCode()==EVENT_CHAIN_NEGATED and rc:IsRelateToEffect(re) then
rc:SetStatus(STATUS_ACTIVATE_DISABLED,true)
end
end
function c114303426.condition2(e,tp,eg,ep,ev,re,r,rp)
return c114303426.condition(e,tp,eg,ep,ev,re,r,rp) and not Duel.IsExistingMatchingCard(aux.NOT(Card.IsSetCard),tp,LOCATION_EXTRA,0,1,nil,0xaa)
......@@ -106,4 +125,4 @@ end
function c114303426.operation2(e,tp,eg,ep,ev,re,r,rp)
Duel.ConfirmCards(1-tp,Duel.GetFieldGroup(tp,LOCATION_EXTRA,0))
c114303426.operation(e,tp,eg,ep,ev,re,r,rp)
end
\ No newline at end of file
end
This diff is collapsed.
--EMファンタズム・マジシャン
function c114562761.initial_effect(c)
aux.AddXyzProcedure(c,aux.FilterBoolFunction(Card.IsType,TYPE_PENDULUM),4,2,nil,nil,99,nil)
--xyz summon
aux.AddXyzProcedure(c,aux.FilterBoolFunction(Card.IsType,TYPE_PENDULUM),4,2,nil,nil,5)
c:EnableReviveLimit()
--pendulum summon
aux.EnablePendulumAttribute(c,false)
--pendulum set
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_PZONE)
e1:SetCountLimit(1)
e1:SetTarget(c114562761.pctg)
e1:SetOperation(c114562761.pcop)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_DESTROYED)
e1:SetRange(LOCATION_EXTRA)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCondition(c114562761.condition)
e1:SetTarget(c114562761.target)
e1:SetOperation(c114562761.operation)
c:RegisterEffect(e1)
--salvage
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetCategory(CATEGORY_TODECK)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_PZONE)
e2:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetTargetRange(1,1)
e2:SetTarget(c114562761.splimit)
e2:SetCountLimit(1,114562761)
e2:SetTarget(c114562761.sltg)
e2:SetOperation(c114562761.slop)
c:RegisterEffect(e2)
--not pendulum
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_IMMUNE_EFFECT)
e3:SetRange(LOCATION_MZONE)
e3:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e3:SetCondition(c114562761.indcon)
e3:SetValue(c114562761.imvalue)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetRange(LOCATION_PZONE)
e3:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e3:SetTargetRange(1,1)
e3:SetTarget(c114562761.splimit)
c:RegisterEffect(e3)
--immune
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e4:SetCode(EVENT_SPSUMMON_SUCCESS)
e4:SetCondition(c114562761.effcon)
e4:SetTarget(c114562761.efftg)
e4:SetOperation(c114562761.effop)
e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetCode(EFFECT_IMMUNE_EFFECT)
e4:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e4:SetRange(LOCATION_MZONE)
e4:SetCondition(c114562761.efcon)
e4:SetValue(c114562761.efilter)
c:RegisterEffect(e4)
--xyz charge
local e5=Effect.CreateEffect(c)
e5:SetCategory(CATEGORY_DISABLE)
e5:SetType(EFFECT_TYPE_QUICK_O)
e5:SetCode(EVENT_CHAINING)
e5:SetRange(LOCATION_MZONE)
e5:SetCost(c114562761.cost)
e5:SetCondition(c114562761.discon)
e5:SetTarget(c114562761.distg)
e5:SetOperation(c114562761.disop)
e5:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e5:SetCode(EVENT_SPSUMMON_SUCCESS)
e5:SetProperty(EFFECT_FLAG_DELAY)
e5:SetCondition(c114562761.thcon)
e5:SetTarget(c114562761.thtg)
e5:SetOperation(c114562761.thop)
c:RegisterEffect(e5)
--negate
local e6=Effect.CreateEffect(c)
e6:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e6:SetCode(EVENT_DESTROYED)
e6:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e6:SetRange(LOCATION_EXTRA)
e6:SetCondition(c114562761.spcon1)
e6:SetTarget(c114562761.sptg1)
e6:SetOperation(c114562761.spop1)
e6:SetCategory(CATEGORY_NEGATE)
e6:SetType(EFFECT_TYPE_QUICK_O)
e6:SetCode(EVENT_CHAINING)
e6:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e6:SetRange(LOCATION_MZONE)
e6:SetCondition(c114562761.ngcon)
e6:SetCost(c114562761.ngcost)
e6:SetTarget(c114562761.ngtg)
e6:SetOperation(c114562761.ngop)
c:RegisterEffect(e6)
end
c114562761.pendulum_level=4
function c114562761.pcfilter(c)
return c:IsType(TYPE_PENDULUM) and c:IsRace(RACE_SPELLCASTER) and not c:IsForbidden()
function c114562761.cfilter(c,tp)
return c:IsPreviousLocation(LOCATION_PZONE) and c:GetPreviousControler()==tp
and c:IsSetCard(0x9f) and not c:IsCode(114562761)
end
function c114562761.condition(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c114562761.cfilter,1,nil,tp)
end
function c114562761.pctg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c114562761.pcfilter,tp,LOCATION_GRAVE,0,1,nil) end
function c114562761.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return not e:GetHandler():IsPublic()
and (Duel.CheckLocation(tp,LOCATION_PZONE,0) or Duel.CheckLocation(tp,LOCATION_PZONE,1)) end
Duel.ConfirmCards(1-tp,e:GetHandler())
end
function c114562761.pcop(e,tp,eg,ep,ev,re,r,rp)
function c114562761.operation(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end
local g=Duel.SelectMatchingCard(tp,c114562761.pcfilter,tp,LOCATION_GRAVE,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoExtraP(g,tp,REASON_EFFECT)
if not (Duel.CheckLocation(tp,LOCATION_PZONE,0) or Duel.CheckLocation(tp,LOCATION_PZONE,1)) then return end
Duel.MoveToField(e:GetHandler(),tp,tp,LOCATION_PZONE,POS_FACEUP,true)
end
function c114562761.filter(c)
return c:IsRace(RACE_SPELLCASTER) and c:IsType(TYPE_PENDULUM)
end
function c114562761.sltg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and c114562761.filter(chkc) end
if chk==0 then return Duel.IsExistingTarget(c114562761.filter,tp,LOCATION_GRAVE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectTarget(tp,c114562761.filter,tp,LOCATION_GRAVE,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,1,0,0)
end
function c114562761.slop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsFaceup() and tc:IsRelateToEffect(e) then
Duel.SendtoExtraP(tc,nil,REASON_EFFECT)
end
end
function c114562761.splimit(e,c,sump,sumtype,sumpos,targetp,se)
return bit.band(sumtype,SUMMON_TYPE_PENDULUM)~=SUMMON_TYPE_PENDULUM
function c114562761.splimit(e,c,tp,sumtp,sumpos)
return bit.band(sumtp,SUMMON_TYPE_PENDULUM)~=SUMMON_TYPE_PENDULUM
end
function c114562761.indcon(e)
function c114562761.efcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetOverlayCount()>0
end
function c114562761.imvalue(e,re)
return not re:IsActiveType(TYPE_PENDULUM)
function c114562761.efilter(e,te)
return not te:IsActiveType(TYPE_PENDULUM)
end
function c114562761.effcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_PENDULUM)
function c114562761.thcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetSummonType()==SUMMON_TYPE_PENDULUM
end
function c114562761.efffilter(c)
return c:IsSetCard(0x9f) and c:IsType(TYPE_MONSTER)
function c114562761.thfilter(c)
return c:IsSetCard(0x9f)
end
function c114562761.efftg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsType(TYPE_XYZ)
and Duel.IsExistingMatchingCard(c114562761.efffilter,tp,LOCATION_GRAVE,0,1,nil) end
function c114562761.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c114562761.thfilter,tp,LOCATION_GRAVE,0,2,nil) end
end
function c114562761.effop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) or c:IsFacedown() then return end
function c114562761.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_XMATERIAL)
local g=Duel.SelectMatchingCard(tp,c114562761.efffilter,tp,LOCATION_GRAVE,0,1,2,nil)
local g=Duel.SelectMatchingCard(tp,c114562761.thfilter,tp,LOCATION_GRAVE,0,2,2,nil)
local tc=g:GetFirst()
if g:GetCount()>0 then
Duel.Overlay(c,g)
while tc do
Duel.Overlay(e:GetHandler(),tc)
tc=g:GetNext()
end
end
end
function c114562761.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)
function c114562761.ngcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local rc=re:GetHandler()
return re:IsActiveType(TYPE_MONSTER) and not re:IsActiveType(TYPE_PENDULUM)
and not c:IsStatus(STATUS_BATTLE_DESTROYED) and Duel.IsChainNegatable(ev)
end
function c114562761.discon(e,tp,eg,ep,ev,re,r,rp)
return re:IsActiveType(TYPE_MONSTER) and not re:IsActiveType(TYPE_PENDULUM) and Duel.IsChainDisablable(ev) and not e:GetHandler():IsStatus(STATUS_BATTLE_DESTROYED)
function c114562761.ngcost(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 c114562761.distg(e,tp,eg,ep,ev,re,r,rp,chk)
function c114562761.ngtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_DISABLE,eg,1,0,0)
end
function c114562761.disop(e,tp,eg,ep,ev,re,r,rp)
Duel.NegateEffect(ev)
end
function c114562761.cfilter(c,tp)
return not c:IsCode(114562761) and c:IsSetCard(0x9f) and c:IsPreviousLocation(LOCATION_SZONE) and c:IsPreviousPosition(POS_FACEUP) and c:GetPreviousControler()==tp
end
function c114562761.spcon1(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsFacedown() and eg:IsExists(c114562761.cfilter,1,nil,tp)
Duel.SetOperationInfo(0,CATEGORY_NEGATE,eg,1,0,0)
end
function c114562761.sptg1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckLocation(tp,LOCATION_PZONE,0) or Duel.CheckLocation(tp,LOCATION_PZONE,1) end
function c114562761.ngop(e,tp,eg,ep,ev,re,r,rp)
Duel.NegateActivation(ev)
end
function c114562761.spop1(e,tp,eg,ep,ev,re,r,rp)
if not Duel.CheckLocation(tp,LOCATION_PZONE,0) and not Duel.CheckLocation(tp,LOCATION_PZONE,1) then return end
local c=e:GetHandler()
Duel.ConfirmCards(1-tp,c)
Duel.MoveToField(c,tp,tp,LOCATION_PZONE,POS_FACEUP,true)
end
\ No newline at end of file
--十二獣の相生
function c114606001.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetTarget(c114606001.target)
e1:SetOperation(c114606001.operation)
c:RegisterEffect(e1)
--material
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_TOHAND)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_GRAVE)
e2:SetCost(c114606001.thcost)
e2:SetTarget(c114606001.thtg)
e2:SetOperation(c114606001.thop)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DELAY)
e2:SetCode(EVENT_TO_GRAVE)
e2:SetCondition(c114606001.matcon)
e2:SetTarget(c114606001.mattg)
e2:SetOperation(c114606001.matop)
c:RegisterEffect(e2)
local e8=Effect.CreateEffect(c)
e8:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e8:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DELAY)
e8:SetCode(EVENT_TO_GRAVE)
e8:SetCondition(c114606001.thcon)
e8:SetTarget(c114606001.mattg)
e8:SetOperation(c114606001.matop)
c:RegisterEffect(e8)
--tohand
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_TOHAND)
e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetRange(LOCATION_GRAVE)
e3:SetCost(c114606001.thcost)
e3:SetTarget(c114606001.thtg)
e3:SetOperation(c114606001.thop)
c:RegisterEffect(e3)
end
function c114606001.filter(c,e,tp)
return c:IsSetCard(0xf1) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c114606001.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and c114606001.filter(chkc,e,tp) end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsExistingTarget(c114606001.filter,tp,LOCATION_GRAVE,0,1,nil,e,tp) end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingTarget(c114606001.filter,tp,LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectTarget(tp,c114606001.filter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_EQUIP,e:GetHandler(),1,0,0)
end
function c114606001.eqlimit(e,c)
return e:GetOwner()==c
end
function c114606001.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if c:IsRelateToEffect(e) and tc:IsRelateToEffect(e) then
if Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)==0 then return end
Duel.Equip(tp,c,tc)
--Add Equip limit
local e1=Effect.CreateEffect(tc)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetCode(EFFECT_EQUIP_LIMIT)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetReset(RESET_EVENT+0x1fe0000)
e1:SetValue(c114606001.eqlimit)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
c:RegisterEffect(e1)
end
end
function c114606001.eqlimit(e,c)
return e:GetOwner()==c
end
function c114606001.cfilter(c)
return c:IsSetCard(0xf1) and c:IsType(TYPE_MONSTER) and c:IsAbleToGraveAsCost()
end
function c114606001.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
local loc=LOCATION_HAND
if Duel.GetFieldGroupCount(tp,LOCATION_EXTRA,0)==12 then loc=loc+LOCATION_DECK end
if chk==0 then return Duel.IsExistingMatchingCard(c114606001.cfilter,tp,loc,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,c114606001.cfilter,tp,loc,0,1,1,nil,tp)
Duel.SendtoGrave(g,REASON_COST)
end
function c114606001.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToHand() end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,e:GetHandler(),1,0,0)
end
function c114606001.thop(e,tp,eg,ep,ev,re,r,rp)
if e:GetHandler():IsRelateToEffect(e) then
Duel.SendtoHand(e:GetHandler(),nil,REASON_EFFECT)
end
end
function c114606001.thcon(e,tp,eg,ep,ev,re,r,rp)
function c114606001.matcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:IsReason(REASON_LOST_TARGET) and c:GetPreviousEquipTarget():IsLocation(LOCATION_OVERLAY)
local tc=c:GetPreviousEquipTarget()
return c:IsReason(REASON_LOST_TARGET) and c:IsReason(REASON_DESTROY) and tc:IsLocation(LOCATION_OVERLAY)
end
function c114606001.matfilter(c)
return c:IsFaceup() and c:IsSetCard(0xf1) and c:IsType(TYPE_XYZ)
......@@ -92,4 +80,31 @@ function c114606001.matop(e,tp,eg,ep,ev,re,r,rp)
if c:IsRelateToEffect(e) and tc:IsRelateToEffect(e) and tc:IsFaceup() and not tc:IsImmuneToEffect(e) then
Duel.Overlay(tc,Group.FromCards(c))
end
end
\ No newline at end of file
end
function c114606001.cfilter(c)
return c:IsSetCard(0xf1) and c:IsType(TYPE_MONSTER) and c:IsAbleToGraveAsCost()
end
function c114606001.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
if Duel.GetFieldGroupCount(tp,LOCATION_EXTRA,0)==12 then
local g=Duel.GetMatchingGroup(c114606001.cfilter,tp,LOCATION_DECK+LOCATION_HAND,0,nil)
if chk==0 then return g:GetCount()>0 end
local tg=g:Select(tp,1,1,nil)
Duel.SendtoGrave(tg,REASON_COST)
else
local g=Duel.GetMatchingGroup(c114606001.cfilter,tp,LOCATION_HAND,0,nil)
if chk==0 then return g:GetCount()>0 end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local tg=g:Select(tp,1,1,nil)
Duel.SendtoGrave(tg,REASON_COST)
end
end
function c114606001.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToHand() end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,e:GetHandler(),1,0,0)
end
function c114606001.thop(e,tp,eg,ep,ev,re,r,rp)
if e:GetHandler():IsRelateToEffect(e) then
Duel.SendtoHand(e:GetHandler(),nil,REASON_EFFECT)
end
end
--遗式世传的神判预
--リチュアに伝わりし神判の予
function c114644893.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH+CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCountLimit(1,114644893+EFFECT_COUNT_CODE_OATH)
e1:SetTarget(c114644893.target)
e1:SetOperation(c114644893.activate)
c:RegisterEffect(e1)
end
function c114644893.thfilter(c)
return c:IsSetCard(0x3a) and not c:IsCode(114644893) and c:IsAbleToHand()
function c114644893.filter(c)
return c:IsSetCard(0x3a) and c:GetCode()~=114644893 and c:IsAbleToHand()
end
function c114644893.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c114644893.thfilter,tp,LOCATION_DECK,0,1,nil) end
if chk==0 then return Duel.IsExistingMatchingCard(c114644893.filter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function c114644893.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c114644893.thfilter,tp,LOCATION_DECK,0,1,1,nil)
local g=Duel.SelectMatchingCard(tp,c114644893.filter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
......@@ -51,7 +51,7 @@ function c114644893.activate(e,tp,eg,ep,ev,re,r,rp)
e2:SetLabelObject(e3)
end
function c114644893.regcon(e,tp,eg,ep,ev,re,r,rp)
return re:IsHasType(EFFECT_TYPE_ACTIVATE) and re:IsActiveType(TYPE_RITUAL)
return re:IsHasType(EFFECT_TYPE_ACTIVATE) and re:IsActiveType(TYPE_SPELL) and re:IsActiveType(TYPE_RITUAL)
end
function c114644893.regop1(e,tp,eg,ep,ev,re,r,rp)
local ct=e:GetLabelObject():GetLabel()
......@@ -65,24 +65,19 @@ end
function c114644893.effcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetLabel()>0
end
function c114644893.sfilter(c)
return c:IsSetCard(0x3a) and c:GetCode()~=114644893 and c:IsAbleToHand()
end
function c114644893.dfilter(c)
return c:IsSetCard(0x3a) and c:IsAbleToGrave()
end
function c114644893.filter(c,e,tp,m1,m2,ft)
function c114644893.rtfilter(c,e,tp,m,ft)
if not c:IsAttribute(ATTRIBUTE_WATER) or bit.band(c:GetType(),0x81)~=0x81
or not c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_RITUAL,tp,false,true) then return false end
local mg=m1:Filter(Card.IsCanBeRitualMaterial,c,c)
m2=m2:Filter(Card.IsCanBeRitualMaterial,c,c)
if c:IsCode(21105106) then return c:ritual_custom_condition(mg,ft) end
local m2=Duel.GetMatchingGroup(c114644893.mfilter,tp,LOCATION_DECK,0,c,c:GetLevel())
local mg=m:Filter(Card.IsCanBeRitualMaterial,c,c)
local mg2=m2:Filter(Card.IsCanBeRitualMaterial,c,c)
if c.mat_filter then
mg=mg:Filter(c.mat_filter,nil)
mg2=mg2:Filter(c.mat_filter,nil)
end
if ft>0 then
return mg:CheckWithSumEqual(Card.GetRitualLevel,c:GetLevel(),1,99,c)
or m2:CheckWithSumEqual(Card.GetRitualLevel,c:GetLevel(),1,1,c)
return mg:CheckWithSumEqual(Card.GetRitualLevel,c:GetLevel(),1,99,c) or mg2:GetCount()>0
else
return ft>-1 and mg:IsExists(c114644893.mfilterf,1,nil,tp,mg,c)
end
......@@ -93,57 +88,52 @@ function c114644893.mfilterf(c,tp,mg,rc)
return mg:CheckWithSumEqual(Card.GetRitualLevel,rc:GetLevel(),0,99,rc)
else return false end
end
function c114644893.mfilter(c,lv)
return c:IsSetCard(0x3a) and c:IsType(TYPE_MONSTER) and (c:GetLevel()==lv or c:IsCode(29888389,47106439,38356857)) and c:IsAbleToGrave()
end
function c114644893.effop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_CARD,0,114644893)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c114644893.sfilter,tp,LOCATION_DECK,0,1,e:GetLabel(),nil)
local g=Duel.SelectMatchingCard(tp,c114644893.filter,tp,LOCATION_DECK,0,1,e:GetLabel(),nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
--ritual
local mg=Duel.GetRitualMaterial(tp)
local dg=Duel.GetMatchingGroup(c114644893.dfilter,tp,LOCATION_DECK,0,nil)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
if ft>-1 and Duel.IsExistingMatchingCard(c114644893.filter,tp,LOCATION_DECK,0,1,nil,e,tp,mg,dg,ft)
and Duel.SelectYesNo(tp,aux.Stringid(114644893,1)) then
Duel.BreakEffect()
if ft>-1 and Duel.IsExistingMatchingCard(c114644893.rtfilter,tp,LOCATION_DECK,0,1,nil,e,tp,mg,ft) and Duel.SelectYesNo(tp,aux.Stringid(114644893,1)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tc=Duel.SelectMatchingCard(tp,c114644893.filter,tp,LOCATION_DECK,0,1,1,nil,e,tp,mg,dg,ft):GetFirst()
local tg=Duel.SelectMatchingCard(tp,c114644893.rtfilter,tp,LOCATION_DECK,0,1,1,nil,e,tp,mg,ft)
local tc=tg:GetFirst()
local mat=nil
local tg2=Duel.GetMatchingGroup(c114644893.mfilter,tp,LOCATION_DECK,0,tc,tc:GetLevel())
local mg2=tg2:Filter(Card.IsCanBeRitualMaterial,tc,tc)
if tc then
mg=mg:Filter(Card.IsCanBeRitualMaterial,tc,tc)
dg=dg:Filter(Card.IsCanBeRitualMaterial,tc,tc)
if tc:IsCode(21105106) then
tc:ritual_custom_operation(mg)
local mat=tc:GetMaterial()
if tc.mat_filter then
mg=mg:Filter(tc.mat_filter,nil)
mg2=mg2:Filter(tc.mat_filter,nil)
end
if ft>0 and mg2:GetCount()>0
and (not mg:CheckWithSumEqual(Card.GetRitualLevel,tc:GetLevel(),1,99,tc) or Duel.SelectYesNo(tp,aux.Stringid(114644893,2))) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local mat=mg2:Select(tp,1,1,tc)
tc:SetMaterial(mat)
Duel.SendtoGrave(mat,REASON_EFFECT+REASON_MATERIAL+REASON_RITUAL)
elseif ft>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
mat=mg:SelectWithSumEqual(tp,Card.GetRitualLevel,tc:GetLevel(),1,99,tc)
tc:SetMaterial(mat)
Duel.ReleaseRitualMaterial(mat)
else
if tc.mat_filter then
mg=mg:Filter(tc.mat_filter,nil)
dg=dg:Filter(tc.mat_filter,nil)
end
local mat=nil
if ft>0 then
if dg:GetCount()>0 and dg:CheckWithSumEqual(Card.GetRitualLevel,tc:GetLevel(),1,1,tc)
and (mg:GetCount()==0 or Duel.SelectYesNo(tp,aux.Stringid(114644893,2))) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
mat=dg:SelectWithSumEqual(tp,Card.GetRitualLevel,tc:GetLevel(),1,1,tc)
tc:SetMaterial(mat)
Duel.SendtoGrave(mat,REASON_EFFECT+REASON_MATERIAL+REASON_RITUAL)
else
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
mat=mg:SelectWithSumEqual(tp,Card.GetRitualLevel,tc:GetLevel(),1,99,tc)
tc:SetMaterial(mat)
Duel.ReleaseRitualMaterial(mat)
end
else
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
mat=mg:FilterSelect(tp,c114644893.mfilterf,1,1,nil,tp,mg,tc)
Duel.SetSelectedCard(mat)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local mat2=mg:SelectWithSumEqual(tp,Card.GetRitualLevel,tc:GetLevel(),0,99,tc)
mat:Merge(mat2)
tc:SetMaterial(mat)
Duel.ReleaseRitualMaterial(mat)
end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
mat=mg:FilterSelect(tp,c114644893.mfilterf,1,1,nil,tp,mg,tc)
Duel.SetSelectedCard(mat)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local mat2=mg:SelectWithSumEqual(tp,Card.GetRitualLevel,tc:GetLevel(),0,99,tc)
mat:Merge(mat2)
tc:SetMaterial(mat)
Duel.ReleaseRitualMaterial(mat)
end
Duel.BreakEffect()
Duel.SpecialSummon(tc,SUMMON_TYPE_RITUAL,tp,tp,false,true,POS_FACEUP)
......
local m=115072031
local cm=_G["c"..m]
function cm.initial_effect(c)
--E・HEROソリッド
function c115072031.initial_effect(c)
--special summon
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetRange(LOCATION_HAND)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMING_END_PHASE)
e1:SetCountLimit(1,m)
e1:SetCost(cm.spcost)
e1:SetTarget(cm.sptg)
e1:SetOperation(cm.spop)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,115072031)
e1:SetCost(c115072031.spcost)
e1:SetTarget(c115072031.sptg)
e1:SetOperation(c115072031.spop)
c:RegisterEffect(e1)
--revive
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetRange(LOCATION_GRAVE)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetHintTiming(0,TIMING_END_PHASE)
e2:SetCountLimit(1,m)
e2:SetCost(aux.bfgcost)
e2:SetTarget(cm.target)
e2:SetOperation(cm.operation)
e2:SetCountLimit(1,115072031)
e2:SetRange(LOCATION_GRAVE)
e2:SetCost(c115072031.gvcost)
e2:SetTarget(c115072031.gvtg)
e2:SetOperation(c115072031.gvop)
c:RegisterEffect(e2)
--add fusion setcode
--
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_ADD_FUSION_SETCODE)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_QP_ACT_IN_NTPHAND)
e3:SetRange(LOCATION_MZONE)
e3:SetValue(0xa008)
e3:SetTargetRange(LOCATION_HAND,0)
e3:SetTarget(c115072031.etarget)
c:RegisterEffect(e3)
--spell act in hand
--
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD)
e4:SetCode(EFFECT_QP_ACT_IN_NTPHAND)
e4:SetProperty(EFFECT_FLAG_CLIENT_HINT)
e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetCode(EFFECT_ADD_FUSION_SETCODE)
e4:SetRange(LOCATION_MZONE)
e4:SetTargetRange(LOCATION_HAND,0)
e4:SetTarget(aux.TargetBoolFunction(Card.IsSetCard,0xa5))
e4:SetValue(0xad)
c:RegisterEffect(e4)
end
function cm.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
function c115072031.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToGraveAsCost,tp,LOCATION_HAND,0,1,e:GetHandler()) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,Card.IsAbleToGraveAsCost,tp,LOCATION_HAND,0,1,1,e:GetHandler())
Duel.SendtoGrave(g,REASON_COST)
Duel.SendtoGrave(g,REASON_COST+REASON_DISCARD)
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
function c115072031.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end
function cm.spfilter(c,e,tp)
return c:IsSetCard(0x8) and not c:IsCode(m) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
function c115072031.spfilter(c,e,tp)
return c:IsSetCard(0x8) and c:IsType(TYPE_MONSTER) and not c:IsCode(115072031) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function cm.spop(e,tp,eg,ep,ev,re,r,rp)
function c115072031.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) or Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
if Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)>0 then
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
local g=Duel.GetMatchingGroup(cm.spfilter,tp,LOCATION_DECK,0,nil,e,tp)
if g:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(m,0)) then
if c:IsRelateToEffect(e) then
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
if Duel.IsExistingMatchingCard(c115072031.spfilter,tp,LOCATION_DECK,0,1,nil,e,tp)
and Duel.SelectYesNo(tp,aux.Stringid(115072031,1)) then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=g:Select(tp,1,1,nil)
local tc=sg:GetFirst()
if tc then
Duel.SpecialSummon(sg,0,tp,tp,false,false,POS_FACEUP)
end
local g=Duel.SelectMatchingCard(tp,c115072031.spfilter,tp,LOCATION_DECK,0,1,1,nil,e,tp)
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
end
end
function cm.filter(c,e,tp)
return c:IsSetCard(0x8) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
function c115072031.gvfilter(c,e,tp)
return c:IsSetCard(0x8) and c:IsType(TYPE_MONSTER) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsControler(tp) and chkc:IsLocation(LOCATION_GRAVE) and cm.filter(chkc,e,tp) end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsExistingTarget(cm.filter,tp,LOCATION_GRAVE,0,1,e:GetHandler(),e,tp) end
function c115072031.gvcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToRemoveAsCost() end
Duel.Remove(e:GetHandler(),POS_FACEUP,REASON_COST)
end
function c115072031.gvtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsControler(tp) and chkc:IsLocation(LOCATION_GRAVE) and c115072031.gvfilter(chkc,e,tp) end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingTarget(c115072031.gvfilter,tp,LOCATION_GRAVE,0,1,e:GetHandler(),e,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectTarget(tp,cm.filter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
local g=Duel.SelectTarget(tp,c115072031.gvfilter,tp,LOCATION_GRAVE,0,1,1,e:GetHandler(),e,tp)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,0,0)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
function c115072031.gvop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)
end
end
\ No newline at end of file
end
function c115072031.etarget(e,c)
return c:IsSetCard(0xa5) and c:IsType(TYPE_QUICKPLAY)
end
......@@ -113,10 +113,10 @@ function cm.spoperation(e,tp,eg,ep,ev,re,r,rp)
end
end
function cm.repfilter(c,tp)
return c:IsControler(tp) and c:IsLocation(LOCATION_MZONE) and c:IsType(TYPE_MONSTER) and c:IsSetCard(0xb5) and c:IsReason(REASON_BATTLE+REASON_EFFECT) and not c:IsReason(REASON_REPLACE)
return c:IsFaceup() and c:IsControler(tp) and c:IsLocation(LOCATION_MZONE) and c:IsSetCard(0xb5) and c:IsReason(REASON_BATTLE+REASON_EFFECT) and not c:IsReason(REASON_REPLACE)
end
function cm.desfilter(c)
return c:IsControler(tp) and c:IsFaceup() and c:IsSetCard(0xb5) and c:IsAbleToDeck()
return c:IsFaceup() and c:IsSetCard(0xb5) and c:IsAbleToDeck()
end
function cm.desreptg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
......@@ -125,6 +125,7 @@ function cm.desreptg(e,tp,eg,ep,ev,re,r,rp,chk)
if Duel.SelectEffectYesNo(tp,c,96) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local sg=Duel.SelectMatchingCard(tp,cm.desfilter,tp,LOCATION_REMOVED,0,1,g:GetCount(),nil)
sg:KeepAlive()
e:SetLabelObject(sg)
return true
else return false end
......
--半英雄的思念体
function c115848157.initial_effect(c)
--darklaw
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetRange(LOCATION_HAND)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCondition(c115848157.condition)
e1:SetCost(c115848157.cost)
e1:SetOperation(c115848157.operation)
e1:SetRange(LOCATION_HAND)
e1:SetCondition(c115848157.darklawcon)
e1:SetCost(c115848157.darklawcost)
e1:SetTarget(c115848157.darklawtg)
e1:SetOperation(c115848157.darklawop)
c:RegisterEffect(e1)
--draw
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetCode(EVENT_TO_GRAVE)
e2:SetOperation(c115848157.regop)
e2:SetCategory(CATEGORY_DRAW)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e2:SetCode(EVENT_PHASE+PHASE_END)
e2:SetRange(LOCATION_GRAVE)
e2:SetCountLimit(1)
e2:SetCondition(c115848157.drawcon)
e2:SetTarget(c115848157.drawtg)
e2:SetOperation(c115848157.drawop)
c:RegisterEffect(e2)
--to grave
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e3:SetCode(EVENT_TO_GRAVE)
e3:SetOperation(c115848157.tgop)
c:RegisterEffect(e3)
end
function c115848157.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFieldGroupCount(tp,LOCATION_GRAVE,0)==0
function c115848157.darklawcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFieldGroupCount(e:GetHandler():GetControler(),LOCATION_GRAVE,0)==0
end
function c115848157.cost(e,tp,eg,ep,ev,re,r,rp,chk)
function c115848157.darklawcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToGraveAsCost() end
Duel.SendtoGrave(e:GetHandler(),REASON_COST)
end
function c115848157.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local e1=Effect.CreateEffect(c)
function c115848157.darklawtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
end
function c115848157.darklawop(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_SET_AVAILABLE+EFFECT_FLAG_IGNORE_RANGE+EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetCode(EFFECT_TO_GRAVE_REDIRECT)
e1:SetTargetRange(0xff,0xff)
e1:SetTargetRange(0xff, 0xff)
e1:SetValue(LOCATION_REMOVED)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
function c115848157.regop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DRAW)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetRange(LOCATION_GRAVE)
e1:SetTarget(c115848157.sptg)
e1:SetOperation(c115848157.spop)
e1:SetReset(RESET_PHASE+PHASE_END)
c:RegisterEffect(e1)
function c115848157.drawcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetFlagEffect(115848157)~=0
end
function c115848157.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return c:IsAbleToRemove() and Duel.IsPlayerCanDraw(tp,1) end
Duel.SetOperationInfo(0,CATEGORY_REMOVE,c,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,1,tp,LOCATION_DECK)
function c115848157.drawtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsPlayerCanDraw(tp,1) and e:GetHandler():IsAbleToRemove() end
Duel.SetTargetPlayer(tp)
Duel.SetTargetParam(1)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,e:GetHandler(),1,0,0)
end
function c115848157.spop(e,tp,eg,ep,ev,re,r,rp)
function c115848157.drawop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) or Duel.Remove(c,POS_FACEUP,REASON_EFFECT)==0 then return end
Duel.Draw(tp,1,REASON_EFFECT)
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
if c:IsRelateToEffect(e) and Duel.Remove(c,FACE_UP,REASON_EFFECT)~=0 then
Duel.Draw(p,d,REASON_EFFECT)
end
end
function c115848157.tgop(e,tp,eg,ep,ev,re,r,rp)
if bit.band(r,REASON_RETURN+REASON_ADJUST)~=0 then return end
e:GetHandler():RegisterFlagEffect(115848157,RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END,0,1)
end
......@@ -73,7 +73,6 @@ function cm.costop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.MoveToField(c,tp,tp,LOCATION_SZONE,POS_FACEUP,false)
c:CreateEffectRelation(te)
local c=e:GetHandler()
local ev0=Duel.GetCurrentChain()+1
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
......
--闇より顕現し絶望の塔
function c116301233.initial_effect(c)
c:SetSPSummonOnce(116301233)
--splimit
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetCode(EFFECT_SPSUMMON_CONDITION)
e1:SetValue(c116301233.splimit)
c:RegisterEffect(e1)
--spsummon
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetRange(LOCATION_HAND+LOCATION_GRAVE)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_HAND+LOCATION_GRAVE)
e2:SetCondition(c116301233.spcon)
e2:SetCost(c116301233.spcost)
e2:SetTarget(c116301233.sptg)
e2:SetOperation(c116301233.spop)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(116301233,2))
e3:SetCategory(CATEGORY_DECKDES+CATEGORY_TOGRAVE+CATEGORY_TODECK)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetCode(EVENT_SPSUMMON_SUCCESS)
e3:SetRange(LOCATION_MZONE)
e3:SetCondition(c116301233.condition)
e3:SetTarget(c116301233.target)
e3:SetOperation(c116301233.operation)
local e3=e2:Clone()
e3:SetCode(EVENT_CHAINING)
e3:SetCondition(c116301233.spcon2)
c:RegisterEffect(e3)
--deckdes
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(116301233,3))
e4:SetDescription(aux.Stringid(116301233,1))
e4:SetCategory(CATEGORY_DECKDES)
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e4:SetProperty(EFFECT_FLAG_DELAY)
e4:SetCode(EVENT_SPSUMMON_SUCCESS)
e4:SetRange(LOCATION_MZONE)
e4:SetCondition(c116301233.con)
e4:SetTarget(aux.TargetBoolFunction(aux.TRUE))
e4:SetOperation(c116301233.op)
e4:SetCondition(c116301233.tgcon)
e4:SetTarget(c116301233.tgtg)
e4:SetOperation(c116301233.tgop)
c:RegisterEffect(e4)
--lifedes
local e5=Effect.CreateEffect(c)
e5:SetDescription(aux.Stringid(116301233,5))
e5:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e5:SetCode(EVENT_SPSUMMON_SUCCESS)
e5:SetRange(LOCATION_MZONE)
e5:SetCondition(c116301233.lfcon)
e5:SetTarget(c116301233.lftg)
e5:SetOperation(c116301233.lfop)
c:RegisterEffect(e5)
end
function c116301233.splimit(e,se,sp,st)
return se:IsHasType(EFFECT_TYPE_ACTIONS)
end
function c116301233.spfilter(c)
return c:IsCode(04064256) and not c:IsForbidden()
function c116301233.spcon(e,tp,eg,ep,ev,re,r,rp)
return not Duel.CheckEvent(EVENT_CHAINING)
end
function c116301233.spcon2(e,tp,eg,ep,ev,re,r,rp)
return Duel.CheckEvent(EVENT_CHAINING) and re:GetHandler()~=e:GetHandler()
end
function c116301233.actfilter(c,tp)
return c:IsCode(4064256) and c:GetActivateEffect():IsActivatable(tp,true,true)
end
function c116301233.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,nil) and e:GetHandler():GetFlagEffect(116301230)==0 and Duel.IsExistingMatchingCard(c116301233.spfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil) end
Duel.DiscardHand(tp,Card.IsDiscardable,1,1,REASON_COST+REASON_DISCARD)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD)
local g=Duel.SelectMatchingCard(tp,c116301233.spfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil)
local exc=(e:GetHandler():IsLocation(LOCATION_HAND) and not e:GetHandler():IsAbleToGraveAsCost()) and e:GetHandler() or nil
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,exc)
and Duel.IsExistingMatchingCard(c116301233.actfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil,tp) end
Duel.DiscardHand(tp,Card.IsDiscardable,1,1,REASON_COST+REASON_DISCARD,exc)
local g=Duel.SelectMatchingCard(tp,c116301233.actfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,tp)
local tc=g:GetFirst()
if tc then
local fc=Duel.GetFieldCard(tp,LOCATION_FZONE,0)
local fc=Duel.GetFieldCard(tp,LOCATION_SZONE,5)
if fc then
Duel.SendtoGrave(fc,REASON_RULE)
Duel.BreakEffect()
end
Duel.MoveToField(tc,tp,tp,LOCATION_FZONE,POS_FACEUP,true)
end
e:GetHandler():RegisterFlagEffect(116301230,RESET_PHASE+PHASE_END,0,1)
end
function c116301233.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(1-tp,LOCATION_MZONE)>0 and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,tp,LOCATION_HAND+LOCATION_GRAVE)
if chk==0 then return Duel.GetLocationCount(1-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.SetTargetCard(e:GetHandler())
end
function c116301233.spop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(1-tp,LOCATION_MZONE)<1 then return end
Duel.SpecialSummon(e:GetHandler(),0,tp,1-tp,false,false,POS_FACEUP)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
Duel.SpecialSummon(c,0,tp,1-tp,false,false,POS_FACEUP)
end
function c116301233.filter(c)
return c:IsFaceup() and c:IsRace(RACE_ZOMBIE)
end
function c116301233.condition(e,tp,eg,ep,ev,re,r,rp)
function c116301233.tgcon(e,tp,eg,ep,ev,re,r,rp)
return not eg:IsContains(e:GetHandler()) and eg:IsExists(c116301233.filter,1,nil)
end
function c116301233.thfilter(c)
return not c:IsType(TYPE_PENDULUM) or c:IsLocation(LOCATION_EXTRA)
function c116301233.tgtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():GetFlagEffect(116301233)==0 end
Duel.SetOperationInfo(0,CATEGORY_DECKDES,nil,0,1-tp,nil)
Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription())
end
function c116301233.target(e,tp,eg,ep,ev,re,r,rp,chk)
function c116301233.tgfilter(c)
return c:IsAbleToGrave()
end
function c116301233.tdfilter(c)
return (c:IsLocation(LOCATION_GRAVE) or c:IsLocation(LOCATION_REMOVED) or (c:IsFaceup() and c:IsType(TYPE_PENDULUM))) and c:IsAbleToDeck()
end
function c116301233.tgop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if chk==0 then return c:GetFlagEffect(116301233)==0 and eg:GetFirst()~=c end
local op
if Duel.IsPlayerCanDiscardDeck(1-tp,1) then
op=Duel.SelectOption(1-tp,aux.Stringid(116301233,0),aux.Stringid(116301233,1))
local b=Duel.IsExistingMatchingCard(c116301233.tgfilter,tp,0,LOCATION_DECK,1,nil)
local op=3
if b then
op=Duel.SelectOption(1-tp,aux.Stringid(116301233,2),aux.Stringid(116301233,3))
else
op=2
op=Duel.SelectOption(1-tp,aux.Stringid(116301233,4))+2
end
e:SetLabel(op)
if op==2 then
local g=Duel.GetMatchingGroup(c116301233.thfilter,1-tp,LOCATION_GRAVE+LOCATION_REMOVED+LOCATION_EXTRA,0,nil)
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,1,0,0)
elseif op==1 then
local g=Duel.GetMatchingGroup(aux.TRUE,1-tp,LOCATION_DECK,0,nil)
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,g,1,0,0)
e:GetHandler():RegisterFlagEffect(116301233,RESET_PHASE+PHASE_END,0,1)
else
Duel.SetOperationInfo(0,CATEGORY_DECKDES,nil,0,1-tp,2)
end
end
function c116301233.operation(e,tp,eg,ep,ev,re,r,rp)
local op=e:GetLabel()
if op==0 then
Duel.DiscardDeck(1-tp,2,REASON_EFFECT)
elseif op==1 then
local g=Duel.SelectMatchingCard(1-tp,aux.TRUE,1-tp,LOCATION_DECK,0,1,1,nil)
Duel.Hint(HINT_SELECTMSG,1-tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,c116301233.tgfilter,1-tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoGrave(g,REASON_EFFECT)
c:RegisterFlagEffect(116301233,RESET_PHASE+PHASE_END,0,1)
end
elseif op==2 then
local g=Duel.GetMatchingGroup(c116301233.tdfilter,tp,0,LOCATION_GRAVE+LOCATION_REMOVED+LOCATION_EXTRA,nil)
Duel.SendtoDeck(g,nil,2,REASON_EFFECT)
Duel.ShuffleDeck(1-tp)
Duel.DiscardDeck(1-tp,3,REASON_EFFECT)
else
local g=Duel.GetMatchingGroup(c116301233.thfilter,1-tp,LOCATION_GRAVE+LOCATION_REMOVED+LOCATION_EXTRA,0,nil)
if g:GetCount()>0 then
Duel.SendtoDeck(g,nil,nil,REASON_EFFECT)
Duel.BreakEffect()
Duel.DiscardDeck(1-tp,3,REASON_EFFECT)
end
return
end
end
function c116301233.gfilter(c,tc)
return c:IsPreviousLocation(LOCATION_GRAVE) and c:IsCode(34193084,71200730,116301233) and c~=tc
function c116301233.lffilter(c)
return c:IsFaceup() and c:IsCode(116301233,71200730,34193084) and c:IsPreviousLocation(LOCATION_GRAVE)
end
function c116301233.lfcon(e,tp,eg,ep,ev,re,r,rp)
return not eg:IsContains(e:GetHandler()) and eg:IsExists(c116301233.lffilter,1,nil)
end
function c116301233.con(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c116301233.gfilter,1,nil,e:GetHandler())
function c116301233.lftg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription())
end
function c116301233.op(e,tp,eg,ep,ev,re,r,rp)
function c116301233.lfop(e,tp,eg,ep,ev,re,r,rp)
local tc=eg:GetFirst()
local atk=0
while tc do
if tc:IsCode(34193084,71200730,116301233) and e:GetHandler()~=tc then
atk=atk+tc:GetBaseAttack()
local atk=tc:GetTextAttack()
local life=Duel.GetLP(tp)
if life>=atk then
Duel.SetLP(tp,life-atk)
end
tc=eg:GetNext()
end
if Duel.GetLP(tp)>=atk then
Duel.SetLP(tp,Duel.GetLP(tp)-atk)
end
end
\ No newline at end of file
end
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -19,7 +19,6 @@ function c117485040.initial_effect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_SPSUMMON_SUCCESS)
e3:SetRange(LOCATION_SZONE)
e3:SetCountLimit(1,117485040)
e3:SetCondition(c117485040.pencon)
e3:SetOperation(c117485040.penop)
c:RegisterEffect(e3)
......@@ -63,6 +62,7 @@ function c117485040.penop(e,tp,eg,ep,ev,re,r,rp)
e2:SetCode(EFFECT_EXTRA_PENDULUM_SUMMON)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetTargetRange(1,0)
e2:SetCountLimit(1,117485041)
e2:SetValue(aux.TRUE)
e2:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e2,tp)
......
This diff is collapsed.
This diff is collapsed.
--閃光の白石
function c117981478.initial_effect(c)
--special summon
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetRange(LOCATION_HAND)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,117981478)
e1:SetCost(c117981478.spcost)
e1:SetTarget(c117981478.target)
e1:SetOperation(c117981478.operation)
e1:SetTarget(c117981478.sptg)
e1:SetOperation(c117981478.spop)
c:RegisterEffect(e1)
--race
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetRange(LOCATION_GRAVE)
e2:SetTargetRange(LOCATION_MZONE+LOCATION_HAND+LOCATION_GRAVE,0)
e2:SetTargetRange(LOCATION_HAND+LOCATION_MZONE+LOCATION_GRAVE,0)
e2:SetCode(EFFECT_CHANGE_RACE)
e2:SetValue(RACE_DRAGON)
c:RegisterEffect(e2)
--become material
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e3:SetCode(EVENT_BE_MATERIAL)
e3:SetCondition(c117981478.bftg)
e3:SetOperation(c117981478.bfop)
e3:SetCondition(c117981478.condition)
e3:SetOperation(c117981478.operation)
c:RegisterEffect(e3)
end
function c117981478.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,e:GetHandler()) end
Duel.DiscardHand(tp,Card.IsDiscardable,1,1,REASON_COST+REASON_DISCARD,e:GetHandler())
end
function c117981478.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>1 and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false)
and Duel.IsExistingMatchingCard(c117981478.spfilter,tp,LOCATION_DECK,0,1,nil,e,tp)
and Duel.IsPlayerCanSpecialSummonCount(tp,2) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
end
function c117981478.spfilter(c,e,tp)
return c:IsSetCard(0xdd) and c:IsType(TYPE_MONSTER) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c117981478.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>1
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false)
and Duel.IsExistingMatchingCard(c117981478.spfilter,tp,LOCATION_DECK,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,2,tp,LOCATION_HAND+LOCATION_DECK)
function c117981478.scfilter(c,mg)
return c:IsSynchroSummonable(nil,mg)
end
function c117981478.operation(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<2 or not e:GetHandler():IsRelateToEffect(e) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c117981478.spfilter,tp,LOCATION_DECK,0,1,1,nil,e,tp)
if g:GetCount()==0 then return end
local tc=g:GetFirst()
function c117981478.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local fid=c:GetFieldID()
Duel.SpecialSummonStep(tc,0,tp,tp,false,false,POS_FACEUP)
Duel.SpecialSummonStep(c,0,tp,tp,false,false,POS_FACEUP)
Duel.SpecialSummonComplete()
g:AddCard(c)
local sg=Duel.GetMatchingGroup(Card.IsSynchroSummonable,tp,LOCATION_EXTRA,0,nil,c,g)
if sg:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(117981478,0)) then
if not sg then return end
local sc=sg:Select(tp,1,1,nil):GetFirst()
if c:IsRelateToEffect(e) then
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
Duel.SynchroSummon(tp,sc,c,g)
local g=Duel.SelectMatchingCard(tp,c117981478.spfilter,tp,LOCATION_DECK,0,1,1,nil,e,tp)
if g:GetCount()==0 then return end
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
local mg=Group.FromCards(c,g:GetFirst())
local sg=Duel.GetMatchingGroup(c117981478.scfilter,tp,LOCATION_EXTRA,0,nil,mg)
if sg:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(117981478,1)) then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local syg=sg:Select(tp,1,1,nil)
Duel.SynchroSummon(tp,syg:GetFirst(),nil,mg)
end
end
end
function c117981478.bftg(e,tp,eg,ep,ev,re,r,rp)
function c117981478.condition(e,tp,eg,ep,ev,re,r,rp)
return r==REASON_SYNCHRO
end
function c117981478.bfop(e,tp,eg,ep,ev,re,r,rp)
function c117981478.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local rc=c:GetReasonCard()
if rc:GetFlagEffect(117981478)==0 then
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(117981478,1))
--negate
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetDescription(aux.Stringid(117981478,2))
e1:SetProperty(EFFECT_FLAG_CLIENT_HINT+EFFECT_FLAG_PLAYER_TARGET)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EVENT_CHAIN_SOLVING)
e1:SetCondition(c117981478.discon)
e1:SetOperation(c117981478.disop)
e1:SetCode(EVENT_CHAIN_SOLVING)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetAbsoluteRange(ep,0,1)
rc:RegisterEffect(e1,tp)
rc:RegisterFlagEffect(117981478,RESET_EVENT+RESETS_STANDARD,0,1)
e1:SetReset(RESET_EVENT+0x1fe0000)
rc:RegisterEffect(e1,true)
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_CANNOT_NEGATE+EFFECT_FLAG_IGNORE_IMMUNE)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_CONTROL_CHANGED)
e2:SetOperation(c117981478.crop)
e2:SetLabelObject(e1)
e2:SetReset(RESET_EVENT+0x1fe0000)
rc:RegisterEffect(e2,true)
rc:RegisterFlagEffect(117981478,RESET_EVENT+0x1fe0000,0,1)
end
end
function c117981478.discon(e,tp,eg,ep,ev,re,r,rp)
return re:IsActiveType(TYPE_MONSTER) and rp==1-tp and re:GetHandler():IsAttackBelow(2500)
return re:IsActiveType(TYPE_MONSTER) and 2500>=re:GetHandler():GetAttack()
and ((ep~=tp and e:GetLabel()%2==0) or (ep==tp and e:GetLabel()%2==1))
end
function c117981478.disop(e,tp,eg,ep,ev,re,r,rp)
Duel.NegateEffect(ev)
end
\ No newline at end of file
end
function c117981478.crop(e,tp,eg,ep,ev,re,r,rp)
local ct=e:GetLabelObject():GetLabel()
e:GetLabelObject():SetLabel(ct+1)
end
This diff is collapsed.
This diff is collapsed.
--青眼の幻白龍
function c118817732.initial_effect(c)
aux.AddXyzProcedure(c,nil,8,2)
c:EnableReviveLimit()
--xyz summon
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(118817732,0))
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_SPSUMMON_PROC)
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE)
e1:SetRange(LOCATION_EXTRA)
e1:SetCondition(aux.XyzCondition(nil,8,2,2))
e1:SetTarget(aux.XyzTarget(nil,8,2,2))
e1:SetOperation(aux.XyzOperation(nil,8,2,2))
e1:SetCondition(c118817732.xyzcon)
e1:SetOperation(c118817732.xyzop)
e1:SetValue(SUMMON_TYPE_XYZ)
c:RegisterEffect(e1)
--cannot be target
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(118817732,1))
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_SPSUMMON_PROC)
e2:SetProperty(EFFECT_FLAG_UNCOPYABLE)
e2:SetRange(LOCATION_EXTRA)
e2:SetCountLimit(1,118817732)
e2:SetCondition(c118817732.xyzcondition)
e2:SetTarget(c118817732.xyztarget)
e2:SetOperation(aux.XyzOperation(nil,8,2,2))
e2:SetValue(SUMMON_TYPE_XYZ)
e2:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e2:SetRange(LOCATION_MZONE)
e2:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e2:SetTargetRange(LOCATION_ONFIELD,0)
e2:SetCondition(c118817732.tgcon)
e2:SetTarget(c118817732.tgtg)
e2:SetValue(aux.tgoval)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
local e3=e2:Clone()
e3:SetCode(EFFECT_IMMUNE_EFFECT)
e3:SetRange(LOCATION_MZONE)
e3:SetCondition(c118817732.indcon)
e3:SetTargetRange(LOCATION_MZONE,0)
e3:SetTarget(aux.TargetBoolFunction(Card.IsRace,RACE_DRAGON))
e3:SetValue(c118817732.imvalue)
e3:SetValue(c118817732.efilter)
c:RegisterEffect(e3)
--tohand or spsummon
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD)
e4:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e4:SetType(EFFECT_TYPE_QUICK_O)
e4:SetCode(EVENT_FREE_CHAIN)
e4:SetRange(LOCATION_MZONE)
e4:SetCondition(c118817732.indcon)
e4:SetTargetRange(LOCATION_MZONE,0)
e4:SetTarget(aux.TargetBoolFunction(Card.IsRace,RACE_DRAGON))
e4:SetValue(c118817732.indvalue)
e4:SetCountLimit(1)
e4:SetCost(c118817732.spcost)
e4:SetTarget(c118817732.sptg)
e4:SetOperation(c118817732.spop)
c:RegisterEffect(e4)
--destroy
local e5=Effect.CreateEffect(c)
e5:SetDescription(aux.Stringid(118817732,2))
e5:SetCategory(CATEGORY_DESTROY)
e5:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e5:SetRange(LOCATION_MZONE)
e5:SetCode(EVENT_ATTACK_ANNOUNCE)
e5:SetCondition(c118817732.atkcon)
e5:SetTarget(c118817732.atktg)
e5:SetOperation(c118817732.atkop)
e5:SetRange(LOCATION_MZONE)
e5:SetCondition(c118817732.descon)
e5:SetTarget(c118817732.destg)
e5:SetOperation(c118817732.desop)
c:RegisterEffect(e5)
local e6=Effect.CreateEffect(c)
e6:SetDescription(aux.Stringid(118817732,3))
e6:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOHAND+CATEGORY_SEARCH)
e6:SetType(EFFECT_TYPE_QUICK_O)
e6:SetCode(EVENT_FREE_CHAIN)
e6:SetRange(LOCATION_MZONE)
e6:SetCountLimit(1)
e6:SetCost(c118817732.sccost)
e6:SetTarget(c118817732.sctg)
e6:SetOperation(c118817732.scop)
c:RegisterEffect(e6)
end
function c118817732.xyzfilter(c)
return c:IsRace(RACE_DRAGON) and c:IsCanOverlay()
function c118817732.mfilter(c,xyzc)
return c:IsRace(RACE_DRAGON) and c:IsCanBeXyzMaterial(xyzc)
end
function c118817732.xyzcondition(e,c,og,min,max)
function c118817732.xyzcon(e,c,og,min,max)
if c==nil then return true end
local tp=c:GetControler()
local mg
if og then
mg=og
else
mg=Duel.GetFieldGroup(tp,LOCATION_HAND,0)
end
return mg:IsExists(c118817732.xyzfilter,2,nil)
return Duel.GetLocationCount(tp,LOCATION_MZONE)>-1
and (not min or min<=2 and max>=2)
and Duel.IsExistingMatchingCard(c118817732.mfilter,tp,LOCATION_HAND,0,2,nil,c)
and Duel.GetFlagEffect(tp,118817732)==0
and Duel.GetLocationCountFromEx(tp,tp,nil,c)>0
end
function c118817732.xyztarget(e,tp,eg,ep,ev,re,r,rp,chk,c,og,min,max)
local mg=nil
if og then
mg=og
function c118817732.xyzop(e,tp,eg,ep,ev,re,r,rp,c,og,min,max)
local xyzg=Group.CreateGroup()
if og and not min then
g=og
local tc=og:GetFirst()
while tc do
sg:Merge(tc:GetOverlayGroup())
tc=og:GetNext()
end
else
mg=Duel.GetMatchingGroup(c118817732.xyzfilter,tp,LOCATION_HAND,0,nil)
local mg=nil
if og then
mg=og:Filter(c118817732.mfilter,nil,c)
else
mg=Duel.GetMatchingGroup(c118817732.mfilter,tp,LOCATION_HAND,0,nil,c)
end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_XMATERIAL)
local mtg=mg:Select(tp,2,2,nil)
xyzg:Merge(mtg)
end
local g=mg:Select(tp,2,2,nil)
if g then
g:KeepAlive()
e:SetLabelObject(g)
return true
else return false end
end
function c118817732.indcon(e)
return e:GetHandler():GetOverlayCount()>0
end
function c118817732.imvalue(e,re)
return re:IsActiveType(TYPE_MONSTER) and re:GetHandlerPlayer()~=e:GetHandlerPlayer()
Duel.ConfirmCards(1-c:GetControler(),c)
Duel.RegisterFlagEffect(c:GetControler(),118817732,RESET_PHASE+PHASE_END,0,1)
Duel.Hint(HINT_OPSELECTED,1-c:GetControler(),aux.Stringid(118817732,0))
c:SetMaterial(xyzg)
Duel.Overlay(c,xyzg)
end
function c118817732.indvalue(e,re)
return re:GetHandlerPlayer()~=e:GetHandlerPlayer()
function c118817732.tgcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetOverlayCount()~=0
end
function c118817732.atkcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetAttacker():IsType(TYPE_NORMAL) and Duel.GetFieldGroupCount(tp,0,LOCATION_ONFIELD)>0
function c118817732.tgtg(e,c)
return c:IsRace(RACE_DRAGON)
end
function c118817732.atktg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
local g=Duel.GetFieldGroup(tp,0,LOCATION_ONFIELD)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,g:GetCount(),0,0)
end
function c118817732.atkop(e,tp,eg,ep,ev,re,r,rp)
if Duel.NegateAttack() then
local g=Duel.GetFieldGroup(tp,0,LOCATION_ONFIELD)
if g:GetCount()>0 then
Duel.Destroy(g,REASON_EFFECT)
end
end
function c118817732.efilter(e,te)
return te:GetOwnerPlayer()~=e:GetHandlerPlayer() and te:GetOwner()~=e:GetOwner()
and te:IsActiveType(TYPE_MONSTER)
end
function c118817732.sccost(e,tp,eg,ep,ev,re,r,rp,chk)
function c118817732.spcost(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 c118817732.scfilter(c,e,tp)
return c:IsSetCard(0xdd) and c:IsType(TYPE_MONSTER) and (c:IsCanBeSpecialSummoned(e,0,tp,false,false) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 or c:IsAbleToHand())
function c118817732.spfilter(c,ft,e,tp)
return c:IsSetCard(0xdd) and (c:IsAbleToHand() or (ft>0 and c:IsCanBeSpecialSummoned(e,0,tp,false,false)))
end
function c118817732.sctg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c118817732.scfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON+CATEGORY_SEARCH+CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE)
function c118817732.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
return Duel.IsExistingMatchingCard(c118817732.spfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil,ft,e,tp)
end
end
function c118817732.scop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SELF)
local g=Duel.SelectMatchingCard(tp,c118817732.scfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,e,tp)
local tc=g:GetFirst()
if tc then
local b1=tc:IsCanBeSpecialSummoned(e,0,tp,false,false) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
local b2=tc:IsAbleToHand()
if b1 and (not b2 or Duel.SelectYesNo(tp,aux.Stringid(118817732,4))) then
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)
function c118817732.spop(e,tp,eg,ep,ev,re,r,rp)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
local g=Duel.SelectMatchingCard(tp,c118817732.spfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,ft,e,tp)
if g:GetCount()>0 then
local th=g:GetFirst():IsAbleToHand()
local sp=ft>0 and g:GetFirst():IsCanBeSpecialSummoned(e,0,tp,false,false)
local op=0
if th and sp then op=Duel.SelectOption(tp,aux.Stringid(118817732,2),aux.Stringid(118817732,3))
elseif th then op=0
else op=1 end
if op==0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
else
Duel.SendtoHand(tc,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,tc)
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
end
end
\ No newline at end of file
end
function c118817732.descon(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetAttacker()
return tc:IsType(TYPE_NORMAL)
end
function c118817732.destg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return Duel.IsExistingMatchingCard(aux.TRUE,tp,0,LOCATION_ONFIELD,1,nil) end
local g=Duel.GetMatchingGroup(aux.TRUE,tp,0,LOCATION_ONFIELD,nil)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,g:GetCount(),0,0)
end
function c118817732.desop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(aux.TRUE,tp,0,LOCATION_ONFIELD,nil)
if Duel.Destroy(g,REASON_EFFECT)~=0 then
Duel.NegateAttack()
end
end
......@@ -6,7 +6,6 @@ function c119150521.initial_effect(c)
e1:SetCountLimit(1,119150520+EFFECT_COUNT_CODE_DUEL)
e1:SetCondition(c119150521.spcon)
e1:SetCost(c119150521.spcost)
e1:SetTarget(aux.TRUE)
e1:SetOperation(c119150521.operation)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
......@@ -49,15 +48,16 @@ function c119150521.costfilter(c)
end
function c119150521.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return not c:IsPublic() and Duel.IsExistingMatchingCard(c119150521.costfilter,tp,LOCATION_HAND,0,2,c) end
if chk==0 then return c:IsDiscardable() and not c:IsPublic() and Duel.IsExistingMatchingCard(c119150521.costfilter,tp,LOCATION_HAND,0,2,c) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONFIRM)
local g=Duel.SelectMatchingCard(tp,c119150521.costfilter,tp,LOCATION_HAND,0,2,2,c)
g:AddCard(c)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DISCARD)
local tg=g:FilterSelect(tp,Card.IsDiscardable,2,2,nil)
local tg=g:Select(tp,2,2,nil)
Duel.SendtoGrave(tg,REASON_COST+REASON_DISCARD)
end
function c119150521.operation(e,tp,eg,ep,ev,re,r,rp)
Duel.SkipPhase(1-tp,PHASE_STANDBY,RESET_PHASE+PHASE_END,1)
Duel.SkipPhase(1-tp,PHASE_MAIN1,RESET_PHASE+PHASE_END,1)
Duel.SkipPhase(1-tp,PHASE_BATTLE,RESET_PHASE+PHASE_END,1)
Duel.SkipPhase(1-tp,PHASE_MAIN2,RESET_PHASE+PHASE_END,1)
......@@ -123,4 +123,4 @@ end
function c119150521.damop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_CARD,0,119150521)
Duel.Damage(1-tp,200,REASON_EFFECT)
end
\ No newline at end of file
end
This diff is collapsed.
--闪光之宣告者
local m=121074344
local cm=_G["c"..m]
function cm.initial_effect(c)
--Negate summon
--閃光の宣告者
function c121074344.initial_effect(c)
--Negate
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,1))
e1:SetDescription(aux.Stringid(121074344,0))
e1:SetCategory(CATEGORY_DISABLE_SUMMON+CATEGORY_TOHAND)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetRange(LOCATION_HAND)
e1:SetCode(EVENT_SUMMON)
e1:SetCondition(cm.discon)
e1:SetCost(cm.discost)
e1:SetTarget(cm.distg)
e1:SetOperation(cm.disop)
e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e1:SetRange(LOCATION_HAND)
e1:SetCondition(c121074344.discon)
e1:SetCost(c121074344.discost)
e1:SetTarget(c121074344.distg)
e1:SetOperation(c121074344.disop)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EVENT_FLIP_SUMMON)
c:RegisterEffect(e2)
local e4=e1:Clone()
e4:SetDescription(aux.Stringid(m,0))
e4:SetCountLimit(1,117960683)
e4:SetCost(cm.discost2)
c:RegisterEffect(e4)
local e5=e4:Clone()
e5:SetCode(EVENT_FLIP_SUMMON)
c:RegisterEffect(e5)
end
function cm.discon(e,tp,eg,ep,ev,re,r,rp)
return tp~=ep and Duel.GetCurrentChain()==0
function c121074344.discon(e,tp,eg,ep,ev,re,r,rp)
return ep~=tp and Duel.GetCurrentChain()==0
end
function cm.costfilter(c)
return c:IsRace(RACE_FAIRY) and c:IsAbleToGraveAsCost()
function c121074344.costfilter(c,tp)
return (c:IsRace(RACE_FAIRY) and c:IsLocation(LOCATION_HAND) or (c:IsCode(117960683) and Duel.GetFlagEffect(tp,117960683)==0))
and c:IsAbleToGraveAsCost()
end
function cm.discost(e,tp,eg,ep,ev,re,r,rp,chk)
function c121074344.discost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return c:IsAbleToGraveAsCost() and
Duel.IsExistingMatchingCard(cm.costfilter,tp,LOCATION_HAND,0,1,c) end
if chk==0 then return c:IsAbleToGraveAsCost()
and Duel.IsExistingMatchingCard(c121074344.costfilter,tp,LOCATION_DECK+LOCATION_HAND,0,1,c,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,cm.costfilter,tp,LOCATION_HAND,0,1,1,c)
local g=Duel.SelectMatchingCard(tp,c121074344.costfilter,tp,LOCATION_DECK+LOCATION_HAND,0,1,1,c,tp)
local tc=g:GetFirst()
if tc:IsLocation(LOCATION_DECK) then
Duel.RegisterFlagEffect(tp,10458,RESET_PHASE+PHASE_END,0,1)
end
g:AddCard(c)
Duel.SendtoGrave(g,REASON_COST)
end
function cm.distg(e,tp,eg,ep,ev,re,r,rp,chk)
function c121074344.distg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_DISABLE_SUMMON,eg,eg:GetCount(),0,0)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,eg,eg:GetCount(),0,0)
Duel.SetOperationInfo(0,CATEGORY_DISABLE_SUMMON,eg,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,eg,1,0,0)
end
function cm.disop(e,tp,eg,ep,ev,re,r,rp)
Duel.NegateSummon(eg)
function c121074344.disop(e,tp,eg,ep,ev,re,r,rp)
Duel.NegateSummon(eg:GetFirst())
Duel.SendtoHand(eg,nil,REASON_EFFECT)
end
function cm.dcostfilter(c)
return c:IsCode(117960683) and c:IsAbleToGraveAsCost()
end
function cm.discost2(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return c:IsAbleToGraveAsCost() and Duel.IsExistingMatchingCard(cm.dcostfilter,tp,LOCATION_DECK,0,1,nil) end
local tc=Duel.GetFirstMatchingCard(cm.dcostfilter,tp,LOCATION_DECK,0,nil)
Duel.SendtoGrave(Group.FromCards(c,tc),REASON_COST)
end
\ No newline at end of file
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