Commit 654846f0 authored by Nemo Ma's avatar Nemo Ma

Update 1122

Updated 362 cards
parent 0137425d
No preview for this file type
expansions/pics/79029214.jpg

48.2 KB | W: | H:

expansions/pics/79029214.jpg

48.8 KB | W: | H:

expansions/pics/79029214.jpg
expansions/pics/79029214.jpg
expansions/pics/79029214.jpg
expansions/pics/79029214.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910036.jpg

46.7 KB | W: | H:

expansions/pics/9910036.jpg

47.1 KB | W: | H:

expansions/pics/9910036.jpg
expansions/pics/9910036.jpg
expansions/pics/9910036.jpg
expansions/pics/9910036.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910057.jpg

45.7 KB | W: | H:

expansions/pics/9910057.jpg

47.1 KB | W: | H:

expansions/pics/9910057.jpg
expansions/pics/9910057.jpg
expansions/pics/9910057.jpg
expansions/pics/9910057.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910213.jpg

50 KB | W: | H:

expansions/pics/9910213.jpg

49.5 KB | W: | H:

expansions/pics/9910213.jpg
expansions/pics/9910213.jpg
expansions/pics/9910213.jpg
expansions/pics/9910213.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910215.jpg

46.3 KB | W: | H:

expansions/pics/9910215.jpg

48.1 KB | W: | H:

expansions/pics/9910215.jpg
expansions/pics/9910215.jpg
expansions/pics/9910215.jpg
expansions/pics/9910215.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910220.jpg

51.2 KB | W: | H:

expansions/pics/9910220.jpg

51.2 KB | W: | H:

expansions/pics/9910220.jpg
expansions/pics/9910220.jpg
expansions/pics/9910220.jpg
expansions/pics/9910220.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910222.jpg

49.6 KB | W: | H:

expansions/pics/9910222.jpg

49.5 KB | W: | H:

expansions/pics/9910222.jpg
expansions/pics/9910222.jpg
expansions/pics/9910222.jpg
expansions/pics/9910222.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910224.jpg

41.5 KB | W: | H:

expansions/pics/9910224.jpg

41.7 KB | W: | H:

expansions/pics/9910224.jpg
expansions/pics/9910224.jpg
expansions/pics/9910224.jpg
expansions/pics/9910224.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910225.jpg

53.6 KB | W: | H:

expansions/pics/9910225.jpg

53.7 KB | W: | H:

expansions/pics/9910225.jpg
expansions/pics/9910225.jpg
expansions/pics/9910225.jpg
expansions/pics/9910225.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910237.jpg

47.8 KB | W: | H:

expansions/pics/9910237.jpg

48.7 KB | W: | H:

expansions/pics/9910237.jpg
expansions/pics/9910237.jpg
expansions/pics/9910237.jpg
expansions/pics/9910237.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910454.jpg

42.9 KB | W: | H:

expansions/pics/9910454.jpg

42.6 KB | W: | H:

expansions/pics/9910454.jpg
expansions/pics/9910454.jpg
expansions/pics/9910454.jpg
expansions/pics/9910454.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910551.jpg

49.3 KB | W: | H:

expansions/pics/9910551.jpg

49.3 KB | W: | H:

expansions/pics/9910551.jpg
expansions/pics/9910551.jpg
expansions/pics/9910551.jpg
expansions/pics/9910551.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910552.jpg

52.7 KB | W: | H:

expansions/pics/9910552.jpg

52.2 KB | W: | H:

expansions/pics/9910552.jpg
expansions/pics/9910552.jpg
expansions/pics/9910552.jpg
expansions/pics/9910552.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910553.jpg

48.8 KB | W: | H:

expansions/pics/9910553.jpg

48.5 KB | W: | H:

expansions/pics/9910553.jpg
expansions/pics/9910553.jpg
expansions/pics/9910553.jpg
expansions/pics/9910553.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910554.jpg

49.8 KB | W: | H:

expansions/pics/9910554.jpg

49.9 KB | W: | H:

expansions/pics/9910554.jpg
expansions/pics/9910554.jpg
expansions/pics/9910554.jpg
expansions/pics/9910554.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910558.jpg

43.4 KB | W: | H:

expansions/pics/9910558.jpg

43.4 KB | W: | H:

expansions/pics/9910558.jpg
expansions/pics/9910558.jpg
expansions/pics/9910558.jpg
expansions/pics/9910558.jpg
  • 2-up
  • Swipe
  • Onion skin
...@@ -32,11 +32,11 @@ function c65010042.thcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -32,11 +32,11 @@ function c65010042.thcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_LINK) return e:GetHandler():IsSummonType(SUMMON_TYPE_LINK)
end end
function c65010042.thfil(c) function c65010042.thfil(c)
return c:IsRace(RACE_CYBERSE) and c:IsAbleToHand() return c:IsFaceup() and c:IsRace(RACE_CYBERSE) and c:IsAbleToHand()
end end
function c65010042.thtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c65010042.thtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_REMOVED) and chkc:IsControler(tp) and chkc:IsSetCard(0x3da0) and chkc:IsAbleToHand() end if chkc then return chkc:IsLocation(LOCATION_REMOVED) and chkc:IsControler(tp) and c65010042.thfil(chkc) end
if chk==0 then return Duel.IsExistingTarget(c65010042.thfil,tp,LOCATION_GRAVE,0,1,nil) end if chk==0 then return Duel.IsExistingTarget(c65010042.thfil,tp,LOCATION_REMOVED,0,1,nil) end
local g=Duel.SelectTarget(tp,c65010042.thfil,tp,LOCATION_REMOVED,0,1,1,nil) local g=Duel.SelectTarget(tp,c65010042.thfil,tp,LOCATION_REMOVED,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,g,1,tp,LOCATION_REMOVED) Duel.SetOperationInfo(0,CATEGORY_TOHAND,g,1,tp,LOCATION_REMOVED)
end end
...@@ -44,6 +44,7 @@ function c65010042.thop(e,tp,eg,ep,ev,re,r,rp) ...@@ -44,6 +44,7 @@ function c65010042.thop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then if tc:IsRelateToEffect(e) then
Duel.SendtoHand(tc,tp,REASON_EFFECT) Duel.SendtoHand(tc,tp,REASON_EFFECT)
Duel.ConfirmCards(1-tp,tc)
end end
end end
function c65010042.cfilter(c,tp) function c65010042.cfilter(c,tp)
......
...@@ -27,11 +27,11 @@ function c65020218.initial_effect(c) ...@@ -27,11 +27,11 @@ function c65020218.initial_effect(c)
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetCategory(CATEGORY_ATKCHANGE+CATEGORY_DISABLE) e4:SetCategory(CATEGORY_ATKCHANGE+CATEGORY_DISABLE)
e4:SetType(EFFECT_TYPE_QUICK_O) e4:SetType(EFFECT_TYPE_QUICK_O)
e4:SetProperty(EFFECT_FLAG_CARD_TARGET) e4:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DAMAGE_STEP)
e4:SetCode(EVENT_FREE_CHAIN) e4:SetCode(EVENT_FREE_CHAIN)
e4:SetRange(LOCATION_MZONE) e4:SetRange(LOCATION_MZONE)
e4:SetCountLimit(1,65020318) e4:SetCountLimit(1,65020318)
e4:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE) e4:SetHintTiming(TIMING_DAMAGE_STEP,TIMINGS_CHECK_MONSTER+TIMING_DAMAGE_STEP+TIMING_END_PHASE)
e4:SetTarget(c65020218.distg) e4:SetTarget(c65020218.distg)
e4:SetOperation(c65020218.disop) e4:SetOperation(c65020218.disop)
c:RegisterEffect(e4) c:RegisterEffect(e4)
......
...@@ -80,12 +80,11 @@ function c79029048.cost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -80,12 +80,11 @@ function c79029048.cost(e,tp,eg,ep,ev,re,r,rp,chk)
end end
function c79029048.tg(e,tp,eg,ep,ev,re,r,rp,chk) function c79029048.tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
local lv=e:GetHandler():GetLevel()
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(26082117,1)) Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(26082117,1))
e:SetLabel(Duel.AnnounceLevel(tp,1,8)) e:SetLabel(Duel.AnnounceLevel(tp,1,8))
end end
function c79029048.op(e,tp,eg,ep,ev,re,r,rp) function c79029048.op(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(Card.IsSetCard,tp,LOCATION_MZONE,0,0xa900) local g=Duel.GetMatchingGroup(Card.IsSetCard,tp,LOCATION_MZONE,0,nil,0xa900)
local tc=g:GetFirst() local tc=g:GetFirst()
local c=e:GetHandler() local c=e:GetHandler()
while tc do while tc do
......
...@@ -4,42 +4,31 @@ function c79029057.initial_effect(c) ...@@ -4,42 +4,31 @@ function c79029057.initial_effect(c)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,79029057+EFFECT_COUNT_CODE_OATH) e1:SetCountLimit(1,79029057)
e1:SetCost(c79029057.cost)
e1:SetTarget(c79029057.target) e1:SetTarget(c79029057.target)
e1:SetOperation(c79029057.operation)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--set --set
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_TODECK+CATEGORY_DRAW) e2:SetCategory(CATEGORY_SEARCH)
e2:SetDescription(aux.Stringid(73594093,1)) e2:SetDescription(aux.Stringid(73594093,1))
e2:SetType(EFFECT_TYPE_IGNITION) e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_GRAVE) e2:SetRange(LOCATION_GRAVE)
e2:SetCountLimit(1,09029057)
e2:SetCost(aux.bfgcost)
e2:SetTarget(c79029057.settg) e2:SetTarget(c79029057.settg)
e2:SetOperation(c79029057.setop) e2:SetOperation(c79029057.setop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c79029057.cost(e,tp,eg,ep,ev,re,r,rp,chk) function c79029057.costfilter(c)
e:SetLabel(1)
return true
end
function c79029057.desfilter(c,tc,ec)
return c:IsFaceup()
end
function c79029057.costfilter(c,ec,tp)
local lk=c:GetLink() local lk=c:GetLink()
if not c:IsType(TYPE_LINK) or not c:IsSetCard(0xa900) then return false end return c:IsFaceup() and c:IsSetCard(0xa900) and c:IsReleasable() and c:IsAbleToRemove() and c:IsType(TYPE_LINK) and Duel.IsExistingMatchingCard(Card.IsAbleToRemove,tp,0,LOCATION_EXTRA,1,nil)
return Duel.IsExistingTarget(c79029057.desfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,lk,c,c,ec)
end end
function c79029057.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c79029057.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local c=e:GetHandler() if chk==0 then return Duel.IsExistingMatchingCard(c79029057.costfilter,tp,LOCATION_MZONE,0,1,nil) end
if chkc then return chkc:IsOnField() and chkc~=c end end
if chk==0 then function c79029057.operation(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if e:GetLabel()==1 then Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
e:SetLabel(0)
return Duel.CheckReleaseGroup(tp,c79029057.costfilter,1,c,c,tp)
else return false end
end
e:SetLabel(0)
local sg=Duel.SelectMatchingCard(tp,c79029057.costfilter,tp,LOCATION_MZONE,0,1,1,nil) local sg=Duel.SelectMatchingCard(tp,c79029057.costfilter,tp,LOCATION_MZONE,0,1,1,nil)
local lk=sg:GetFirst():GetLink() local lk=sg:GetFirst():GetLink()
Duel.Remove(sg,POS_FACEUP,REASON_COST) Duel.Remove(sg,POS_FACEUP,REASON_COST)
...@@ -48,17 +37,15 @@ function c79029057.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -48,17 +37,15 @@ function c79029057.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
Duel.Remove(g,POS_FACEDOWN,REASON_EFFECT) Duel.Remove(g,POS_FACEDOWN,REASON_EFFECT)
end end
function c79029057.setfilter(c) function c79029057.setfilter(c)
return c:IsSetCard(0xc90f) and c:IsSSetable() return c:IsSetCard(0xc90e) and c:IsSSetable()
end end
function c79029057.settg(e,tp,eg,ep,ev,re,r,rp,chk) function c79029057.settg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c79029057.setfilter,tp,LOCATION_DECK,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(c79029057.setfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.Remove(e:GetHandler(),POS_FACEUP,REASON_COST)
end end
function c79029057.setop(e,tp,eg,ep,ev,re,r,rp) function c79029057.setop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET)
local g=Duel.SelectMatchingCard(tp,c79029057.setfilter,tp,LOCATION_DECK,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,c79029057.setfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then if g:GetCount()>0 then
Duel.SSet(tp,g:GetFirst()) Duel.SSet(tp,g:GetFirst())
Duel.ConfirmCards(1-tp,g)
end end
end end
--企鹅物流·行动-分头行动
function c79029057.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,79029057+EFFECT_COUNT_CODE_OATH)
e1:SetCost(c79029057.cost)
e1:SetTarget(c79029057.target)
c:RegisterEffect(e1)
--set
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_TODECK+CATEGORY_DRAW)
e2:SetDescription(aux.Stringid(73594093,1))
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_GRAVE)
e2:SetTarget(c79029057.settg)
e2:SetOperation(c79029057.setop)
c:RegisterEffect(e2)
end
function c79029057.cost(e,tp,eg,ep,ev,re,r,rp,chk)
e:SetLabel(1)
return true
end
function c79029057.desfilter(c,tc,ec)
return c:IsFaceup()
end
function c79029057.costfilter(c,ec,tp)
local lk=c:GetLink()
if not c:IsType(TYPE_LINK) or not c:IsSetCard(0xa900) then return false end
return Duel.IsExistingTarget(c79029057.desfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,lk,c,c,ec)
end
function c79029057.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local c=e:GetHandler()
if chkc then return chkc:IsOnField() and chkc~=c end
if chk==0 then
if e:GetLabel()==1 then
e:SetLabel(0)
return Duel.CheckReleaseGroup(tp,c79029057.costfilter,1,c,c,tp)
else return false end
end
e:SetLabel(0)
local sg=Duel.SelectMatchingCard(tp,c79029057.costfilter,tp,LOCATION_MZONE,0,1,1,nil)
local lk=sg:GetFirst():GetLink()
Duel.Remove(sg,POS_FACEUP,REASON_COST)
local x=Duel.GetMatchingGroup(aux.TRUE,tp,0,LOCATION_EXTRA,nil)
local g=x:RandomSelect(tp,lk)
Duel.Remove(g,POS_FACEDOWN,REASON_EFFECT)
end
function c79029057.setfilter(c)
return c:IsSetCard(0xc90e) and c:IsSSetable()
end
function c79029057.settg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c79029057.setfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.Remove(e:GetHandler(),POS_FACEUP,REASON_COST)
end
function c79029057.setop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET)
local g=Duel.SelectMatchingCard(tp,c79029057.setfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SSet(tp,g:GetFirst())
Duel.ConfirmCards(1-tp,g)
end
end
\ No newline at end of file
...@@ -28,13 +28,13 @@ function c79029097.lzcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -28,13 +28,13 @@ function c79029097.lzcon(e,tp,eg,ep,ev,re,r,rp)
end end
function c79029097.lztg(e,tp,eg,ep,ev,re,r,rp,chk) function c79029097.lztg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c79029097.filter,tp,LOCATION_GRAVE,0,1,nil,e,tp) end and Duel.IsExistingMatchingCard(c79029097.filter,tp,LOCATION_GRAVE+LOCATION_HAND,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE+LOCATION_HAND)
end end
function c79029097.lzop(e,tp,eg,ep,ev,re,r,rp) function c79029097.lzop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c79029097.filter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp) local g=Duel.SelectMatchingCard(tp,c79029097.filter,tp,LOCATION_GRAVE+LOCATION_HAND,0,1,1,nil,e,tp)
local tc=g:GetFirst() local tc=g:GetFirst()
if tc then if tc then
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)
......
--罗德岛·先锋干员-极境 --罗德岛·先锋干员-极境
function c79029214.initial_effect(c) function c79029214.initial_effect(c)
aux.AddCodeList(c,0xa906) aux.AddCodeList(c,0xa906)
c:SetUniqueOnField(1,0,79029214)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
......
...@@ -53,7 +53,7 @@ function c79029253.sscost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -53,7 +53,7 @@ function c79029253.sscost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SendtoGrave(e:GetHandler(),REASON_COST) Duel.SendtoGrave(e:GetHandler(),REASON_COST)
end end
function c79029253.ssfil(c,e) function c79029253.ssfil(c,e)
return c:IsSSetable() and (c:IsSetCard(0xb90d) or c:IsSetCard(0xc90e)) return c:IsSSetable(true) and (c:IsSetCard(0xb90d) or c:IsSetCard(0xc90e))
end end
function c79029253.sstg(e,tp,eg,ep,ev,re,r,rp,chk) function c79029253.sstg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetMatchingGroupCount(c79029253.ssfil,tp,LOCATION_DECK,0,nil,e)>=1 end if chk==0 then return Duel.GetMatchingGroupCount(c79029253.ssfil,tp,LOCATION_DECK,0,nil,e)>=1 end
......
...@@ -37,7 +37,7 @@ function c79029321.initial_effect(c) ...@@ -37,7 +37,7 @@ function c79029321.initial_effect(c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c79029321.filter(c,e,tp,re) function c79029321.filter(c,e,tp,re)
return c:GetPreviousControler()==tp and c:IsReason(REASON_COST) and c==re:GetHandler() return c:GetPreviousControler()==tp and c:IsReason(REASON_COST) and c==re:GetHandler() and c:IsSetCard(0xa904)
end end
function c79029321.thfil(c) function c79029321.thfil(c)
return c:IsSetCard(0xa904) and c:IsAbleToHand() return c:IsSetCard(0xa904) and c:IsAbleToHand()
......
...@@ -87,7 +87,7 @@ function c79029326.filter(c,e,tp) ...@@ -87,7 +87,7 @@ function c79029326.filter(c,e,tp)
return c:IsType(TYPE_FUSION) and c:CheckFusionMaterial() and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false) and Duel.GetLocationCountFromEx(tp,tp,nil,c)>0 and c:IsSetCard(0xa900) return c:IsType(TYPE_FUSION) and c:CheckFusionMaterial() and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false) and Duel.GetLocationCountFromEx(tp,tp,nil,c)>0 and c:IsSetCard(0xa900)
end end
function c79029326.thtg(e,tp,eg,ep,ev,re,r,rp,chk) function c79029326.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return ux.MustMaterialCheck(nil,tp,EFFECT_MUST_BE_FMATERIAL) if chk==0 then return aux.MustMaterialCheck(nil,tp,EFFECT_MUST_BE_FMATERIAL)
and Duel.IsExistingMatchingCard(c79029326.filter,tp,LOCATION_EXTRA,0,1,nil,e,tp)end and Duel.IsExistingMatchingCard(c79029326.filter,tp,LOCATION_EXTRA,0,1,nil,e,tp)end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end end
......
...@@ -57,7 +57,7 @@ end ...@@ -57,7 +57,7 @@ end
function c79029327.condition(e,tp,eg,ep,ev,re,r,rp) function c79029327.condition(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local rc=re:GetHandler() local rc=re:GetHandler()
return re:IsActiveType(TYPE_MONSTER) and rc~=c and not c:IsStatus(STATUS_BATTLE_DESTROYED) and Duel.IsChainNegatable(ev) and rc:GetControler()~=tp return rc~=c and not c:IsStatus(STATUS_BATTLE_DESTROYED) and Duel.IsChainNegatable(ev) and rc:GetControler()~=tp
end end
function c79029327.target(e,tp,eg,ep,ev,re,r,rp,chk) function c79029327.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
......
...@@ -82,7 +82,7 @@ end ...@@ -82,7 +82,7 @@ end
function c79029328.op(e,tp,eg,ep,ev,re,r,rp) function c79029328.op(e,tp,eg,ep,ev,re,r,rp)
Debug.Message("可能有点热哦?") Debug.Message("可能有点热哦?")
Duel.Hint(HINT_SOUND,0,aux.Stringid(79029328,1)) Duel.Hint(HINT_SOUND,0,aux.Stringid(79029328,1))
local tc=Duel.SelectMatchingCard(tp,c79029328.fil,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,99,nil,e,tp):GetFirst() local tc=Duel.SelectMatchingCard(tp,c79029328.fil,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,e,tp):GetFirst()
Duel.Overlay(e:GetHandler(),tc) Duel.Overlay(e:GetHandler(),tc)
local mg1=Duel.GetDecktopGroup(tp,tc:GetLink()) local mg1=Duel.GetDecktopGroup(tp,tc:GetLink())
local mg2=Duel.GetDecktopGroup(1-tp,tc:GetLink()) local mg2=Duel.GetDecktopGroup(1-tp,tc:GetLink())
......
...@@ -39,7 +39,7 @@ function c79029335.initial_effect(c) ...@@ -39,7 +39,7 @@ function c79029335.initial_effect(c)
end end
end end
function c79029335.filter(c,e,tp,re) function c79029335.filter(c,e,tp,re)
return c:GetPreviousControler()==tp and c:IsReason(REASON_COST) and c==re:GetHandler() return c:GetPreviousControler()==tp and c:IsReason(REASON_COST) and c==re:GetHandler() and c:IsSetCard(0xa904)
end end
function c79029335.con(e,tp,eg,ep,ev,re,r,rp) function c79029335.con(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c79029335.filter,1,nil,e,tp,re) return eg:IsExists(c79029335.filter,1,nil,e,tp,re)
......
...@@ -141,12 +141,14 @@ function c79029344.atkcon(e) ...@@ -141,12 +141,14 @@ function c79029344.atkcon(e)
return Duel.GetCurrentPhase()==PHASE_DAMAGE_CAL return Duel.GetCurrentPhase()==PHASE_DAMAGE_CAL
end end
function c79029344.atktg(e,c) function c79029344.atktg(e,c)
if c:GetBattleTarget()==nil then return false end
return c:IsSetCard(0xa907) and c:GetBattleTarget():GetFlagEffect(79029344)~=0 return c:IsSetCard(0xa907) and c:GetBattleTarget():GetFlagEffect(79029344)~=0
end end
function c79029344.atkval(e,c) function c79029344.atkval(e,c)
return c:GetAttack()*2 return c:GetAttack()*2
end end
function c79029344.damtg(e,c) function c79029344.damtg(e,c)
if c:GetBattleTarget()==nil then return false end
return c:IsSetCard(0xa907) and c:GetBattleTarget():GetFlagEffect(79029344)~=0 return c:IsSetCard(0xa907) and c:GetBattleTarget():GetFlagEffect(79029344)~=0
end end
function c79029344.efilter(e,te) function c79029344.efilter(e,te)
...@@ -161,6 +163,7 @@ function c79029344.val(e,c) ...@@ -161,6 +163,7 @@ function c79029344.val(e,c)
end end
function c79029344.damcon(e,tp,eg,ep,ev,re,r,rp) function c79029344.damcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:GetBattleTarget()==nil then return false end
local a=Duel.GetAttacker() local a=Duel.GetAttacker()
local b=Duel.GetAttackTarget() local b=Duel.GetAttackTarget()
local g=Group.FromCards(a,b) local g=Group.FromCards(a,b)
......
...@@ -70,6 +70,7 @@ function c79029347.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -70,6 +70,7 @@ function c79029347.operation(e,tp,eg,ep,ev,re,r,rp)
end end
function c79029347.xcon(e,tp,eg,ep,ev,re,r,rp) function c79029347.xcon(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetHandler():GetBattleTarget() local tc=e:GetHandler():GetBattleTarget()
if tc==nil then return false end
local lv=e:GetHandler():GetMaterial():GetSum(Card.GetLevel) local lv=e:GetHandler():GetMaterial():GetSum(Card.GetLevel)
return tc:IsLevelAbove(lv) return tc:IsLevelAbove(lv)
end end
...@@ -137,7 +138,7 @@ function c79029347.RitualCheckAdditional(c,atk,greater_or_equal) ...@@ -137,7 +138,7 @@ function c79029347.RitualCheckAdditional(c,atk,greater_or_equal)
end end
end end
function c79029347.RitualUltimateFilter(c,filter,e,tp,m1,m2,attack_function,greater_or_equal,chk) function c79029347.RitualUltimateFilter(c,filter,e,tp,m1,m2,attack_function,greater_or_equal,chk)
if bit.band(c:GetType(),0x81)~=0x81 or (filter and not filter(c,e,tp,chk)) or not c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_RITUAL,tp,false,true) then return false end if bit.band(c:GetType(),0x81)~=0x81 or (filter and not filter(c,e,tp,chk)) or not c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_RITUAL,tp,false,true) or not c:IsCode(79029346) then return false end
local mg=m1:Filter(Card.IsCanBeRitualMaterial,c,c) local mg=m1:Filter(Card.IsCanBeRitualMaterial,c,c)
if m2 then if m2 then
mg:Merge(m2) mg:Merge(m2)
......
--罗德岛·深夜故事会
function c79029348.initial_effect(c)
c:SetUniqueOnField(1,0,79029348)
--activate
local e0=Effect.CreateEffect(c)
e0:SetDescription(aux.Stringid(9212051,0))
e0:SetType(EFFECT_TYPE_ACTIVATE)
e0:SetCode(EVENT_FREE_CHAIN)
e0:SetHintTiming(0,TIMING_END_PHASE)
e0:SetTarget(c79029348.target)
c:RegisterEffect(e0)
--activate (return)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(9212051,1))
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,EFFECT_COUNT_CODE_SINGLE)
e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e1:SetCost(c79029348.slzcost)
e1:SetTarget(c79029348.slztg1)
e1:SetOperation(c79029348.slzop)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetRange(LOCATION_SZONE)
e2:SetTarget(c79029348.slztg2)
c:RegisterEffect(e2)
--todeck
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(79029348,1))
e2:SetCategory(CATEGORY_TODECK+CATEGORY_RECOVER)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DAMAGE_STEP)
e2:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_GRAVE)
e2:SetCountLimit(1,79029348)
e2:SetCost(aux.bfgcost)
e2:SetTarget(c79029348.rettg)
e2:SetOperation(c79029348.retop)
c:RegisterEffect(e2)
end
function c79029348.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
local c=e:GetHandler()
--destroy
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetCountLimit(1)
e1:SetRange(LOCATION_SZONE)
e1:SetCondition(c79029348.descon)
e1:SetOperation(c79029348.desop)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END+RESET_SELF_TURN,3)
c:SetTurnCounter(0)
c:RegisterEffect(e1)
end
function c79029348.descon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()==tp
end
function c79029348.desop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local ct=c:GetTurnCounter()
ct=ct+1
c:SetTurnCounter(ct)
if ct==3 then
Duel.Destroy(c,REASON_EFFECT)
end
end
function c79029348.cpfilter(c)
return (c:IsSetCard(0xb90d) or c:IsSetCard(0xc90e)) and c:IsAbleToGraveAsCost()
and c:CheckActivateEffect(true,true,false)~=nil
end
function c79029348.slzcost(e,tp,eg,ep,ev,re,r,rp,chk)
e:SetLabel(1)
if chk==0 then return e:GetHandler():GetFlagEffect(79029348)==0 end
e:GetHandler():RegisterFlagEffect(79029348,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1)
end
function c79029348.slztg1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
if e:GetLabel()==0 then return false end
e:SetLabel(0)
return Duel.IsExistingMatchingCard(c79029348.cpfilter,tp,LOCATION_DECK,0,1,nil)
end
local c=e:GetHandler()
--destroy
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetCountLimit(1)
e1:SetRange(LOCATION_SZONE)
e1:SetCondition(c79029348.descon)
e1:SetOperation(c79029348.desop)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END+RESET_SELF_TURN,3)
c:SetTurnCounter(0)
c:RegisterEffect(e1)
e:SetLabel(0)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,c79029348.cpfilter,tp,LOCATION_DECK,0,1,1,nil)
local te,ceg,cep,cev,cre,cr,crp=g:GetFirst():CheckActivateEffect(false,true,true)
Duel.SendtoGrave(g,REASON_COST)
e:SetProperty(te:GetProperty())
local tg=te:GetTarget()
if tg then tg(e,tp,ceg,cep,cev,cre,cr,crp,1) end
te:SetLabelObject(e:GetLabelObject())
e:SetLabelObject(te)
Duel.ClearOperationInfo(0)
end
function c79029348.slztg2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
if e:GetLabel()==0 then return false end
e:SetLabel(0)
return Duel.IsExistingMatchingCard(c79029348.cpfilter,tp,LOCATION_DECK,0,1,nil)
end
e:SetLabel(0)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,c79029348.cpfilter,tp,LOCATION_DECK,0,1,1,nil)
local te,ceg,cep,cev,cre,cr,crp=g:GetFirst():CheckActivateEffect(false,true,true)
Duel.SendtoGrave(g,REASON_COST)
e:SetProperty(te:GetProperty())
local tg=te:GetTarget()
if tg then tg(e,tp,ceg,cep,cev,cre,cr,crp,1) end
te:SetLabelObject(e:GetLabelObject())
e:SetLabelObject(te)
Duel.ClearOperationInfo(0)
end
function c79029348.slzop(e,tp,eg,ep,ev,re,r,rp)
local te=e:GetLabelObject()
if te then
e:SetLabelObject(te:GetLabelObject())
local op=te:GetOperation()
if op then op(e,tp,eg,ep,ev,re,r,rp) end
end
end
function c79029348.filter(c)
return c:IsSetCard(0xa900) and c:IsType(TYPE_MONSTER) and c:IsAbleToDeck()
end
function c79029348.rettg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and c79029348.filter(chkc) end
if chk==0 then return Duel.IsExistingTarget(c79029348.filter,tp,LOCATION_GRAVE,0,1,e:GetHandler()) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectTarget(tp,c79029348.filter,tp,LOCATION_GRAVE,0,1,99,e:GetHandler())
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,g:GetCount(),0,0)
Duel.SetOperationInfo(0,CATEGORY_RECOVER,nil,0,tp,g:GetCount()*300)
end
function c79029348.retop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS):Filter(Card.IsRelateToEffect,nil,e)
local ct=Duel.SendtoDeck(g,nil,2,REASON_EFFECT)
if ct>0 then
Duel.Recover(tp,ct*300,REASON_EFFECT)
end
end
--罗德岛·近卫干员-杰克
function c79029349.initial_effect(c)
--SpecialSummon
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_SPSUMMON_PROC)
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE)
e1:SetRange(LOCATION_DECK)
e1:SetCondition(c79029349.spcon)
e1:SetTarget(c79029349.sptg)
e1:SetCountLimit(1,79029349)
e1:SetOperation(c79029349.spop)
c:RegisterEffect(e1)
--limit
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_CANNOT_BE_XYZ_MATERIAL)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e2:SetValue(c79029349.limit)
c:RegisterEffect(e2)
--limit
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_CANNOT_BE_SYNCHRO_MATERIAL)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e2:SetValue(c79029349.limit)
c:RegisterEffect(e2)
--limit
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_CANNOT_BE_FUSION_MATERIAL)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e2:SetValue(c79029349.limit)
c:RegisterEffect(e2)
--limit
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e2:SetValue(c79029349.limit)
c:RegisterEffect(e2)
--effect gain
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_BE_MATERIAL)
e3:SetCondition(c79029349.efcon)
e3:SetOperation(c79029349.efop)
c:RegisterEffect(e3)
end
function c79029349.limit(e,c)
if not c then return false end
return not c:IsSetCard(0xa900)
end
function c79029349.spcon(e,c)
if c==nil then return true end
local tp=c:GetControler()
return Duel.GetMZoneCount(tp,g)>0 and Duel.IsExistingMatchingCard(aux.TRUE,tp,LOCATION_HAND,0,1,nil)
end
function c79029349.sptg(e,tp,eg,ep,ev,re,r,rp,chk,c)
local g=Duel.GetFieldGroup(tp,LOCATION_HAND,0)
if g then
g:KeepAlive()
e:SetLabelObject(g)
return true
else return false end
end
function c79029349.spop(e,tp,eg,ep,ev,re,r,rp,c)
local g=e:GetLabelObject()
Debug.Message("我来啦!")
Duel.Hint(HINT_SOUND,0,aux.Stringid(79029349,1))
Duel.SendtoGrave(g,REASON_COST+REASON_DISCARD)
g:DeleteGroup()
end
function c79029349.efcon(e,tp,eg,ep,ev,re,r,rp)
local ec=e:GetHandler():GetReasonCard()
return ec:IsSetCard(0xa900)
end
function c79029349.efop(e,tp,eg,ep,ev,re,r,rp)
Debug.Message("热身完毕!")
Duel.Hint(HINT_SOUND,0,aux.Stringid(79029349,2))
Duel.Hint(HINT_CARD,0,79029349)
local c=e:GetHandler()
local rc=c:GetReasonCard()
--
local e2=Effect.CreateEffect(rc)
e2:SetDescription(aux.Stringid(79029349,0))
e2:SetCategory(CATEGORY_NEGATE)
e2:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e2:SetCode(EVENT_CHAINING)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL+EFFECT_FLAG_DELAY)
e2:SetRange(LOCATION_MZONE)
e2:SetCondition(c79029349.negcon)
e2:SetOperation(c79029349.negop)
e2:SetCountLimit(1)
e2:SetReset(RESET_EVENT+RESETS_STANDARD)
rc:RegisterEffect(e2)
rc:RegisterFlagEffect(79029349,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(79029349,0))
end
function c79029349.negcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS)
if not g or not g:IsContains(c) then return false end
return Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,e:GetHandler())
end
function c79029349.negop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.SelectEffectYesNo(tp,e:GetHandler()) and Duel.DiscardHand(tp,Card.IsDiscardable,1,1,REASON_COST+REASON_DISCARD) then
Debug.Message("可不要小看我啦!")
Duel.Hint(HINT_SOUND,0,aux.Stringid(79029349,3))
Duel.NegateActivation(ev)
end
end
--罗德岛·医疗干员-絮雨
function c79029350.initial_effect(c)
--pendulum summon
aux.EnablePendulumAttribute(c)
--splimit
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetRange(LOCATION_PZONE)
e2:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_CANNOT_NEGATE)
e2:SetTargetRange(1,0)
e2:SetTarget(c79029350.splimit1)
c:RegisterEffect(e2)
--
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_REMOVE)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e1:SetRange(LOCATION_PZONE)
e1:SetCountLimit(1,79029350)
e1:SetTarget(c79029350.target)
e1:SetOperation(c79029350.activate)
c:RegisterEffect(e1)
--search
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_SPSUMMON_SUCCESS)
e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetCountLimit(1,19029350)
e3:SetCost(c79029350.thcost)
e3:SetCondition(c79029350.thcon)
e3:SetTarget(c79029350.thtg)
e3:SetOperation(c79029350.thop)
c:RegisterEffect(e3)
--sp
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,09029350)
e2:SetCost(c79029350.spcost)
e2:SetTarget(c79029350.sptg)
e2:SetOperation(c79029350.spop)
c:RegisterEffect(e2)
--negate
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(79029350,1))
e2:SetCategory(CATEGORY_NEGATE)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_CHAINING)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e2:SetRange(LOCATION_MZONE+LOCATION_HAND)
e2:SetCountLimit(1,39029350)
e2:SetCost(c79029350.zdiscost)
e2:SetTarget(c79029350.zdistg)
e2:SetOperation(c79029350.zdisop)
c:RegisterEffect(e2)
end
function c79029350.splimit1(e,c,tp,sumtp,sumpos)
return not c:IsSetCard(0xa900) and bit.band(sumtp,SUMMON_TYPE_PENDULUM)==SUMMON_TYPE_PENDULUM
end
function c79029350.filter(c)
local lv=c:GetLevel()
return c:IsType(TYPE_MONSTER) and c:IsAbleToRemove() and Duel.IsExistingTarget(c79029350.zfilter,tp,LOCATION_GRAVE,0,1,nil,lv)
end
function c79029350.zfilter(c,lv)
return c:IsType(TYPE_MONSTER) and c:IsAbleToRemove() and c:GetLevel()==lv
end
function c79029350.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return Duel.IsExistingTarget(c79029350.filter,tp,0,LOCATION_GRAVE,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectTarget(tp,c79029350.filter,tp,0,LOCATION_GRAVE,1,1,nil)
local lv=g:GetFirst():GetLevel()
local xg=Duel.SelectTarget(tp,c79029350.zfilter,tp,LOCATION_GRAVE,0,1,1,nil,lv)
g:Merge(xg)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,g,1,1-tp,LOCATION_GRAVE)
end
function c79029350.activate(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS)
local tc=g:Filter(Card.IsControler,nil,1-tp):GetFirst()
if Duel.Remove(g,POS_FACEUP,REASON_EFFECT)~=0 and tc:IsLocation(LOCATION_REMOVED) then
Debug.Message("我熟悉这死亡的气息。")
Duel.Hint(HINT_SOUND,0,aux.Stringid(79029350,3))
local c=e:GetHandler()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_DISABLE)
e1:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE)
e1:SetTarget(c79029350.distg)
e1:SetLabelObject(tc)
e1:SetReset(RESET_PHASE+PHASE_END,2)
Duel.RegisterEffect(e1,tp)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_CHAIN_SOLVING)
e2:SetCondition(c79029350.discon)
e2:SetOperation(c79029350.disop)
e2:SetLabelObject(tc)
e2:SetReset(RESET_PHASE+PHASE_END,2)
Duel.RegisterEffect(e2,tp)
end
end
function c79029350.distg(e,c)
local tc=e:GetLabelObject()
return c:IsOriginalCodeRule(tc:GetOriginalCodeRule())
end
function c79029350.discon(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetLabelObject()
return re:IsActiveType(TYPE_MONSTER) and re:GetHandler():IsOriginalCodeRule(tc:GetOriginalCodeRule())
end
function c79029350.disop(e,tp,eg,ep,ev,re,r,rp)
Duel.NegateEffect(ev)
end
function c79029350.thcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_PENDULUM)
end
function c79029350.thcost(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)
end
function c79029350.thfilter(c)
return c:IsSetCard(0xa900) and c:IsAbleToHand() and c:IsType(TYPE_MONSTER)
end
function c79029350.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c79029350.thfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE)
end
function c79029350.thop(e,tp,eg,ep,ev,re,r,rp)
Debug.Message("请跟紧我,不要离得太远。")
Duel.Hint(HINT_SOUND,0,aux.Stringid(79029350,0))
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c79029350.thfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,2,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
function c79029350.spfilter(c,e,tp)
local lv=c:GetLevel()
return c:IsSetCard(0xa900) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:IsLevelAbove(1) and Duel.IsExistingMatchingCard(c79029350.ccfilter,tp,LOCATION_EXTRA,0,lv,c)
end
function c79029350.ccfilter(c,lv)
return c:IsAbleToGraveAsCost() and c:IsFaceup() and c:IsSetCard(0xa900)
end
function c79029350.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c79029350.spfilter,tp,LOCATION_EXTRA,0,1,nil,e,tp) end
local tc=Duel.SelectMatchingCard(tp,c79029350.spfilter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp):GetFirst()
local lv=tc:GetLevel()
local g=Duel.SelectMatchingCard(tp,c79029350.ccfilter,tp,LOCATION_EXTRA,0,lv,lv,nil,e,tp)
Duel.SendtoGrave(g,REASON_COST)
e:SetLabelObject(tc)
end
function c79029350.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 end
end
function c79029350.spop(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetLabelObject()
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return false end
Debug.Message("不要害怕。")
Duel.Hint(HINT_SOUND,0,aux.Stringid(79029350,1))
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)
end
function c79029350.zdiscost(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 c79029350.filterz(c)
return c:IsAbleToDeck()
end
function c79029350.zdistg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return Duel.IsExistingMatchingCard(c79029350.filterz,tp,0,LOCATION_GRAVE+LOCATION_REMOVED,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(tp,c79029350.filterz,tp,0,LOCATION_GRAVE+LOCATION_REMOVED,1,1,nil)
Duel.SetTargetCard(g)
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,1,1-tp,LOCATION_GRAVE+LOCATION_REMOVED)
end
function c79029350.zdisop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if Duel.SendtoDeck(tc,nil,2,REASON_EFFECT)~=0 and tc:IsLocation(LOCATION_DECK) then
Debug.Message("睡吧。愿所有人都能在雨声里做个好梦。")
Duel.Hint(HINT_SOUND,0,aux.Stringid(79029350,2))
local c=e:GetHandler()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_DISABLE)
e1:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE)
e1:SetTarget(c79029350.distgx)
e1:SetLabelObject(tc)
e1:SetReset(RESET_EVENT+RESET_CHAIN)
Duel.RegisterEffect(e1,tp)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_CHAIN_SOLVING)
e2:SetCondition(c79029350.disconx)
e2:SetOperation(c79029350.disopx)
e2:SetLabelObject(tc)
e2:SetReset(RESET_EVENT+RESET_CHAIN)
Duel.RegisterEffect(e2,tp)
end
end
function c79029350.distgx(e,c)
local tc=e:GetLabelObject()
return c:IsOriginalCodeRule(tc:GetOriginalCodeRule())
end
function c79029350.disconx(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetLabelObject()
return re:GetHandler():IsOriginalCodeRule(tc:GetOriginalCodeRule())
end
function c79029350.disopx(e,tp,eg,ep,ev,re,r,rp)
Duel.NegateEffect(ev)
end
--维多利亚·先锋干员-苇草·生灵火花
function c79029351.initial_effect(c)
--pendulum summon
aux.EnablePendulumAttribute(c)
c:EnableReviveLimit()
--code
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetCode(EFFECT_CHANGE_CODE)
e2:SetRange(LOCATION_MZONE+LOCATION_GRAVE+LOCATION_HAND)
e2:SetValue(79029014)
c:RegisterEffect(e2)
--to hand
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(79029351,1))
e1:SetCategory(CATEGORY_SEARCH+CATEGORY_TOHAND)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,79029351)
e1:SetCost(c79029351.thcost)
e1:SetTarget(c79029351.thtg)
e1:SetOperation(c79029351.thop)
c:RegisterEffect(e1)
--sp suc
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(79029351,2))
e3:SetCategory(CATEGORY_RECOVER+CATEGORY_TOGRAVE)
e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1,09029014)
e3:SetCost(c79029351.spcost)
e3:SetTarget(c79029351.sptg)
e3:SetOperation(c79029351.spop)
c:RegisterEffect(e3)
--to hand
local e4=Effect.CreateEffect(c)
e4:SetCategory(CATEGORY_TOHAND)
e4:SetType(EFFECT_TYPE_IGNITION)
e4:SetRange(LOCATION_EXTRA)
e4:SetCountLimit(1,19029351)
e4:SetCost(c79029351.thcost1)
e4:SetOperation(c79029351.thop1)
c:RegisterEffect(e4)
--Disable
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_PZONE)
e2:SetCountLimit(1,29029351)
e2:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e2:SetCost(c79029351.poscost)
e2:SetTarget(c79029351.postg)
e2:SetOperation(c79029351.posop)
c:RegisterEffect(e2)
--disable
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_DISABLE)
e2:SetRange(LOCATION_PZONE)
e2:SetTargetRange(0,LOCATION_MZONE)
e2:SetTarget(c79029351.distg)
c:RegisterEffect(e2)
end
function c79029351.atkfil(c)
return c:IsType(TYPE_RITUAL)
end
function c79029351.distg(e,c)
local tp=e:GetHandler():GetControler()
local atk=Duel.GetMatchingGroup(c79029351.atkfil,tp,LOCATION_MZONE,0,nil):GetSum(Card.GetAttack)
return c:IsAttackBelow(atk)
end
function c79029351.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return not e:GetHandler():IsPublic() end
Duel.ConfirmCards(1-tp,e:GetHandler())
end
function c79029351.thfil(c)
return c:IsAbleToHand() and c:IsSetCard(0xb90d) and c:IsType(TYPE_RITUAL) and c:IsType(TYPE_SPELL)
end
function c79029351.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c79029351.thfil,tp,LOCATION_DECK,0,1,nil) end
local g=Duel.SelectMatchingCard(tp,c79029351.thfil,tp,LOCATION_DECK,0,1,1,nil)
Duel.SetTargetCard(g)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,g,1,tp,LOCATION_DECK)
end
function c79029351.thop(e,tp,eg,ep,ev,re,r,rp)
Debug.Message("不会有其他人看到我在这吧......?")
Duel.Hint(HINT_SOUND,0,aux.Stringid(79029351,4))
local tc=Duel.GetFirstTarget()
if Duel.SendtoHand(tc,tp,REASON_EFFECT)~=0 and Duel.ConfirmCards(tp,tc)~=0 then
Duel.BreakEffect()
if Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsPlayerCanSpecialSummonMonster(tp,79029352,0,0x4011,0,0,10,RACE_CYBERSE,ATTRIBUTE_FIRE) and Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,2,nil) and Duel.SelectYesNo(tp,aux.Stringid(79029351,0)) then
Duel.DiscardHand(tp,Card.IsDiscardable,2,2,REASON_EFFECT,nil)
local token=Duel.CreateToken(tp,79029352)
Duel.SpecialSummon(token,0,tp,tp,false,false,POS_FACEUP)
Debug.Message("姐姐......")
Duel.Hint(HINT_SOUND,0,aux.Stringid(79029351,5))
end
end
end
function c79029351.desfilter(c)
return not c:IsLocation(LOCATION_SZONE) or c:GetSequence()<5
end
function c79029351.seqfilter(c,seq)
local loc=LOCATION_MZONE
if seq>8 then
loc=LOCATION_SZONE
seq=seq-8
end
if seq>=5 and seq<=7 then return false end
local cseq=c:GetSequence()
local cloc=c:GetLocation()
if cloc==LOCATION_SZONE and cseq>=5 then return false end
if cloc==LOCATION_MZONE and cseq>=5 and loc==LOCATION_MZONE
and (seq==1 and cseq==5 or seq==3 and cseq==6) then return true end
return cseq==seq or cloc==loc and math.abs(cseq-seq)==1
end
function c79029351.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.PayLPCost(tp,Duel.GetLP(tp)/2)
end
function c79029351.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c79029351.desfilter,tp,0,LOCATION_ONFIELD,1,nil) end
local filter=0
for i=0,16 do
if not Duel.IsExistingMatchingCard(c79029351.seqfilter,tp,0,LOCATION_ONFIELD,1,nil,i) then
filter=filter|1<<(i+16)
end
end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
local flag=Duel.SelectField(tp,1,0,LOCATION_ONFIELD,filter)
local seq=math.log(flag>>16,2)
e:SetLabel(seq)
local g=Duel.GetMatchingGroup(c79029351.seqfilter,tp,0,LOCATION_ONFIELD,nil,seq)
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,g,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_RECOVER,nil,0,tp,nil)
end
function c79029351.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
local seq=e:GetLabel()
local ct=Duel.GetMatchingGroupCount(c79029351.seqfilter,tp,0,LOCATION_ONFIELD,nil,seq)
local lg=Duel.GetMatchingGroup(Card.IsSetCard,tp,LOCATION_ONFIELD,0,nil,0xa900)
local xct=lg:GetClassCount(Card.GetCode)
if ct<=0 or xct<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,c79029351.seqfilter,tp,0,LOCATION_ONFIELD,xct,xct,nil,seq)
Debug.Message("只会剩下灰烬......")
Duel.Hint(HINT_SOUND,0,aux.Stringid(79029351,3))
Duel.HintSelection(g)
if Duel.SendtoGrave(g,REASON_EFFECT) then
Duel.Recover(tp,g:GetCount()*1000,REASON_EFFECT)
end
end
function c79029351.xccfil(c)
return c:IsAbleToHandAsCost() and c:IsSetCard(0xa900)
end
function c79029351.thcost1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c79029351.xccfil,tp,LOCATION_PZONE,0,1,nil) and e:GetHandler():IsAbleToHand() end
local g=Duel.SelectMatchingCard(tp,c79029351.xccfil,tp,LOCATION_PZONE,0,1,1,nil)
Duel.SendtoHand(g,nil,REASON_COST)
end
function c79029351.thop1(e,tp,eg,ep,ev,re,r,rp)
Debug.Message("就这样,我们去收割......")
Duel.Hint(HINT_SOUND,0,aux.Stringid(79029351,6))
Duel.SendtoHand(e:GetHandler(),tp,REASON_EFFECT)
end
function c79029351.sefil(c)
return c:IsSetCard(0xa900) and c:IsType(TYPE_MONSTER) and c:IsType(TYPE_RITUAL) and not c:IsPublic()
end
function c79029351.poscost(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return Duel.IsExistingMatchingCard(c79029351.sefil,tp,LOCATION_HAND,0,1,nil) end
local g=Duel.SelectMatchingCard(tp,c79029351.sefil,tp,LOCATION_HAND,0,1,1,nil)
Duel.ConfirmCards(1-tp,g)
end
function c79029351.postg(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.SelectMatchingCard(tp,aux.TRUE,tp,0,LOCATION_ONFIELD,1,1,nil)
Duel.SetTargetCard(g)
Duel.SetOperationInfo(0,CATEGORY_NEGATE,g,g:GetCount(),0,0)
end
function c79029351.posop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetCode(EFFECT_DISABLE_EFFECT)
tc:RegisterEffect(e2)
Debug.Message("我......就是深池!")
Duel.Hint(HINT_SOUND,0,aux.Stringid(79029351,5))
end
end
--卡西米尔·重装干员-临光·耀骑士
function c79029353.initial_effect(c)
--synchro summon
aux.AddSynchroProcedure(c,aux.FilterBoolFunction(Card.IsSetCard,0xa900),aux.NonTuner(nil),1)
c:EnableReviveLimit()
--extra matrial
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetTarget(c79029353.emtg)
e1:SetOperation(c79029353.emop)
c:RegisterEffect(e1)
--extra material
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_FIELD)
e0:SetProperty(EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_IGNORE_IMMUNE)
e0:SetCode(EFFECT_EXTRA_LINK_MATERIAL)
e0:SetRange(LOCATION_EXTRA)
e0:SetTargetRange(0,LOCATION_MZONE)
e0:SetValue(c79029353.matval)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_GRANT)
e3:SetTargetRange(LOCATION_EXTRA,0)
e3:SetRange(LOCATION_MZONE+LOCATION_GRAVE+LOCATION_EXTRA+LOCATION_REMOVED)
e3:SetTarget(c79029353.mattg)
e3:SetLabelObject(e0)
c:RegisterEffect(e3)
--atk/def
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e3:SetRange(LOCATION_MZONE)
e3:SetCode(EFFECT_UPDATE_ATTACK)
e3:SetValue(1200)
e3:SetCondition(c79029353.effcon)
e3:SetLabel(1)
c:RegisterEffect(e3)
--destroy
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_DESTROY+CATEGORY_DAMAGE)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1)
e2:SetLabel(2)
e2:SetCondition(c79029353.effcon)
e2:SetTarget(c79029353.destg)
e2:SetOperation(c79029353.desop)
c:RegisterEffect(e2)
--immune
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_SINGLE)
e5:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e5:SetRange(LOCATION_MZONE)
e5:SetCode(EFFECT_IMMUNE_EFFECT)
e5:SetValue(c79029353.efilter)
e5:SetCondition(c79029353.effcon)
e5:SetLabel(3)
c:RegisterEffect(e5)
--disable spsummon
local e6=Effect.CreateEffect(c)
e6:SetType(EFFECT_TYPE_FIELD)
e6:SetRange(LOCATION_MZONE)
e6:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e6:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e6:SetTargetRange(0,1)
e6:SetCondition(c79029353.effcon)
e6:SetLabel(4)
c:RegisterEffect(e6)
--direct attack
local e6=Effect.CreateEffect(c)
e6:SetType(EFFECT_TYPE_SINGLE)
e6:SetCode(EFFECT_DIRECT_ATTACK)
e6:SetCondition(c79029353.effcon)
e6:SetLabel(5)
c:RegisterEffect(e6)
--match kill
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e4:SetCode(EFFECT_MATCH_KILL)
e4:SetCondition(c79029353.effcon)
e4:SetLabel(6)
c:RegisterEffect(e4)
end
function c79029353.mattg(e,c)
return c:IsSetCard(0xa900) and c:IsType(TYPE_LINK)
end
function c79029353.mfil(c)
return c:GetFlagEffect(79029353)~=0
end
function c79029353.matval(e,lc,mg,c,tp)
if e:GetHandler()~=lc then return false,nil end
return true,not mg or not mg:IsExists(c79029353.mfil,mg:GetCount(),nil)
end
function c79029353.efffil(c,e)
return c:GetLinkedGroup():IsContains(e:GetHandler()) and c:IsSetCard(0xa900)
end
function c79029353.effcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetMatchingGroupCount(c79029353.efffil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil,e)>=e:GetLabel()
end
function c79029353.efilter(e,te)
return te:GetOwner()~=e:GetOwner()
end
function c79029353.emtg(e,tp,eg,ep,ev,re,r,rp,chk)
local x=e:GetHandler():GetMaterialCount()
if chk==0 then return e:GetHandler():IsSummonType(SUMMON_TYPE_SYNCHRO) and x~=0 and Duel.IsExistingMatchingCard(aux.TRUE,tp,0,LOCATION_MZONE,1,nil) end
local g=Duel.SelectMatchingCard(tp,aux.TRUE,tp,0,LOCATION_MZONE,1,x,nil)
Duel.SetTargetCard(g)
end
function c79029353.emop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS)
local tc=g:GetFirst()
while tc do
tc:RegisterFlagEffect(79029353,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(79029353,0))
tc=g:GetNext()
end
end
function c79029353.filter(c,atk)
return c:IsFaceup() and c:IsAttackBelow(atk)
end
function c79029353.destg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.IsExistingMatchingCard(c79029353.filter,tp,0,LOCATION_MZONE,1,c,c:GetAttack()) end
local g=Duel.GetMatchingGroup(c79029353.filter,tp,0,LOCATION_MZONE,c,c:GetAttack())
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,g:GetCount(),0,0)
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,1-tp,g:GetCount()*500)
end
function c79029353.desop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) or c:IsFacedown() then return end
local g=Duel.GetMatchingGroup(c79029353.filter,tp,0,LOCATION_MZONE,aux.ExceptThisCard(e),c:GetAttack())
local ct=Duel.Destroy(g,REASON_EFFECT)
if ct>0 then
Duel.BreakEffect()
Duel.Damage(1-tp,ct*500,REASON_EFFECT)
end
end
--三首恶龙
function c79034300.initial_effect(c)
c:EnableReviveLimit()
--splimit
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetCode(EFFECT_SPSUMMON_CONDITION)
c:RegisterEffect(e0)
--SpecialSummon
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMING_BATTLE_START+TIMING_BATTLE_STEP_END)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,79034300)
e1:SetCost(c79034300.spcost)
e1:SetTarget(c79034300.sptg)
e1:SetOperation(c79034300.spop)
c:RegisterEffect(e1)
--to hand
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_TOHAND)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetCountLimit(1,013000)
e2:SetTarget(c79034300.thtg)
e2:SetOperation(c79034300.thop)
c:RegisterEffect(e2)
--to tand
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_TOHAND)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e3:SetRange(LOCATION_MZONE)
e3:SetCode(EVENT_PHASE+PHASE_BATTLE)
e3:SetCountLimit(1)
e3:SetTarget(c79034300.thtg1)
e3:SetOperation(c79034300.thop1)
c:RegisterEffect(e3)
Duel.AddCustomActivityCounter(79034300,ACTIVITY_SPSUMMON,c79034300.counterfilter)
end
function c79034300.counterfilter(c)
return c:GetAttack()==2300 and c:GetDefense()==2800
end
function c79034300.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetCustomActivityCount(79034300,tp,ACTIVITY_SPSUMMON)==0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH)
e1:SetTargetRange(1,0)
e1:SetTarget(c79034300.splimit)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
function c79034300.splimit(e,c,sump,sumtype,sumpos,targetp,se)
return not (c:GetAttack()==2300 and c:GetDefense()==2800)
end
function c79034300.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return (Duel.GetCurrentPhase()>=PHASE_BATTLE_START and Duel.GetCurrentPhase()<=PHASE_BATTLE) and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,true,true) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,tp,LOCATION_HAND)
end
function c79034300.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.SpecialSummon(e:GetHandler(),0,tp,tp,true,true,POS_FACEUP)
end
function c79034300.thfil(c)
return c:IsAbleToHand() and c:IsAttack(2300) and c:IsDefense(2800) and c:IsLevel(7) and c:IsType(TYPE_TUNER) and not c:IsCode(79034300)
end
function c79034300.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c79034300.thfil,tp,LOCATION_DECK,0,1,nil) end
local g=Duel.SelectMatchingCard(tp,c79034300.thfil,tp,LOCATION_DECK,0,1,1,nil)
Duel.SetTargetCard(g)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,g,1,tp,LOCATION_DECK)
end
function c79034300.thop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
Duel.SendtoHand(tc,tp,REASON_EFFECT)
Duel.ConfirmCards(1-tp,tc)
end
function c79034300.thtg1(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,tp,LOCATION_MZONE)
end
function c79034300.thop1(e,tp,eg,ep,ev,re,r,rp)
Duel.SendtoHand(e:GetHandler(),nil,REASON_EFFECT)
end
--大地の化身
function c79034301.initial_effect(c)
c:EnableReviveLimit()
--splimit
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetCode(EFFECT_SPSUMMON_CONDITION)
c:RegisterEffect(e0)
--SpecialSummon
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMING_BATTLE_START+TIMING_BATTLE_STEP_END)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,79034301)
e1:SetCost(c79034301.spcost)
e1:SetTarget(c79034301.sptg)
e1:SetOperation(c79034301.spop)
c:RegisterEffect(e1)
--
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetCountLimit(1,013001)
e2:SetTarget(c79034301.atktg)
e2:SetOperation(c79034301.atkop)
c:RegisterEffect(e2)
--to tand
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_TOHAND)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e3:SetRange(LOCATION_MZONE)
e3:SetCode(EVENT_PHASE+PHASE_BATTLE)
e3:SetCountLimit(1)
e3:SetTarget(c79034301.thtg1)
e3:SetOperation(c79034301.thop1)
c:RegisterEffect(e3)
end
function c79034301.counterfilter(c)
Duel.AddCustomActivityCounter(79034301,ACTIVITY_SPSUMMON,c79034301.counterfilter)
end
function c79034301.counterfilter(c)
return c:GetAttack()==2300 and c:GetDefense()==2800
end
function c79034301.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetCustomActivityCount(79034301,tp,ACTIVITY_SPSUMMON)==0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH)
e1:SetTargetRange(1,0)
e1:SetTarget(c79034301.splimit)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
function c79034301.splimit(e,c,sump,sumtype,sumpos,targetp,se)
return not (c:GetAttack()==2300 and c:GetDefense()==2800)
end
function c79034301.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return (Duel.GetCurrentPhase()>=PHASE_BATTLE_START and Duel.GetCurrentPhase()<=PHASE_BATTLE) and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,true,true) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,tp,LOCATION_HAND)
end
function c79034301.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.SpecialSummon(e:GetHandler(),0,tp,tp,true,true,POS_FACEUP)
end
function c79034301.thtg1(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,tp,LOCATION_MZONE)
end
function c79034301.thop1(e,tp,eg,ep,ev,re,r,rp)
Duel.SendtoHand(e:GetHandler(),nil,REASON_EFFECT)
end
function c79034301.ckfil1(c)
return not c:IsAttribute(ATTRIBUTE_FIRE)
end
function c79034301.ckfil2(c)
return c:IsAttribute(ATTRIBUTE_FIRE)
end
function c79034301.atktg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c79034301.ckfil1,tp,0,LOCATION_MZONE,1,nil) or Duel.IsExistingMatchingCard(c79034301.ckfil2,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) end
end
function c79034301.atkop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local ag1=Duel.GetMatchingGroup(c79034301.ckfil1,tp,0,LOCATION_MZONE,nil)
local ag2=Duel.GetMatchingGroup(c79034301.ckfil2,tp,LOCATION_MZONE,LOCATION_MZONE,nil)
local tc1=ag1:GetFirst()
while tc1 do
--
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(-700)
e1:SetRange(LOCATION_MZONE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc1:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_UPDATE_DEFENSE)
tc1:RegisterEffect(e2)
tc1=ag1:GetNext()
end
local tc2=ag2:GetFirst()
while tc2 do
--
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(300)
e1:SetRange(LOCATION_MZONE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc2:RegisterEffect(e1)
tc2=ag2:GetNext()
end
end
--时拉比
function c79034302.initial_effect(c)
c:EnableReviveLimit()
--splimit
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetCode(EFFECT_SPSUMMON_CONDITION)
c:RegisterEffect(e0)
--SpecialSummon
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMING_BATTLE_START+TIMING_BATTLE_STEP_END)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,79034302)
e1:SetCost(c79034302.spcost)
e1:SetTarget(c79034302.sptg)
e1:SetOperation(c79034302.spop)
c:RegisterEffect(e1)
--to tand
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_TOHAND)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e3:SetRange(LOCATION_MZONE)
e3:SetCode(EVENT_PHASE+PHASE_BATTLE)
e3:SetCountLimit(1)
e3:SetTarget(c79034302.thtg1)
e3:SetOperation(c79034302.thop1)
c:RegisterEffect(e3)
--synchro effect
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(79034302,1))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_MAIN_END)
e2:SetRange(LOCATION_MZONE)
e2:SetCondition(c79034302.sccon)
e2:SetTarget(c79034302.sctarg)
e2:SetOperation(c79034302.scop)
c:RegisterEffect(e2)
end
function c79034302.counterfilter(c)
Duel.AddCustomActivityCounter(79034302,ACTIVITY_SPSUMMON,c79034302.counterfilter)
end
function c79034302.counterfilter(c)
return c:GetAttack()==2300 and c:GetDefense()==2800
end
function c79034302.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetCustomActivityCount(79034302,tp,ACTIVITY_SPSUMMON)==0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH)
e1:SetTargetRange(1,0)
e1:SetTarget(c79034302.splimit)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
function c79034302.splimit(e,c,sump,sumtype,sumpos,targetp,se)
return not (c:GetAttack()==2300 and c:GetDefense()==2800)
end
function c79034302.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return (Duel.GetCurrentPhase()>=PHASE_BATTLE_START and Duel.GetCurrentPhase()<=PHASE_BATTLE) and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,true,true) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,tp,LOCATION_HAND)
end
function c79034302.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.SpecialSummon(e:GetHandler(),0,tp,tp,true,true,POS_FACEUP)
end
function c79034302.thtg1(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,tp,LOCATION_MZONE)
end
function c79034302.thop1(e,tp,eg,ep,ev,re,r,rp)
Duel.SendtoHand(e:GetHandler(),nil,REASON_EFFECT)
end
function c79034302.sccon(e,tp,eg,ep,ev,re,r,rp)
return (Duel.GetCurrentPhase()>=PHASE_BATTLE_START and Duel.GetCurrentPhase()<=PHASE_BATTLE)
end
function c79034302.sctarg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return c:GetFlagEffect(79034302)==0
and Duel.IsExistingMatchingCard(Card.IsSynchroSummonable,tp,LOCATION_EXTRA,0,1,nil,c) end
c:RegisterFlagEffect(79034302,RESET_CHAIN,0,1)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end
function c79034302.scop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsControler(1-tp) or not c:IsRelateToEffect(e) or c:IsFacedown() then return end
local g=Duel.GetMatchingGroup(Card.IsSynchroSummonable,tp,LOCATION_EXTRA,0,nil,c)
if g:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=g:Select(tp,1,1,nil)
Duel.SynchroSummon(tp,sg:GetFirst(),c)
end
end
--海洋与大地の调停者
function c79034303.initial_effect(c)
c:EnableReviveLimit()
--splimit
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetCode(EFFECT_SPSUMMON_CONDITION)
c:RegisterEffect(e0)
--SpecialSummon
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMING_BATTLE_START+TIMING_BATTLE_STEP_END)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,79034303)
e1:SetCost(c79034303.spcost)
e1:SetTarget(c79034303.sptg)
e1:SetOperation(c79034303.spop)
c:RegisterEffect(e1)
--to tand
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_TOHAND)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e3:SetRange(LOCATION_MZONE)
e3:SetCode(EVENT_PHASE+PHASE_BATTLE)
e3:SetCountLimit(1)
e3:SetTarget(c79034303.thtg1)
e3:SetOperation(c79034303.thop1)
c:RegisterEffect(e3)
--to hand
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_TOHAND)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetCountLimit(1,013003)
e2:SetCost(c79034303.thcost)
e2:SetTarget(c79034303.thtg)
e2:SetOperation(c79034303.thop)
c:RegisterEffect(e2)
end
function c79034303.counterfilter(c)
Duel.AddCustomActivityCounter(79034303,ACTIVITY_SPSUMMON,c79034303.counterfilter)
end
function c79034303.counterfilter(c)
return c:GetAttack()==2300 and c:GetDefense()==2800
end
function c79034303.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetCustomActivityCount(79034303,tp,ACTIVITY_SPSUMMON)==0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH)
e1:SetTargetRange(1,0)
e1:SetTarget(c79034303.splimit)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
function c79034303.splimit(e,c,sump,sumtype,sumpos,targetp,se)
return not (c:GetAttack()==2300 and c:GetDefense()==2800)
end
function c79034303.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return (Duel.GetCurrentPhase()>=PHASE_BATTLE_START and Duel.GetCurrentPhase()<=PHASE_BATTLE) and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,true,true) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,tp,LOCATION_HAND)
end
function c79034303.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.SpecialSummon(e:GetHandler(),0,tp,tp,true,true,POS_FACEUP)
end
function c79034303.thtg1(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,tp,LOCATION_MZONE)
end
function c79034303.thop1(e,tp,eg,ep,ev,re,r,rp)
Duel.SendtoHand(e:GetHandler(),nil,REASON_EFFECT)
end
function c79034303.thfil(c)
return c:IsAbleToHand() and c:IsAttack(2300) and c:IsDefense(2800) and c:IsLevel(7) and c:IsType(TYPE_TUNER)
end
function c79034303.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,nil) end
local tc=Duel.SelectMatchingCard(tp,Card.IsDiscardable,tp,LOCATION_HAND,0,1,1,nil):GetFirst()
e:SetLabelObject(tc)
Duel.SendtoGrave(tc,REASON_COST+REASON_DISCARD)
end
function c79034303.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
local xc=e:GetLabelObject()
if chk==0 then return Duel.IsExistingMatchingCard(c79034303.thfil,tp,LOCATION_GRAVE,0,1,nil) end
local g=Duel.SelectMatchingCard(tp,c79034303.thfil,tp,LOCATION_GRAVE,0,1,1,xc)
Duel.SetTargetCard(g)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,g,1,tp,LOCATION_DECK)
local xg=Duel.GetFieldGroup(tp,LOCATION_FZONE,LOCATION_FZONE)
if xg:GetCount()>0 then
Duel.SetOperationInfo(0,CATEGORY_DESTROY,xg,1,0,0)
end
end
function c79034303.thop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
Duel.SendtoHand(tc,tp,REASON_EFFECT)
Duel.ConfirmCards(1-tp,tc)
local xg=Duel.GetFieldGroup(tp,LOCATION_FZONE,LOCATION_FZONE)
if xg:GetCount()>0 then
Duel.Destroy(xg,REASON_EFFECT)
end
end
--海洋の化身
function c79034304.initial_effect(c)
c:EnableReviveLimit()
--splimit
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetCode(EFFECT_SPSUMMON_CONDITION)
c:RegisterEffect(e0)
--SpecialSummon
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMING_BATTLE_START+TIMING_BATTLE_STEP_END)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,79034304)
e1:SetCost(c79034304.spcost)
e1:SetTarget(c79034304.sptg)
e1:SetOperation(c79034304.spop)
c:RegisterEffect(e1)
--
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetCountLimit(1,013004)
e2:SetTarget(c79034304.atktg)
e2:SetOperation(c79034304.atkop)
c:RegisterEffect(e2)
--to tand
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_TOHAND)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e3:SetRange(LOCATION_MZONE)
e3:SetCode(EVENT_PHASE+PHASE_BATTLE)
e3:SetCountLimit(1)
e3:SetTarget(c79034304.thtg1)
e3:SetOperation(c79034304.thop1)
c:RegisterEffect(e3)
end
function c79034304.counterfilter(c)
Duel.AddCustomActivityCounter(79034304,ACTIVITY_SPSUMMON,c79034304.counterfilter)
end
function c79034304.counterfilter(c)
return c:GetAttack()==2300 and c:GetDefense()==2800
end
function c79034304.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetCustomActivityCount(79034304,tp,ACTIVITY_SPSUMMON)==0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH)
e1:SetTargetRange(1,0)
e1:SetTarget(c79034304.splimit)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
function c79034304.splimit(e,c,sump,sumtype,sumpos,targetp,se)
return not (c:GetAttack()==2300 and c:GetDefense()==2800)
end
function c79034304.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return (Duel.GetCurrentPhase()>=PHASE_BATTLE_START and Duel.GetCurrentPhase()<=PHASE_BATTLE) and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,true,true) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,tp,LOCATION_HAND)
end
function c79034304.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.SpecialSummon(e:GetHandler(),0,tp,tp,true,true,POS_FACEUP)
end
function c79034304.thtg1(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,tp,LOCATION_MZONE)
end
function c79034304.thop1(e,tp,eg,ep,ev,re,r,rp)
Duel.SendtoHand(e:GetHandler(),nil,REASON_EFFECT)
end
function c79034304.ckfil1(c)
return not c:IsAttribute(ATTRIBUTE_WATER)
end
function c79034304.ckfil2(c)
return c:IsAttribute(ATTRIBUTE_WATER)
end
function c79034304.atktg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c79034304.ckfil1,tp,0,LOCATION_MZONE,1,nil) or Duel.IsExistingMatchingCard(c79034304.ckfil2,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) end
end
function c79034304.atkop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local ag1=Duel.GetMatchingGroup(c79034304.ckfil1,tp,0,LOCATION_MZONE,nil)
local ag2=Duel.GetMatchingGroup(c79034304.ckfil2,tp,LOCATION_MZONE,LOCATION_MZONE,nil)
local tc1=ag1:GetFirst()
while tc1 do
--
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(-700)
e1:SetRange(LOCATION_MZONE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc1:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_UPDATE_DEFENSE)
tc1:RegisterEffect(e2)
tc1=ag1:GetNext()
end
local tc2=ag2:GetFirst()
while tc2 do
--
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(300)
e1:SetRange(LOCATION_MZONE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc2:RegisterEffect(e1)
tc2=ag2:GetNext()
end
end
--雷吉艾斯
function c79034305.initial_effect(c)
c:SetSPSummonOnce(79034305)
c:EnableReviveLimit()
--splimit
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetCode(EFFECT_SPSUMMON_CONDITION)
c:RegisterEffect(e0)
--SpecialSummon
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMING_BATTLE_START+TIMING_BATTLE_STEP_END)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,79034305)
e1:SetCost(c79034305.spcost)
e1:SetTarget(c79034305.sptg)
e1:SetOperation(c79034305.spop)
c:RegisterEffect(e1)
--to tand
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_TOHAND)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e3:SetRange(LOCATION_MZONE)
e3:SetCode(EVENT_PHASE+PHASE_BATTLE)
e3:SetCountLimit(1)
e3:SetTarget(c79034305.thtg1)
e3:SetOperation(c79034305.thop1)
c:RegisterEffect(e3)
--sp
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TODECK)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_MAIN_END)
e2:SetRange(LOCATION_MZONE)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetCountLimit(1,013005)
e2:SetCondition(c79034305.sccon)
e2:SetTarget(c79034305.sctarg)
e2:SetOperation(c79034305.scop)
c:RegisterEffect(e2)
end
function c79034305.counterfilter(c)
Duel.AddCustomActivityCounter(79034305,ACTIVITY_SPSUMMON,c79034305.counterfilter)
end
function c79034305.counterfilter(c)
return c:GetAttack()==2300 and c:GetDefense()==2800
end
function c79034305.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetCustomActivityCount(79034305,tp,ACTIVITY_SPSUMMON)==0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH)
e1:SetTargetRange(1,0)
e1:SetTarget(c79034305.splimit)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
function c79034305.splimit(e,c,sump,sumtype,sumpos,targetp,se)
return not (c:GetAttack()==2300 and c:GetDefense()==2800)
end
function c79034305.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return (Duel.GetCurrentPhase()>=PHASE_BATTLE_START and Duel.GetCurrentPhase()<=PHASE_BATTLE) and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,true,true) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,tp,LOCATION_HAND)
end
function c79034305.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.SpecialSummon(e:GetHandler(),0,tp,tp,true,true,POS_FACEUP)
end
function c79034305.thtg1(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,tp,LOCATION_MZONE)
end
function c79034305.thop1(e,tp,eg,ep,ev,re,r,rp)
Duel.SendtoHand(e:GetHandler(),nil,REASON_EFFECT)
end
function c79034305.sccon(e,tp,eg,ep,ev,re,r,rp)
return (Duel.GetCurrentPhase()>=PHASE_BATTLE_START and Duel.GetCurrentPhase()<=PHASE_BATTLE)
end
function c79034305.xfil(c)
return c:IsAbleToDeck() and c:IsAttack(2300) and c:IsDefense(2800) and c:IsLevel(7) and c:IsType(TYPE_TUNER)
end
function c79034305.spfil(c,e,tp)
return c:IsCode(79034306,79034307) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
end
function c79034305.sctarg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.IsExistingTarget(c79034305.xfil,tp,LOCATION_MZONE,0,1,e:GetHandler()) and Duel.IsExistingMatchingCard(c79034305.spfil,tp,LOCATION_DECK,0,1,nil,e,tp) end
local g=Duel.SelectTarget(tp,c79034305.xfil,tp,LOCATION_MZONE,0,1,1,e:GetHandler())
Duel.SetOperationInfo(0,CATEGORY_TODECK,nil,1,tp,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
end
function c79034305.scop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if Duel.SendtoDeck(tc,nil,2,REASON_EFFECT)~=0 then
local sc=Duel.SelectMatchingCard(tp,c79034305.spfil,tp,LOCATION_DECK,0,1,1,nil,e,tp):GetFirst()
Duel.SpecialSummonStep(sc,0,tp,tp,true,false,POS_FACEUP)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(-1000)
e1:SetRange(LOCATION_MZONE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
sc:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_UPDATE_DEFENSE)
sc:RegisterEffect(e2)
Duel.SpecialSummonComplete()
end
end
--雷击洛克
function c79034306.initial_effect(c)
c:SetSPSummonOnce(79034306)
c:EnableReviveLimit()
--splimit
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetCode(EFFECT_SPSUMMON_CONDITION)
c:RegisterEffect(e0)
--SpecialSummon
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMING_BATTLE_START+TIMING_BATTLE_STEP_END)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,79034306)
e1:SetCost(c79034306.spcost)
e1:SetTarget(c79034306.sptg)
e1:SetOperation(c79034306.spop)
c:RegisterEffect(e1)
--to tand
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_TOHAND)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e3:SetRange(LOCATION_MZONE)
e3:SetCode(EVENT_PHASE+PHASE_BATTLE)
e3:SetCountLimit(1)
e3:SetTarget(c79034306.thtg1)
e3:SetOperation(c79034306.thop1)
c:RegisterEffect(e3)
--sp
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_MAIN_END)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,013006)
e2:SetCondition(c79034306.sccon)
e2:SetTarget(c79034306.sctarg)
e2:SetOperation(c79034306.scop)
c:RegisterEffect(e2)
end
function c79034306.counterfilter(c)
Duel.AddCustomActivityCounter(79034306,ACTIVITY_SPSUMMON,c79034306.counterfilter)
end
function c79034306.counterfilter(c)
return c:GetAttack()==2300 and c:GetDefense()==2800
end
function c79034306.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetCustomActivityCount(79034306,tp,ACTIVITY_SPSUMMON)==0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH)
e1:SetTargetRange(1,0)
e1:SetTarget(c79034306.splimit)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
function c79034306.splimit(e,c,sump,sumtype,sumpos,targetp,se)
return not (c:GetAttack()==2300 and c:GetDefense()==2800)
end
function c79034306.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return (Duel.GetCurrentPhase()>=PHASE_BATTLE_START and Duel.GetCurrentPhase()<=PHASE_BATTLE) and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,true,true) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,tp,LOCATION_HAND)
end
function c79034306.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.SpecialSummon(e:GetHandler(),0,tp,tp,true,true,POS_FACEUP)
end
function c79034306.thtg1(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,tp,LOCATION_MZONE)
end
function c79034306.thop1(e,tp,eg,ep,ev,re,r,rp)
Duel.SendtoHand(e:GetHandler(),nil,REASON_EFFECT)
end
function c79034306.sccon(e,tp,eg,ep,ev,re,r,rp)
return (Duel.GetCurrentPhase()>=PHASE_BATTLE_START and Duel.GetCurrentPhase()<=PHASE_BATTLE)
end
function c79034306.xfil(c)
return c:IsAbleToDeck() and c:IsAttack(2300) and c:IsDefense(2800) and c:IsLevel(7) and c:IsType(TYPE_TUNER)
end
function c79034306.spfil(c,e,tp)
return c:IsCode(79034305,79034307) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
end
function c79034306.sctarg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.IsExistingTarget(c79034306.xfil,tp,LOCATION_MZONE,0,1,e:GetHandler()) and Duel.IsExistingMatchingCard(c79034306.spfil,tp,LOCATION_DECK,0,1,nil,e,tp) end
local g=Duel.SelectTarget(tp,c79034306.xfil,tp,LOCATION_MZONE,0,1,1,e:GetHandler())
Duel.SetOperationInfo(0,CATEGORY_TODECK,nil,1,tp,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
end
function c79034306.scop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if Duel.SendtoDeck(tc,nil,2,REASON_EFFECT)~=0 then
local sc=Duel.SelectMatchingCard(tp,c79034306.spfil,tp,LOCATION_DECK,0,1,1,nil,e,tp):GetFirst()
Duel.SpecialSummonStep(sc,0,tp,tp,true,false,POS_FACEUP)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(-1000)
e1:SetRange(LOCATION_MZONE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
sc:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_UPDATE_DEFENSE)
sc:RegisterEffect(e2)
Duel.SpecialSummonComplete()
end
end
--雷吉斯奇鲁
function c79034307.initial_effect(c)
c:SetSPSummonOnce(79034307)
c:EnableReviveLimit()
--splimit
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetCode(EFFECT_SPSUMMON_CONDITION)
c:RegisterEffect(e0)
--SpecialSummon
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMING_BATTLE_START+TIMING_BATTLE_STEP_END)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,79034307)
e1:SetCost(c79034307.spcost)
e1:SetTarget(c79034307.sptg)
e1:SetOperation(c79034307.spop)
c:RegisterEffect(e1)
--to tand
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_TOHAND)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e3:SetRange(LOCATION_MZONE)
e3:SetCode(EVENT_PHASE+PHASE_BATTLE)
e3:SetCountLimit(1)
e3:SetTarget(c79034307.thtg1)
e3:SetOperation(c79034307.thop1)
c:RegisterEffect(e3)
--sp
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TODECK)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_MAIN_END)
e2:SetRange(LOCATION_MZONE)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetCountLimit(1,013007)
e2:SetCondition(c79034307.sccon)
e2:SetTarget(c79034307.sctarg)
e2:SetOperation(c79034307.scop)
c:RegisterEffect(e2)
end
function c79034307.counterfilter(c)
Duel.AddCustomActivityCounter(79034307,ACTIVITY_SPSUMMON,c79034307.counterfilter)
end
function c79034307.counterfilter(c)
return c:GetAttack()==2300 and c:GetDefense()==2800
end
function c79034307.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetCustomActivityCount(79034307,tp,ACTIVITY_SPSUMMON)==0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH)
e1:SetTargetRange(1,0)
e1:SetTarget(c79034307.splimit)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
function c79034307.splimit(e,c,sump,sumtype,sumpos,targetp,se)
return not (c:GetAttack()==2300 and c:GetDefense()==2800)
end
function c79034307.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return (Duel.GetCurrentPhase()>=PHASE_BATTLE_START and Duel.GetCurrentPhase()<=PHASE_BATTLE) and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,true,true) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,tp,LOCATION_HAND)
end
function c79034307.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.SpecialSummon(e:GetHandler(),0,tp,tp,true,true,POS_FACEUP)
end
function c79034307.thtg1(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,tp,LOCATION_MZONE)
end
function c79034307.thop1(e,tp,eg,ep,ev,re,r,rp)
Duel.SendtoHand(e:GetHandler(),nil,REASON_EFFECT)
end
function c79034307.sccon(e,tp,eg,ep,ev,re,r,rp)
return (Duel.GetCurrentPhase()>=PHASE_BATTLE_START and Duel.GetCurrentPhase()<=PHASE_BATTLE)
end
function c79034307.xfil(c)
return c:IsAbleToDeck() and c:IsAttack(2300) and c:IsDefense(2800) and c:IsLevel(7) and c:IsType(TYPE_TUNER)
end
function c79034307.spfil(c,e,tp)
return c:IsCode(79034306,79034305) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
end
function c79034307.sctarg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.IsExistingTarget(c79034307.xfil,tp,LOCATION_MZONE,0,1,e:GetHandler()) and Duel.IsExistingMatchingCard(c79034307.spfil,tp,LOCATION_DECK,0,1,nil,e,tp) end
local g=Duel.SelectTarget(tp,c79034307.xfil,tp,LOCATION_MZONE,0,1,1,e:GetHandler())
Duel.SetOperationInfo(0,CATEGORY_TODECK,nil,1,tp,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
end
function c79034307.scop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if Duel.SendtoDeck(tc,nil,2,REASON_EFFECT)~=0 then
local sc=Duel.SelectMatchingCard(tp,c79034307.spfil,tp,LOCATION_DECK,0,1,1,nil,e,tp):GetFirst()
Duel.SpecialSummonStep(sc,0,tp,tp,true,false,POS_FACEUP)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(-1000)
e1:SetRange(LOCATION_MZONE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
sc:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_UPDATE_DEFENSE)
sc:RegisterEffect(e2)
Duel.SpecialSummonComplete()
end
end
--裂空の访问者
function c79034308.initial_effect(c)
c:EnableReviveLimit()
--splimit
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetCode(EFFECT_SPSUMMON_CONDITION)
c:RegisterEffect(e0)
--SpecialSummon
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMING_BATTLE_START+TIMING_BATTLE_STEP_END)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,79034308)
e1:SetCost(c79034308.spcost)
e1:SetTarget(c79034308.sptg)
e1:SetOperation(c79034308.spop)
c:RegisterEffect(e1)
--to tand
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_TOHAND)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e3:SetRange(LOCATION_MZONE)
e3:SetCode(EVENT_PHASE+PHASE_BATTLE)
e3:SetCountLimit(1)
e3:SetTarget(c79034308.thtg1)
e3:SetOperation(c79034308.thop1)
c:RegisterEffect(e3)
--xyz
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_BATTLED)
e3:SetRange(LOCATION_MZONE)
e3:SetCondition(c79034308.descon)
e3:SetTarget(c79034308.destg)
e3:SetOperation(c79034308.desop)
c:RegisterEffect(e3)
--xyzlimit
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_CANNOT_BE_XYZ_MATERIAL)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e2:SetValue(c79034308.xyzlimit)
c:RegisterEffect(e2)
end
function c79034308.xyzlimit(e,c)
if not c then return false end
return not (c:IsAttack(2300) and c:IsDefense(2800))
end
function c79034308.counterfilter(c)
Duel.AddCustomActivityCounter(79034308,ACTIVITY_SPSUMMON,c79034308.counterfilter)
end
function c79034308.counterfilter(c)
return c:GetAttack()==2300 and c:GetDefense()==2800
end
function c79034308.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetCustomActivityCount(79034308,tp,ACTIVITY_SPSUMMON)==0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH)
e1:SetTargetRange(1,0)
e1:SetTarget(c79034308.splimit)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
function c79034308.splimit(e,c,sump,sumtype,sumpos,targetp,se)
return not (c:GetAttack()==2300 and c:GetDefense()==2800)
end
function c79034308.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return (Duel.GetCurrentPhase()>=PHASE_BATTLE_START and Duel.GetCurrentPhase()<=PHASE_BATTLE) and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,true,true) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,tp,LOCATION_HAND)
end
function c79034308.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.SpecialSummon(e:GetHandler(),0,tp,tp,true,true,POS_FACEUP)
end
function c79034308.thtg1(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,tp,LOCATION_MZONE)
end
function c79034308.thop1(e,tp,eg,ep,ev,re,r,rp)
Duel.SendtoHand(e:GetHandler(),nil,REASON_EFFECT)
end
function c79034308.descon(e,tp,eg,ep,ev,re,r,rp)
local a=Duel.GetAttacker()
local d=Duel.GetAttackTarget()
if not d then return false end
if d:IsControler(tp) then a,d=d,a end
return d:IsControler(1-tp)
end
function c79034308.xyzfilter(c,sg)
return c:IsXyzSummonable(sg,1,1)
end
function c79034308.destg(e,tp,eg,ep,ev,re,r,rp,chk)
local sg=Group.FromCards(e:GetHandler())
local xyzg=Duel.GetMatchingGroup(c79034308.xyzfilter,tp,LOCATION_EXTRA,0,nil,sg)
if chk==0 then return xyzg:GetCount()>0 end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end
function c79034308.desop(e,tp,eg,ep,ev,re,r,rp)
local sg=Group.FromCards(e:GetHandler())
local xyzg=Duel.GetMatchingGroup(c79034308.xyzfilter,tp,LOCATION_EXTRA,0,nil,sg)
if xyzg:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local xyz=xyzg:Select(tp,1,1,nil):GetFirst()
Duel.XyzSummon(tp,xyz,sg)
end
end
--裂空の访问者-速度形态
function c79034309.initial_effect(c)
c:EnableReviveLimit()
--xyz summon
aux.AddXyzProcedure(c,nil,7,5,c79034309.ovfilter,aux.Stringid(79034309,0))
c:EnableReviveLimit()
--spsummon condition
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetCode(EFFECT_SPSUMMON_CONDITION)
e1:SetValue(aux.xyzlimit)
c:RegisterEffect(e1)
--direct attack
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_DIRECT_ATTACK)
c:RegisterEffect(e1)
--to tand
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_TOHAND)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e3:SetRange(LOCATION_MZONE)
e3:SetCode(EVENT_PHASE+PHASE_BATTLE)
e3:SetCountLimit(1)
e3:SetTarget(c79034309.thtg1)
e3:SetOperation(c79034309.thop1)
c:RegisterEffect(e3)
end
function c79034309.ovfilter(c)
return c:IsFaceup() and c:IsCode(79034308)
end
function c79034309.ckfil(c)
return c:IsAbleToHand() and c:IsCode(79034308)
end
function c79034309.thtg1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToExtra() and Duel.IsExistingMatchingCard(c79034309.ckfil,tp,LOCATION_GRAVE,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOEXTRA,e:GetHandler(),1,tp,LOCATION_MZONE)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,e:GetHandler(),1,tp,LOCATION_GRAVE)
end
function c79034309.thop1(e,tp,eg,ep,ev,re,r,rp)
if Duel.SendtoHand(e:GetHandler(),nil,REASON_EFFECT) then
local g=Duel.SelectMatchingCard(tp,c79034309.ckfil,tp,LOCATION_GRAVE,0,1,1,nil)
Duel.SendtoHand(g,tp,REASON_EFFECT)
end
end
--裂空の访问者-防御形态
function c79034310.initial_effect(c)
c:EnableReviveLimit()
--xyz summon
aux.AddXyzProcedure(c,nil,7,5,c79034310.ovfilter,aux.Stringid(79034310,0))
c:EnableReviveLimit()
--spsummon condition
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetCode(EFFECT_SPSUMMON_CONDITION)
e1:SetValue(aux.xyzlimit)
c:RegisterEffect(e1)
--to tand
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_TOHAND)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e3:SetRange(LOCATION_MZONE)
e3:SetCode(EVENT_PHASE+PHASE_BATTLE)
e3:SetCountLimit(1)
e3:SetTarget(c79034310.thtg1)
e3:SetOperation(c79034310.thop1)
c:RegisterEffect(e3)
--
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e4:SetCode(EFFECT_UPDATE_ATTACK)
e4:SetValue(500)
e4:SetRange(LOCATION_MZONE)
c:RegisterEffect(e4)
--
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e4:SetCode(EFFECT_CANNOT_ATTACK)
e4:SetRange(LOCATION_MZONE)
c:RegisterEffect(e4)
--
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_FIELD)
e5:SetCode(EFFECT_MUST_ATTACK)
e5:SetRange(LOCATION_MZONE)
e5:SetTargetRange(0,LOCATION_MZONE)
c:RegisterEffect(e5)
local e2=e5:Clone()
e2:SetCode(EFFECT_MUST_ATTACK_MONSTER)
e2:SetValue(c79034310.atklimit)
e2:SetRange(LOCATION_MZONE)
e2:SetTargetRange(0,LOCATION_MZONE)
c:RegisterEffect(e2)
end
function c79034310.ovfilter(c)
return c:IsFaceup() and c:IsCode(79034308)
end
function c79034310.ckfil(c)
return c:IsAbleToHand() and c:IsCode(79034308)
end
function c79034310.thtg1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToExtra() and Duel.IsExistingMatchingCard(c79034310.ckfil,tp,LOCATION_GRAVE,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOEXTRA,e:GetHandler(),1,tp,LOCATION_MZONE)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,e:GetHandler(),1,tp,LOCATION_GRAVE)
end
function c79034310.thop1(e,tp,eg,ep,ev,re,r,rp)
if Duel.SendtoHand(e:GetHandler(),nil,REASON_EFFECT) then
local g=Duel.SelectMatchingCard(tp,c79034310.ckfil,tp,LOCATION_GRAVE,0,1,1,nil)
Duel.SendtoHand(g,tp,REASON_EFFECT)
end
end
function c79034310.atklimit(e,c)
return c==e:GetHandler()
end
--裂空の访问者-攻击形态
function c79034311.initial_effect(c)
c:EnableReviveLimit()
--xyz summon
aux.AddXyzProcedure(c,nil,7,5,c79034311.ovfilter,aux.Stringid(79034311,0))
c:EnableReviveLimit()
--spsummon condition
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetCode(EFFECT_SPSUMMON_CONDITION)
e1:SetValue(aux.xyzlimit)
c:RegisterEffect(e1)
--to tand
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_TOHAND)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e3:SetRange(LOCATION_MZONE)
e3:SetCode(EVENT_PHASE+PHASE_BATTLE)
e3:SetCountLimit(1)
e3:SetTarget(c79034311.thtg1)
e3:SetOperation(c79034311.thop1)
c:RegisterEffect(e3)
--battle
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_QUICK_O)
e4:SetProperty(EFFECT_FLAG_CARD_TARGET)
e4:SetCode(EVENT_FREE_CHAIN)
e4:SetRange(LOCATION_MZONE)
e4:SetCountLimit(1,79034311)
e4:SetTarget(c79034311.batg)
e4:SetOperation(c79034311.baop)
c:RegisterEffect(e4)
end
function c79034311.ovfilter(c)
return c:IsFaceup() and c:IsCode(79034308)
end
function c79034311.ckfil(c)
return c:IsAbleToHand() and c:IsCode(79034308)
end
function c79034311.thtg1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToExtra() and Duel.IsExistingMatchingCard(c79034311.ckfil,tp,LOCATION_GRAVE,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOEXTRA,e:GetHandler(),1,tp,LOCATION_MZONE)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,e:GetHandler(),1,tp,LOCATION_GRAVE)
end
function c79034311.thop1(e,tp,eg,ep,ev,re,r,rp)
if Duel.SendtoHand(e:GetHandler(),nil,REASON_EFFECT) then
local g=Duel.SelectMatchingCard(tp,c79034311.ckfil,tp,LOCATION_GRAVE,0,1,1,nil)
Duel.SendtoHand(g,tp,REASON_EFFECT)
end
end
function c79034311.batg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingTarget(aux.TRUE,tp,0,LOCATION_MZONE,1,nil) and (Duel.GetCurrentPhase()>=PHASE_BATTLE_START and Duel.GetCurrentPhase()<=PHASE_BATTLE) end
local tc=Duel.SelectTarget(tp,aux.TRUE,tp,0,LOCATION_MZONE,1,1,nil)
end
function c79034311.baop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then
Duel.CalculateDamage(e:GetHandler(),tc)
end
end
...@@ -32,7 +32,7 @@ function c9910036.cost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -32,7 +32,7 @@ function c9910036.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if not Duel.IsExistingMatchingCard(c9910036.filter2,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) then rt=rt-1 end if not Duel.IsExistingMatchingCard(c9910036.filter2,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) then rt=rt-1 end
if not Duel.IsExistingMatchingCard(c9910036.filter3,tp,LOCATION_SZONE,LOCATION_SZONE,1,c) then rt=rt-1 end if not Duel.IsExistingMatchingCard(c9910036.filter3,tp,LOCATION_SZONE,LOCATION_SZONE,1,c) then rt=rt-1 end
if not Duel.IsExistingMatchingCard(c9910036.filter4,tp,LOCATION_SZONE,LOCATION_SZONE,1,c) then rt=rt-1 end if not Duel.IsExistingMatchingCard(c9910036.filter4,tp,LOCATION_SZONE,LOCATION_SZONE,1,c) then rt=rt-1 end
local cg=Duel.GetMatchingGroup(c9910036.costfilter,tp,LOCATION_HAND,0,nil) local cg=Duel.GetMatchingGroup(c9910036.costfilter,tp,LOCATION_HAND+LOCATION_DECK,0,nil)
local ct=cg:GetClassCount(Card.GetCode) local ct=cg:GetClassCount(Card.GetCode)
if chk==0 then return rt>0 and ct>0 end if chk==0 then return rt>0 and ct>0 end
local ctt={} local ctt={}
......
...@@ -14,12 +14,10 @@ function c9910057.initial_effect(c) ...@@ -14,12 +14,10 @@ function c9910057.initial_effect(c)
e2:SetType(EFFECT_TYPE_IGNITION) e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetCountLimit(1,9910057) e2:SetCountLimit(1,9910057)
e2:SetRange(LOCATION_HAND) e2:SetRange(LOCATION_HAND)
e2:SetCondition(c9910057.thcon)
e2:SetCost(c9910057.thcost) e2:SetCost(c9910057.thcost)
e2:SetTarget(c9910057.thtg) e2:SetTarget(c9910057.thtg)
e2:SetOperation(c9910057.thop) e2:SetOperation(c9910057.thop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
Duel.AddCustomActivityCounter(9910057,ACTIVITY_SPSUMMON,c9910057.counterfilter)
--return to hand --return to hand
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_TOHAND) e3:SetCategory(CATEGORY_TOHAND)
...@@ -31,33 +29,16 @@ function c9910057.initial_effect(c) ...@@ -31,33 +29,16 @@ function c9910057.initial_effect(c)
e3:SetOperation(c9910057.operation) e3:SetOperation(c9910057.operation)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c9910057.counterfilter(c)
return c:IsRace(RACE_FAIRY)
end
function c9910057.cfilter(c)
return c:IsFaceup() and c:IsRace(RACE_FAIRY)
end
function c9910057.thcon(e,tp,eg,ep,ev,re,r,rp)
return not Duel.IsExistingMatchingCard(c9910057.cfilter,tp,LOCATION_MZONE,0,1,nil)
end
function c9910057.thcost(e,tp,eg,ep,ev,re,r,rp,chk) function c9910057.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetCustomActivityCount(9910057,tp,ACTIVITY_SPSUMMON)==0 local c=e:GetHandler()
and e:GetHandler():IsDiscardable() end if chk==0 then return c:IsDiscardable() end
local e1=Effect.CreateEffect(e:GetHandler()) Duel.SendtoGrave(c,REASON_COST+REASON_DISCARD)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetTargetRange(1,0)
e1:SetTarget(c9910057.splimit)
Duel.RegisterEffect(e1,tp)
Duel.SendtoGrave(e:GetHandler(),REASON_COST+REASON_DISCARD)
end end
function c9910057.splimit(e,c) function c9910057.splimit(e,c)
return not c:IsRace(RACE_FAIRY) return not c:IsRace(RACE_FAIRY)
end end
function c9910057.spfilter(c,e,tp) function c9910057.spfilter(c,e,tp)
return c:IsAttack(0) and c:IsDefense(1000) and c:IsType(TYPE_TUNER) return c:IsDefense(1000) and c:IsRace(RACE_FAIRY) and c:IsType(TYPE_TUNER)
and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function c9910057.thtg(e,tp,eg,ep,ev,re,r,rp,chk) function c9910057.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
...@@ -68,6 +49,14 @@ function c9910057.thtg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -68,6 +49,14 @@ function c9910057.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,LOCATION_DECK) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,LOCATION_DECK)
end end
function c9910057.thop(e,tp,eg,ep,ev,re,r,rp) function c9910057.thop(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(1,0)
e1:SetTarget(c9910057.splimit)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
local g=Duel.GetMatchingGroup(c9910057.spfilter,tp,LOCATION_DECK,0,nil,e,tp) local g=Duel.GetMatchingGroup(c9910057.spfilter,tp,LOCATION_DECK,0,nil,e,tp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 or g:GetClassCount(Card.GetCode)<3 then return end if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 or g:GetClassCount(Card.GetCode)<3 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONFIRM) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONFIRM)
...@@ -80,6 +69,9 @@ function c9910057.thop(e,tp,eg,ep,ev,re,r,rp) ...@@ -80,6 +69,9 @@ function c9910057.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.ShuffleDeck(tp) Duel.ShuffleDeck(tp)
end end
end end
function c9910057.splimit(e,c)
return not c:IsRace(RACE_FAIRY)
end
function c9910057.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c9910057.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsOnField() and chkc:IsAbleToHand() end if chkc then return chkc:IsOnField() and chkc:IsAbleToHand() end
if chk==0 then return true end if chk==0 then return true end
......
...@@ -2,55 +2,37 @@ ...@@ -2,55 +2,37 @@
function c9910213.initial_effect(c) function c9910213.initial_effect(c)
--recover --recover
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetDescription(aux.Stringid(9910213,0))
e1:SetCategory(CATEGORY_RECOVER+CATEGORY_SEARCH+CATEGORY_TOHAND) e1:SetCategory(CATEGORY_RECOVER+CATEGORY_SEARCH+CATEGORY_TOHAND)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,9910213+EFFECT_COUNT_CODE_OATH)
e1:SetTarget(c9910213.target) e1:SetTarget(c9910213.target)
e1:SetOperation(c9910213.activate) e1:SetOperation(c9910213.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--spsummon --spsummon
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_SPECIAL_SUMMON) e2:SetDescription(aux.Stringid(9910213,1))
e2:SetType(EFFECT_TYPE_IGNITION) e2:SetCategory(CATEGORY_TOHAND+CATEGORY_SPECIAL_SUMMON)
e2:SetRange(LOCATION_GRAVE) e2:SetType(EFFECT_TYPE_ACTIVATE)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET) e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetCountLimit(1,9910213) e2:SetCode(EVENT_FREE_CHAIN)
e2:SetCondition(aux.exccon) e2:SetCountLimit(1,9910213+EFFECT_COUNT_CODE_OATH)
e2:SetCost(aux.bfgcost) e2:SetCost(c9910213.cost)
e2:SetTarget(c9910213.sptg) e2:SetTarget(c9910213.target2)
e2:SetOperation(c9910213.spop) e2:SetOperation(c9910213.activate2)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c9910213.filter(c) function c9910213.thfilter(c)
return c:IsSetCard(0x955) and not c:IsCode(9910213) return c:IsSetCard(0x955) and c:IsAbleToHand() and not c:IsCode(9910213)
end end
function c9910213.target(e,tp,eg,ep,ev,re,r,rp,chk) function c9910213.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c9910213.filter,tp,LOCATION_DECK,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(c9910213.thfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetTargetPlayer(tp)
Duel.SetTargetParam(1000)
Duel.SetOperationInfo(0,CATEGORY_RECOVER,nil,0,tp,1000) Duel.SetOperationInfo(0,CATEGORY_RECOVER,nil,0,tp,1000)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end end
function c9910213.activate(e,tp,eg,ep,ev,re,r,rp) function c9910213.activate(e,tp,eg,ep,ev,re,r,rp)
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM) if Duel.Recover(tp,1000,REASON_EFFECT)<=0 then return end
Duel.Recover(p,d,REASON_EFFECT)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetCountLimit(1)
e1:SetCondition(c9910213.thcon)
e1:SetOperation(c9910213.thop)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,p)
end
function c9910213.thfilter(c)
return c:IsSetCard(0x955) and c:IsAbleToHand() and not c:IsCode(9910213)
end
function c9910213.thcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(c9910213.thfilter,tp,LOCATION_DECK,0,1,nil)
end
function c9910213.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_CARD,0,9910213)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c9910213.thfilter,tp,LOCATION_DECK,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,c9910213.thfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then if g:GetCount()>0 then
...@@ -58,20 +40,30 @@ function c9910213.thop(e,tp,eg,ep,ev,re,r,rp) ...@@ -58,20 +40,30 @@ function c9910213.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.ConfirmCards(1-tp,g) Duel.ConfirmCards(1-tp,g)
end end
end end
function c9910213.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckLPCost(tp,1000) end
Duel.PayLPCost(tp,1000)
end
function c9910213.spfilter(c,e,tp) function c9910213.spfilter(c,e,tp)
return c:IsLevelBelow(4) and c:IsSetCard(0x955) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsLevelBelow(4) and c:IsSetCard(0x955) and (c:IsAbleToHand() or (Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and c:IsCanBeSpecialSummoned(e,0,tp,false,false)))
end end
function c9910213.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c9910213.target2(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsControler(tp) and chkc:IsLocation(LOCATION_GRAVE) and c9910213.spfilter(chkc,e,tp) end if chkc then return chkc:IsControler(tp) and chkc:IsLocation(LOCATION_GRAVE) and c9910213.spfilter(chkc,e,tp) end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 if chk==0 then return Duel.IsExistingTarget(c9910213.spfilter,tp,LOCATION_GRAVE,0,1,nil,e,tp) end
and Duel.IsExistingTarget(c9910213.spfilter,tp,LOCATION_GRAVE,0,1,nil,e,tp) end Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectTarget(tp,c9910213.spfilter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp) local g=Duel.SelectTarget(tp,c9910213.spfilter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,0,0) Duel.SetOperationInfo(0,CATEGORY_TOHAND,g,0,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,0,0,0)
end end
function c9910213.spop(e,tp,eg,ep,ev,re,r,rp) function c9910213.activate2(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then if tc:IsRelateToEffect(e) then
if Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and tc:IsCanBeSpecialSummoned(e,0,tp,false,false)
and (not tc:IsAbleToHand() or Duel.SelectOption(tp,1190,1152)==1) then
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)
else
Duel.SendtoHand(tc,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,tc)
end
end end
end end
...@@ -2,14 +2,25 @@ ...@@ -2,14 +2,25 @@
function c9910215.initial_effect(c) function c9910215.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(9910215,0))
e1:SetCategory(CATEGORY_DESTROY) e1:SetCategory(CATEGORY_DESTROY)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET) e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,9910215+EFFECT_COUNT_CODE_OATH)
e1:SetCondition(c9910215.condition) e1:SetCondition(c9910215.condition)
e1:SetTarget(c9910215.target) e1:SetTarget(c9910215.target)
e1:SetOperation(c9910215.activate) e1:SetOperation(c9910215.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--Activate
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(9910215,1))
e2:SetCategory(CATEGORY_HANDES+CATEGORY_DESTROY)
e2:SetType(EFFECT_TYPE_ACTIVATE)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetCountLimit(1,9910215+EFFECT_COUNT_CODE_OATH)
e2:SetOperation(c9910215.activate2)
c:RegisterEffect(e2)
end end
function c9910215.cfilter(c) function c9910215.cfilter(c)
return c:GetSequence()<5 and (c:IsFacedown() or not c:IsRace(RACE_PSYCHO)) return c:GetSequence()<5 and (c:IsFacedown() or not c:IsRace(RACE_PSYCHO))
...@@ -25,24 +36,67 @@ function c9910215.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -25,24 +36,67 @@ function c9910215.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local g=Duel.SelectTarget(tp,Card.IsFaceup,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,c) local g=Duel.SelectTarget(tp,Card.IsFaceup,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,c)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0) Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0)
end end
function c9910215.cfilter2(c)
return c:IsFaceup() and c:IsSetCard(0x955)
end
function c9910215.activate(e,tp,eg,ep,ev,re,r,rp) function c9910215.activate(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and Duel.Destroy(tc,REASON_EFFECT)>0 then if tc:IsRelateToEffect(e) then
local g1=Duel.GetMatchingGroup(aux.TRUE,tp,LOCATION_MZONE,0,nil) Duel.Destroy(tc,REASON_EFFECT)
local g2=Duel.GetMatchingGroup(aux.TRUE,tp,0,LOCATION_MZONE,nil)
if g2:GetCount()>0 and g1:FilterCount(c9910215.cfilter2,nil)>0
and Duel.SelectYesNo(tp,aux.Stringid(9910215,0)) then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local sg1=g1:Select(tp,1,1,nil)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local sg2=g2:Select(tp,1,1,nil)
sg1:Merge(sg2)
Duel.HintSelection(sg1)
Duel.Destroy(sg1,REASON_EFFECT)
end end
end
function c9910215.activate2(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_CHAINING)
e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetOperation(c9910215.chainop)
Duel.RegisterEffect(e1,tp)
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_CHAINING)
e2:SetReset(RESET_PHASE+PHASE_END)
e2:SetOperation(c9910215.chop)
e2:SetLabel(0)
Duel.RegisterEffect(e2,tp)
local e3=Effect.CreateEffect(e:GetHandler())
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_CHAIN_END)
e3:SetReset(RESET_PHASE+PHASE_END)
e3:SetCondition(c9910215.descon)
e3:SetOperation(c9910215.desop)
e3:SetLabelObject(e2)
Duel.RegisterEffect(e3,tp)
end
function c9910215.chainop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetCurrentChain()==1 then
Duel.SetChainLimit(c9910215.chainlm)
end
end
function c9910215.chainlm(e,rp,tp)
return tp==rp
end
function c9910215.chop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetCurrentChain()==2 and re and rp==tp then
e:SetLabel(1)
end
end
function c9910215.descon(e,tp,eg,ep,ev,re,r,rp)
local res=e:GetLabelObject():GetLabel()
e:GetLabelObject():SetLabel(0)
return res==1
end
function c9910215.cfilter(c)
return c:IsSetCard(0x955) and c:IsDiscardable()
end
function c9910215.desop(e,tp,eg,ep,ev,re,r,rp)
local dg=Duel.GetFieldGroup(tp,0,LOCATION_ONFIELD)
if Duel.IsExistingMatchingCard(c9910215.cfilter,tp,LOCATION_HAND,0,1,nil)
and dg:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(9910215,2)) then
Duel.Hint(HINT_CARD,0,9910215)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DISCARD)
local g=Duel.SelectMatchingCard(tp,c9910215.cfilter,tp,LOCATION_HAND,0,1,1,nil)
if Duel.SendtoGrave(g,REASON_EFFECT+REASON_DISCARD)==0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local sg=dg:Select(tp,1,1,nil)
Duel.HintSelection(sg)
Duel.Destroy(sg,REASON_EFFECT)
end end
end end
...@@ -7,76 +7,75 @@ function c9910220.initial_effect(c) ...@@ -7,76 +7,75 @@ function c9910220.initial_effect(c)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(9910220,0)) e1:SetDescription(aux.Stringid(9910220,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetType(EFFECT_TYPE_QUICK_O) e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_MAIN_END) e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_MAIN_END)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1,9910220) e1:SetCountLimit(1,9910220)
e1:SetCondition(c9910220.lkcon) e1:SetCondition(c9910220.lkcon)
e1:SetCost(c9910220.lkcost)
e1:SetTarget(c9910220.lktg) e1:SetTarget(c9910220.lktg)
e1:SetOperation(c9910220.lkop) e1:SetOperation(c9910220.lkop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--special summon --draw
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(9910220,1)) e2:SetDescription(aux.Stringid(9910220,1))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON) e2:SetCategory(CATEGORY_DRAW+CATEGORY_RELEASE)
e2:SetType(EFFECT_TYPE_QUICK_O) e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN) e2:SetCode(EVENT_CHAINING)
e2:SetHintTiming(0,TIMING_END_PHASE)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,9910221) e2:SetCountLimit(1,9910221)
e2:SetCondition(c9910220.spcon) e2:SetCondition(c9910220.drcon)
e2:SetCost(c9910220.spcost) e2:SetTarget(c9910220.drtg)
e2:SetTarget(c9910220.sptg) e2:SetOperation(c9910220.drop)
e2:SetOperation(c9910220.spop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c9910220.lkcon(e,tp,eg,ep,ev,re,r,rp) function c9910220.lkcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()~=tp return Duel.GetTurnPlayer()~=tp
and (Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_MAIN2) and (Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_MAIN2)
end end
function c9910220.lkcost(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)
end
function c9910220.lkfilter(c) function c9910220.lkfilter(c)
return c:IsLinkSummonable(nil) return c:IsFaceup() and c:IsSetCard(0x955)
and Duel.IsExistingMatchingCard(Card.IsLinkSummonable,tp,LOCATION_EXTRA,0,1,nil,nil,c)
end end
function c9910220.lktg(e,tp,eg,ep,ev,re,r,rp,chk) function c9910220.lktg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c9910220.lkfilter,tp,LOCATION_EXTRA,0,1,nil) end local c=e:GetHandler()
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,0) if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c9910220.lkfilter(chkc) and chkc~=c end
if chk==0 then return Duel.IsExistingTarget(c9910220.lkfilter,tp,LOCATION_MZONE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
Duel.SelectTarget(tp,c9910220.lkfilter,tp,LOCATION_MZONE,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end end
function c9910220.lkop(e,tp,eg,ep,ev,re,r,rp) function c9910220.lkop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
local tg=Duel.GetMatchingGroup(Card.IsLinkSummonable,tp,LOCATION_EXTRA,0,nil,nil,tc)
if tc:IsRelateToEffect(e) and tc:IsFaceup() and tg:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c9910220.lkfilter,tp,LOCATION_EXTRA,0,1,1,nil) local sg=tg:Select(tp,1,1,nil)
local tc=g:GetFirst() local sc=sg:GetFirst()
if tc then Duel.LinkSummon(tp,sc,nil,tc)
Duel.LinkSummon(tp,tc,nil)
end end
end end
function c9910220.spcon(e,tp,eg,ep,ev,re,r,rp) function c9910220.drcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_LINK)
end
function c9910220.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
if chk==0 then return c:IsAbleToRemoveAsCost() end if not re:IsHasProperty(EFFECT_FLAG_CARD_TARGET) then return false end
Duel.Remove(c,POS_FACEUP,REASON_COST) local g=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS)
return g and g:IsContains(c)
end end
function c9910220.spfilter(c,e,tp,ec) function c9910220.drtg(e,tp,eg,ep,ev,re,r,rp,chk)
return c:IsLinkBelow(2) and c:IsSetCard(0x955) and not c:IsCode(9910220) if chk==0 then return Duel.IsPlayerCanDraw(tp,1) end
and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and Duel.GetLocationCountFromEx(tp,tp,ec,c)>0 Duel.SetTargetPlayer(tp)
Duel.SetTargetParam(1)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
end end
function c9910220.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function c9910220.drop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if chk==0 then return Duel.IsExistingMatchingCard(c9910220.spfilter,tp,LOCATION_EXTRA,0,1,nil,e,tp,c) end local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA) if Duel.Draw(p,d,REASON_EFFECT)~=0 and c:IsRelateToEffect(e) and c:IsReleasableByEffect()
end and Duel.IsPlayerCanDraw(tp,1) and Duel.SelectYesNo(tp,aux.Stringid(9910220,2)) then
function c9910220.spop(e,tp,eg,ep,ev,re,r,rp) Duel.BreakEffect()
local c=e:GetHandler() if Duel.Release(c,REASON_EFFECT)~=0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Draw(tp,1,REASON_EFFECT)
local g=Duel.SelectMatchingCard(tp,c9910220.spfilter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp,c) end
if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end end
end end
...@@ -5,7 +5,6 @@ function c9910222.initial_effect(c) ...@@ -5,7 +5,6 @@ function c9910222.initial_effect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION) e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_HAND) e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,9910222)
e1:SetCondition(c9910222.spcon) e1:SetCondition(c9910222.spcon)
e1:SetTarget(c9910222.sptg) e1:SetTarget(c9910222.sptg)
e1:SetOperation(c9910222.spop) e1:SetOperation(c9910222.spop)
......
...@@ -4,8 +4,9 @@ function c9910223.initial_effect(c) ...@@ -4,8 +4,9 @@ function c9910223.initial_effect(c)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_ATKCHANGE+CATEGORY_DESTROY+CATEGORY_DAMAGE) e1:SetCategory(CATEGORY_ATKCHANGE+CATEGORY_DESTROY+CATEGORY_DAMAGE)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET) e1:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DAMAGE_STEP)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(TIMING_DAMAGE_STEP,TIMING_DAMAGE_STEP+TIMINGS_CHECK_MONSTER)
e1:SetCondition(c9910223.condition) e1:SetCondition(c9910223.condition)
e1:SetCost(c9910223.cost) e1:SetCost(c9910223.cost)
e1:SetTarget(c9910223.target) e1:SetTarget(c9910223.target)
......
...@@ -5,14 +5,13 @@ function c9910224.initial_effect(c) ...@@ -5,14 +5,13 @@ function c9910224.initial_effect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOGRAVE) e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOGRAVE)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,9910224)
e1:SetCondition(c9910224.condition) e1:SetCondition(c9910224.condition)
e1:SetTarget(c9910224.target) e1:SetTarget(c9910224.target)
e1:SetOperation(c9910224.activate) e1:SetOperation(c9910224.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--to deck --draw & to deck
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_TODECK) e2:SetCategory(CATEGORY_DRAW+CATEGORY_TODECK)
e2:SetType(EFFECT_TYPE_IGNITION) e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET) e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetRange(LOCATION_GRAVE) e2:SetRange(LOCATION_GRAVE)
...@@ -57,16 +56,23 @@ function c9910224.tdfilter(c) ...@@ -57,16 +56,23 @@ function c9910224.tdfilter(c)
return c:IsSetCard(0x955) and c:IsAbleToDeck() return c:IsSetCard(0x955) and c:IsAbleToDeck()
end end
function c9910224.tdtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c9910224.tdtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsControler(tp) and chkc:IsLocation(LOCATION_GRAVE) and c9910224.tdfilter(chkc) local c=e:GetHandler()
and not chkc==e:GetHandler() end if chkc then return chkc:IsControler(tp) and chkc:IsLocation(LOCATION_GRAVE) and c9910224.tdfilter(chkc) and chkc~=c end
if chk==0 then return Duel.IsExistingTarget(c9910224.tdfilter,tp,LOCATION_GRAVE,0,1,e:GetHandler()) end if chk==0 then return Duel.IsPlayerCanDraw(tp,1)
and Duel.IsExistingTarget(c9910224.tdfilter,tp,LOCATION_GRAVE,0,1,c) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectTarget(tp,c9910224.tdfilter,tp,LOCATION_GRAVE,0,1,1,e:GetHandler()) Duel.SelectTarget(tp,c9910224.tdfilter,tp,LOCATION_GRAVE,0,1,1,c)
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,1,0,0) Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
Duel.SetOperationInfo(0,CATEGORY_TODECK,nil,0,tp,2)
end end
function c9910224.tdop(e,tp,eg,ep,ev,re,r,rp) function c9910224.tdop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then if Duel.Draw(tp,1,REASON_EFFECT)==0 then return end
Duel.SendtoDeck(tc,nil,2,REASON_EFFECT) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(tp,Card.IsAbleToDeck,tp,LOCATION_HAND,0,1,1,nil)
if tc:IsRelateToEffect(e) then g:AddCard(tc) end
if g:GetCount()>0 then
Duel.BreakEffect()
Duel.SendtoDeck(g,nil,2,REASON_EFFECT)
end end
end end
...@@ -52,7 +52,7 @@ function c9910225.atkop(e,tp,eg,ep,ev,re,r,rp) ...@@ -52,7 +52,7 @@ function c9910225.atkop(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK) e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(atk*600) e1:SetValue(atk*250)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE) e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
...@@ -60,13 +60,13 @@ function c9910225.atkop2(e,tp,eg,ep,ev,re,r,rp) ...@@ -60,13 +60,13 @@ function c9910225.atkop2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_EXTRA_ATTACK_MONSTER) e1:SetCode(EFFECT_EXTRA_ATTACK)
e1:SetValue(c:GetMaterialCount()-1) e1:SetValue(c:GetMaterialCount()-1)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE) e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c9910225.discon(e,tp,eg,ep,ev,re,r,rp) function c9910225.discon(e,tp,eg,ep,ev,re,r,rp)
return ep==1-tp and re:IsActiveType(TYPE_MONSTER) and Duel.IsChainNegatable(ev) return re:IsActiveType(TYPE_MONSTER) and Duel.IsChainNegatable(ev)
and not e:GetHandler():IsStatus(STATUS_BATTLE_DESTROYED) and not e:GetHandler():IsStatus(STATUS_BATTLE_DESTROYED)
end end
function c9910225.distg(e,tp,eg,ep,ev,re,r,rp,chk) function c9910225.distg(e,tp,eg,ep,ev,re,r,rp,chk)
......
...@@ -6,17 +6,22 @@ function c9910237.initial_effect(c) ...@@ -6,17 +6,22 @@ function c9910237.initial_effect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET) e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetCountLimit(1,9910237+EFFECT_COUNT_CODE_OATH)
e1:SetCondition(c9910237.condition)
e1:SetTarget(c9910237.target) e1:SetTarget(c9910237.target)
e1:SetOperation(c9910237.operation) e1:SetOperation(c9910237.operation)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end --to grave
function c9910237.cfilter(c) local e2=Effect.CreateEffect(c)
return c:GetSequence()<5 and (c:IsFacedown() or not c:IsRace(RACE_PSYCHO)) e2:SetCategory(CATEGORY_TOGRAVE+CATEGORY_TODECK)
end e2:SetType(EFFECT_TYPE_QUICK_O)
function c9910237.condition(e,tp,eg,ep,ev,re,r,rp) e2:SetCode(EVENT_FREE_CHAIN)
return not Duel.IsExistingMatchingCard(c9910237.cfilter,tp,LOCATION_MZONE,0,1,nil) e2:SetRange(LOCATION_GRAVE)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e2:SetCountLimit(1,9910237)
e2:SetCost(aux.bfgcost)
e2:SetTarget(c9910237.tgtg)
e2:SetOperation(c9910237.tgop)
c:RegisterEffect(e2)
end end
function c9910237.filter(c,e,tp) function c9910237.filter(c,e,tp)
return c:IsFaceup() and c:IsSetCard(0x955) and c:IsAbleToDeck() return c:IsFaceup() and c:IsSetCard(0x955) and c:IsAbleToDeck()
...@@ -46,16 +51,31 @@ function c9910237.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -46,16 +51,31 @@ function c9910237.operation(e,tp,eg,ep,ev,re,r,rp)
end end
end end
end end
local e1=Effect.CreateEffect(e:GetHandler()) end
e1:SetType(EFFECT_TYPE_FIELD) function c9910237.lvfilter(c,tp)
e1:SetCode(EFFECT_CANNOT_ACTIVATE) local lv=c:GetLevel()
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET) return lv>0 and c:IsAttribute(ATTRIBUTE_WIND)
e1:SetTargetRange(1,0) and Duel.IsExistingMatchingCard(c9910237.tgfilter,tp,LOCATION_DECK,0,1,nil,lv)
e1:SetValue(c9910237.actlimit) end
e1:SetReset(RESET_PHASE+PHASE_END) function c9910237.tgfilter(c,lv)
Duel.RegisterEffect(e1,tp) return c:IsSetCard(0x955) and not c:IsLevel(lv) and c:IsLevelAbove(1) and c:IsType(TYPE_MONSTER) and c:IsAbleToGrave()
end end
function c9910237.actlimit(e,re,rp) function c9910237.tgtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local rc=re:GetHandler() if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and c9910237.lvfilter(chkc,tp) end
return re:IsActiveType(TYPE_MONSTER) and not rc:IsAttribute(ATTRIBUTE_WIND) if chk==0 then return Duel.IsExistingTarget(c9910237.lvfilter,tp,LOCATION_GRAVE,0,1,nil,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectTarget(tp,c9910237.lvfilter,tp,LOCATION_GRAVE,0,1,1,nil,tp)
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_DECK)
end
function c9910237.tgop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,c9910237.tgfilter,tp,LOCATION_DECK,0,1,1,nil,tc:GetLevel())
if g:GetCount()>0 then
local gc=g:GetFirst()
if Duel.SendtoGrave(gc,REASON_EFFECT)~=0 and tc:IsRelateToEffect(e) then
Duel.SendtoDeck(tc,nil,2,REASON_EFFECT)
end
end
end end
--积聚希望的韶光 --积聚希望的韶光
function c9910454.initial_effect(c) function c9910454.initial_effect(c)
c:EnableCounterPermit(0x1950) c:EnableCounterPermit(0x950)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
...@@ -12,40 +12,34 @@ function c9910454.initial_effect(c) ...@@ -12,40 +12,34 @@ function c9910454.initial_effect(c)
e2:SetType(EFFECT_TYPE_IGNITION) e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_SZONE) e2:SetRange(LOCATION_SZONE)
e2:SetCountLimit(1,9910454) e2:SetCountLimit(1,9910454)
e2:SetCondition(c9910454.drcon) e2:SetCost(c9910454.drcost)
e2:SetTarget(c9910454.drtg) e2:SetTarget(c9910454.drtg)
e2:SetOperation(c9910454.drop) e2:SetOperation(c9910454.drop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c9910454.drcon(e,tp,eg,ep,ev,re,r,rp) function c9910454.drcost(e,tp,eg,ep,ev,re,r,rp,chk)
return Duel.GetFieldGroupCount(tp,LOCATION_HAND,0)>2 if chk==0 then return Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,nil) end
Duel.DiscardHand(tp,Card.IsDiscardable,1,1,REASON_COST+REASON_DISCARD)
end end
function c9910454.drtg(e,tp,eg,ep,ev,re,r,rp,chk) function c9910454.drtg(e,tp,eg,ep,ev,re,r,rp,chk)
local ct=Duel.GetCounter(tp,1,0,0x1950)+3-Duel.GetFieldGroupCount(tp,LOCATION_HAND,0) local ct=Duel.GetCounter(tp,1,0,0x950)+1
if chk==0 then return (ct<=0 or Duel.IsPlayerCanDraw(tp,ct)) if chk==0 then return Duel.IsPlayerCanDraw(tp,ct) end
and Duel.IsExistingMatchingCard(Card.IsAbleToDeck,tp,LOCATION_HAND,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TODECK,nil,1,tp,LOCATION_HAND)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1) Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
end end
function c9910454.drop(e,tp,eg,ep,ev,re,r,rp) function c9910454.drop(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end if not e:GetHandler():IsRelateToEffect(e) then return end
local ct=Duel.GetCounter(tp,1,0,0x950)+1
if Duel.Draw(tp,ct,REASON_EFFECT)==0 then return end
local g=Duel.GetFieldGroup(tp,LOCATION_HAND,0) local g=Duel.GetFieldGroup(tp,LOCATION_HAND,0)
if Duel.SendtoDeck(g,nil,0,REASON_EFFECT)~=0 then if g:GetCount()<1 then return end
local og=g:Filter(Card.IsLocation,nil,LOCATION_DECK)
if og:IsExists(Card.IsControler,1,nil,tp) then Duel.ShuffleDeck(tp) end
if og:IsExists(Card.IsControler,1,nil,1-tp) then Duel.ShuffleDeck(1-tp) end
Duel.BreakEffect() Duel.BreakEffect()
local ct=Duel.GetCounter(tp,1,0,0x1950)+3 Duel.ConfirmCards(1-tp,g)
Duel.Draw(tp,ct,REASON_EFFECT) if g:GetClassCount(Card.GetCode)==g:GetCount() then
local sg=Duel.GetOperatedGroup() if g:IsExists(Card.IsSetCard,1,nil,0x9950) then
Duel.ConfirmCards(1-tp,sg) e:GetHandler():AddCounter(0x950,1)
if sg:GetClassCount(Card.GetCode)==sg:GetCount() then
if sg:IsExists(Card.IsSetCard,1,nil,0x9950) then
e:GetHandler():AddCounter(0x1950,1)
Duel.ShuffleHand(tp) Duel.ShuffleHand(tp)
end end
else else
Duel.SendtoDeck(sg,nil,2,REASON_EFFECT) Duel.SendtoDeck(g,nil,2,REASON_EFFECT)
end
end end
end end
--韶光歌后 玛丽亚·毕肖普 --韶光歌后 玛丽亚·毕肖普
function c9910457.initial_effect(c) function c9910457.initial_effect(c)
c:EnableCounterPermit(0x1950) c:EnableCounterPermit(0x950)
--fusion material --fusion material
c:EnableReviveLimit() c:EnableReviveLimit()
aux.AddFusionProcFunFunRep(c,aux.FilterBoolFunction(Card.IsFusionSetCard,0x9950),c9910457.matfilter,2,63,true) aux.AddFusionProcFunFunRep(c,aux.FilterBoolFunction(Card.IsFusionSetCard,0x9950),c9910457.matfilter,2,63,true)
...@@ -53,17 +53,17 @@ function c9910457.adop(e,tp,eg,ep,ev,re,r,rp) ...@@ -53,17 +53,17 @@ function c9910457.adop(e,tp,eg,ep,ev,re,r,rp)
if c:GetMaterial():IsExists(c9910457.cfilter,1,nil,LOCATION_EXTRA) then ct=ct+1 end if c:GetMaterial():IsExists(c9910457.cfilter,1,nil,LOCATION_EXTRA) then ct=ct+1 end
if c:GetMaterial():IsExists(c9910457.cfilter,1,nil,LOCATION_REMOVED) then ct=ct+1 end if c:GetMaterial():IsExists(c9910457.cfilter,1,nil,LOCATION_REMOVED) then ct=ct+1 end
if c:GetMaterial():IsExists(c9910457.cfilter,1,nil,LOCATION_SZONE) then ct=ct+1 end if c:GetMaterial():IsExists(c9910457.cfilter,1,nil,LOCATION_SZONE) then ct=ct+1 end
if ct>0 and c:IsCanAddCounter(0x1950,ct) then if ct>0 and c:IsCanAddCounter(0x950,ct) then
Duel.Hint(HINT_CARD,0,9910457) Duel.Hint(HINT_CARD,0,9910457)
c:AddCounter(0x1950,ct) c:AddCounter(0x950,ct)
end end
end end
function c9910457.discon(e,tp,eg,ep,ev,re,r,rp) function c9910457.discon(e,tp,eg,ep,ev,re,r,rp)
return rp==1-tp and not e:GetHandler():IsStatus(STATUS_BATTLE_DESTROYED) and Duel.IsChainNegatable(ev) return rp==1-tp and not e:GetHandler():IsStatus(STATUS_BATTLE_DESTROYED) and Duel.IsChainNegatable(ev)
end end
function c9910457.discost(e,tp,eg,ep,ev,re,r,rp,chk) function c9910457.discost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsCanRemoveCounter(tp,0x1950,1,REASON_COST) end if chk==0 then return e:GetHandler():IsCanRemoveCounter(tp,0x950,1,REASON_COST) end
e:GetHandler():RemoveCounter(tp,0x1950,1,REASON_COST) e:GetHandler():RemoveCounter(tp,0x950,1,REASON_COST)
end end
function c9910457.distg(e,tp,eg,ep,ev,re,r,rp,chk) function c9910457.distg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
...@@ -77,15 +77,15 @@ function c9910457.rctcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -77,15 +77,15 @@ function c9910457.rctcon(e,tp,eg,ep,ev,re,r,rp)
end end
function c9910457.rcttg(e,tp,eg,ep,ev,re,r,rp,chk) function c9910457.rcttg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
if not e:GetHandler():IsCanRemoveCounter(tp,0x1950,1,REASON_EFFECT) then if not e:GetHandler():IsCanRemoveCounter(tp,0x950,1,REASON_EFFECT) then
Duel.SetOperationInfo(0,CATEGORY_DESTROY,e:GetHandler(),1,0,0) Duel.SetOperationInfo(0,CATEGORY_DESTROY,e:GetHandler(),1,0,0)
end end
end end
function c9910457.rctop(e,tp,eg,ep,ev,re,r,rp) function c9910457.rctop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsFaceup() and c:IsRelateToEffect(e) then if c:IsFaceup() and c:IsRelateToEffect(e) then
if c:IsCanRemoveCounter(tp,0x1950,1,REASON_EFFECT) then if c:IsCanRemoveCounter(tp,0x950,1,REASON_EFFECT) then
c:RemoveCounter(tp,0x1950,1,REASON_EFFECT) c:RemoveCounter(tp,0x950,1,REASON_EFFECT)
else else
Duel.Destroy(c,REASON_EFFECT) Duel.Destroy(c,REASON_EFFECT)
end end
......
--韶光的怀恋 希尔维娅 --韶光的怀恋 希尔维娅
function c9910461.initial_effect(c) function c9910461.initial_effect(c)
c:EnableCounterPermit(0x1950) c:EnableCounterPermit(0x950)
--synchro summon --synchro summon
aux.AddSynchroProcedure(c,aux.FilterBoolFunction(Card.IsAttribute,ATTRIBUTE_LIGHT),aux.NonTuner(nil),1) aux.AddSynchroProcedure(c,aux.FilterBoolFunction(Card.IsAttribute,ATTRIBUTE_LIGHT),aux.NonTuner(nil),1)
c:EnableReviveLimit() c:EnableReviveLimit()
...@@ -28,16 +28,16 @@ function c9910461.ctcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -28,16 +28,16 @@ function c9910461.ctcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_SYNCHRO) return e:GetHandler():IsSummonType(SUMMON_TYPE_SYNCHRO)
end end
function c9910461.cttg(e,tp,eg,ep,ev,re,r,rp,chk) function c9910461.cttg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsCanAddCounter(0x1950,1) end if chk==0 then return e:GetHandler():IsCanAddCounter(0x950,1) end
Duel.SetOperationInfo(0,CATEGORY_COUNTER,nil,1,0,0x1950) Duel.SetOperationInfo(0,CATEGORY_COUNTER,nil,1,0,0x950)
end end
function c9910461.ctop(e,tp,eg,ep,ev,re,r,rp) function c9910461.ctop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsRelateToEffect(e) and c:AddCounter(0x1950,1) and Duel.GetCounter(tp,1,0,0x1950)>0 if c:IsRelateToEffect(e) and c:AddCounter(0x950,1) and Duel.GetCounter(tp,1,0,0x950)>0
and Duel.IsExistingMatchingCard(Card.IsAbleToHand,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) and Duel.IsExistingMatchingCard(Card.IsAbleToHand,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil)
and Duel.SelectYesNo(tp,aux.Stringid(9910461,0)) then and Duel.SelectYesNo(tp,aux.Stringid(9910461,0)) then
Duel.BreakEffect() Duel.BreakEffect()
local ct=Duel.GetCounter(tp,1,0,0x1950) local ct=Duel.GetCounter(tp,1,0,0x950)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RTOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RTOHAND)
local g=Duel.SelectMatchingCard(tp,Card.IsAbleToHand,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,ct,nil) local g=Duel.SelectMatchingCard(tp,Card.IsAbleToHand,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,ct,nil)
Duel.HintSelection(g) Duel.HintSelection(g)
......
...@@ -12,18 +12,18 @@ function c9910462.initial_effect(c) ...@@ -12,18 +12,18 @@ function c9910462.initial_effect(c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c9910462.ctfilter(c) function c9910462.ctfilter(c)
return c:IsFaceup() and c:IsCanAddCounter(0x1950,1) return c:IsFaceup() and c:IsCanAddCounter(0x950,1)
end end
function c9910462.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c9910462.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsOnField() and chkc:IsControler(tp) and c9910462.ctfilter(chkc) end if chkc then return chkc:IsOnField() and chkc:IsControler(tp) and c9910462.ctfilter(chkc) end
if chk==0 then return Duel.IsExistingTarget(c9910462.ctfilter,tp,LOCATION_ONFIELD,0,1,nil) end if chk==0 then return Duel.IsExistingTarget(c9910462.ctfilter,tp,LOCATION_ONFIELD,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
Duel.SelectTarget(tp,c9910462.ctfilter,tp,LOCATION_ONFIELD,0,1,1,nil) Duel.SelectTarget(tp,c9910462.ctfilter,tp,LOCATION_ONFIELD,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_COUNTER,nil,1,0,0x1950) Duel.SetOperationInfo(0,CATEGORY_COUNTER,nil,1,0,0x950)
end end
function c9910462.operation(e,tp,eg,ep,ev,re,r,rp) function c9910462.operation(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if tc:IsFaceup() and tc:IsRelateToEffect(e) and tc:AddCounter(0x1950,1) and tc:IsType(TYPE_FUSION) then if tc:IsFaceup() and tc:IsRelateToEffect(e) and tc:AddCounter(0x950,1) and tc:IsType(TYPE_FUSION) then
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_IMMUNE_EFFECT) e1:SetCode(EFFECT_IMMUNE_EFFECT)
......
--韶光的祈福 希尔维娅
function c9910463.initial_effect(c)
c:EnableCounterPermit(0x950)
--link summon
aux.AddLinkProcedure(c,c9910463.matfilter,3,99,c9910463.lcheck)
c:EnableReviveLimit()
--extra material
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetCode(EFFECT_EXTRA_LINK_MATERIAL)
e1:SetRange(LOCATION_EXTRA)
e1:SetTargetRange(0,LOCATION_MZONE)
e1:SetValue(c9910463.matval)
c:RegisterEffect(e1)
--special summon
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_COUNTER)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetCondition(c9910463.condition)
e2:SetTarget(c9910463.target)
e2:SetOperation(c9910463.operation)
c:RegisterEffect(e2)
end
function c9910463.matfilter(c)
return c:IsSummonType(SUMMON_TYPE_SPECIAL)
end
function c9910463.lcheck(g)
local res=true
local loct={}
for i=1,6 do loct[i]=0 end
local tc=g:GetFirst()
while tc do
if tc:GetSummonLocation()==LOCATION_HAND then loct[1]=loct[1]+1
elseif tc:GetSummonLocation()==LOCATION_DECK then loct[2]=loct[2]+1
elseif tc:GetSummonLocation()==LOCATION_GRAVE then loct[3]=loct[3]+1
elseif tc:GetSummonLocation()==LOCATION_EXTRA then loct[4]=loct[4]+1
elseif tc:GetSummonLocation()==LOCATION_REMOVED then loct[5]=loct[5]+1
elseif tc:GetSummonLocation()==LOCATION_SZONE then loct[6]=loct[6]+1
else res=false end
tc=g:GetNext()
end
for i=1,6 do
if loct[i]>1 then res=false end
end
return res
end
function c9910463.matval(e,lc,mg,c,tp)
local ct=Duel.GetMatchingGroupCount(c9910463.sgfilter,tp,LOCATION_MZONE,0,nil)
if e:GetHandler()~=lc or ct==0 then return false,nil end
return true,not mg or not mg:IsExists(Card.IsControler,ct,nil,1-tp)
end
function c9910463.condition(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_LINK)
end
function c9910463.spfilter(c,e,tp)
return c:IsSetCard(0x9950) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_DEFENSE)
and (c:IsLocation(LOCATION_GRAVE) and Duel.GetMZoneCount(tp)>0
or c:IsLocation(LOCATION_EXTRA) and Duel.GetLocationCountFromEx(tp,tp,nil,c)>0)
end
function c9910463.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c9910463.spfilter,tp,LOCATION_GRAVE+LOCATION_EXTRA,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE+LOCATION_EXTRA)
end
function c9910463.operation(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local loc=LOCATION_ONFIELD
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c9910463.spfilter),tp,LOCATION_GRAVE+LOCATION_EXTRA,0,1,1,nil,e,tp)
if g:GetCount()>0 and Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP_DEFENSE)~=0
and Duel.GetMatchingGroupCount(Card.IsCanAddCounter,tp,loc,loc,nil,0x950,1)>0 then
local ct=3
while ct>0 do
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_COUNTER)
local tc=Duel.SelectMatchingCard(tp,Card.IsCanAddCounter,tp,loc,loc,1,1,nil,0x950,1):GetFirst()
if not tc then break end
tc:AddCounter(0x950,1)
ct=ct-1
end
end
end
--偏移命运的韶光
function c9910464.initial_effect(c)
--confirm deck
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(9910464,0))
e1:SetCategory(CATEGORY_TOGRAVE+CATEGORY_SEARCH+CATEGORY_TOHAND)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,9910464+EFFECT_COUNT_CODE_OATH)
e1:SetTarget(c9910464.target)
e1:SetOperation(c9910464.activate)
c:RegisterEffect(e1)
--confirm extra
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(9910464,1))
e2:SetCategory(CATEGORY_TOGRAVE+CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_ACTIVATE)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetCountLimit(1,9910464+EFFECT_COUNT_CODE_OATH)
e2:SetTarget(c9910464.target2)
e2:SetOperation(c9910464.activate2)
c:RegisterEffect(e2)
end
function c9910464.tgfilter(c)
return c:IsSetCard(0x9950) and c:IsAbleToGrave()
end
function c9910464.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)>0
and Duel.IsExistingMatchingCard(c9910464.tgfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_DECK)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,0,tp,LOCATION_DECK)
end
function c9910464.thfilter(c)
return c:IsSetCard(0x9950) and c:IsAbleToHand()
end
function c9910464.activate(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=Duel.GetFieldGroup(tp,LOCATION_DECK,0)
if g:GetCount()<1 then return end
Duel.ConfirmCards(tp,g)
Duel.ConfirmCards(1-tp,g)
if g:GetClassCount(Card.GetCode)==g:GetCount() and g:IsExists(c9910464.tgfilter,1,nil) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local tg=g:FilterSelect(tp,c9910464.tgfilter,1,1,nil)
if tg:GetCount()>0 and Duel.SendtoGrave(tg,REASON_EFFECT)~=0
and Duel.IsExistingMatchingCard(c9910464.thfilter,tp,LOCATION_DECK,0,1,nil)
and Duel.SelectYesNo(tp,aux.Stringid(9910464,2)) then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local sg=Duel.SelectMatchingCard(tp,c9910464.thfilter,tp,LOCATION_DECK,0,1,1,nil)
Duel.SendtoHand(sg,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,sg)
end
end
Duel.ShuffleDeck(tp)
end
function c9910464.spfilter(c,e,tp)
return c:IsSetCard(0x9950) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c9910464.target2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFieldGroupCount(tp,LOCATION_EXTRA,0)>0
and Duel.IsExistingMatchingCard(Card.IsAbleToGrave,tp,LOCATION_EXTRA,0,1,nil)
and Duel.IsExistingMatchingCard(c9910464.spfilter,tp,LOCATION_HAND,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_EXTRA)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND)
end
function c9910464.activate2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=Duel.GetFieldGroup(tp,LOCATION_EXTRA,0)
if g:GetCount()<1 then return end
Duel.ConfirmCards(1-tp,g)
if g:GetClassCount(Card.GetCode)==g:GetCount() and g:IsExists(Card.IsAbleToGrave,1,nil) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local tg=g:FilterSelect(tp,Card.IsAbleToGrave,1,1,nil)
if tg:GetCount()>0 and Duel.SendtoGrave(tg,REASON_EFFECT)~=0
and Duel.IsExistingMatchingCard(c9910464.spfilter,tp,LOCATION_HAND,0,1,nil,e,tp) then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=Duel.SelectMatchingCard(tp,c9910464.spfilter,tp,LOCATION_HAND,0,1,1,nil,e,tp)
if sg:GetCount()>0 then
Duel.SpecialSummon(sg,0,tp,tp,false,false,POS_FACEUP)
end
end
end
end
...@@ -6,6 +6,7 @@ function c9910551.initial_effect(c) ...@@ -6,6 +6,7 @@ function c9910551.initial_effect(c)
e1:SetCode(EFFECT_SPSUMMON_PROC) e1:SetCode(EFFECT_SPSUMMON_PROC)
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE) e1:SetProperty(EFFECT_FLAG_UNCOPYABLE)
e1:SetRange(LOCATION_HAND) e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,9910550+EFFECT_COUNT_CODE_OATH)
e1:SetCondition(c9910551.spcon) e1:SetCondition(c9910551.spcon)
e1:SetOperation(c9910551.spop) e1:SetOperation(c9910551.spop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
...@@ -50,7 +51,7 @@ function c9910551.thfilter(c) ...@@ -50,7 +51,7 @@ function c9910551.thfilter(c)
return c:IsSetCard(0x3951) and c:IsAbleToHand() return c:IsSetCard(0x3951) and c:IsAbleToHand()
end end
function c9910551.rmfilter(c) function c9910551.rmfilter(c)
return c:IsSetCard(0x3951) and c:IsAbleToRemove() and not c:IsCode(9910551) return c:IsSetCard(0x3951) and c:IsAbleToRemove()
end end
function c9910551.thop(e,tp,eg,ep,ev,re,r,rp) function c9910551.thop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)<=4 then return end if Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)<=4 then return end
...@@ -67,10 +68,10 @@ function c9910551.thop(e,tp,eg,ep,ev,re,r,rp) ...@@ -67,10 +68,10 @@ function c9910551.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.ShuffleDeck(tp) Duel.ShuffleDeck(tp)
local g1=Duel.GetMatchingGroup(aux.NecroValleyFilter(c9910551.rmfilter),tp,LOCATION_GRAVE,0,nil) local g1=Duel.GetMatchingGroup(aux.NecroValleyFilter(c9910551.rmfilter),tp,LOCATION_GRAVE,0,nil)
local g2=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,LOCATION_MZONE,LOCATION_MZONE,nil) local g2=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,LOCATION_MZONE,LOCATION_MZONE,nil)
if g1:GetCount()>0 and g2:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(9910551,2)) then if g1:GetCount()>1 and g2:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(9910551,2)) then
Duel.BreakEffect() Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local sg1=g1:Select(tp,1,1,nil) local sg1=g1:Select(tp,2,2,nil)
if Duel.Remove(sg1,POS_FACEUP,REASON_EFFECT)==0 then return end if Duel.Remove(sg1,POS_FACEUP,REASON_EFFECT)==0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local tc2=g2:Select(tp,1,1,nil):GetFirst() local tc2=g2:Select(tp,1,1,nil):GetFirst()
......
...@@ -6,16 +6,15 @@ function c9910552.initial_effect(c) ...@@ -6,16 +6,15 @@ function c9910552.initial_effect(c)
e1:SetCode(EFFECT_SPSUMMON_PROC) e1:SetCode(EFFECT_SPSUMMON_PROC)
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE) e1:SetProperty(EFFECT_FLAG_UNCOPYABLE)
e1:SetRange(LOCATION_HAND) e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,9910550+EFFECT_COUNT_CODE_OATH)
e1:SetCondition(c9910552.spcon) e1:SetCondition(c9910552.spcon)
e1:SetOperation(c9910552.spop) e1:SetOperation(c9910552.spop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--to hand --to hand
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_TOHAND+CATEGORY_REMOVE+CATEGORY_DRAW+CATEGORY_HANDES) e2:SetCategory(CATEGORY_TOGRAVE+CATEGORY_REMOVE+CATEGORY_DRAW)
e2:SetType(EFFECT_TYPE_QUICK_O) e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET) e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e2:SetRange(LOCATION_HAND) e2:SetRange(LOCATION_HAND)
e2:SetCountLimit(1,9910552) e2:SetCountLimit(1,9910552)
e2:SetCost(c9910552.thcost) e2:SetCost(c9910552.thcost)
...@@ -48,41 +47,20 @@ function c9910552.thcost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -48,41 +47,20 @@ function c9910552.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
end end
function c9910552.thtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c9910552.thtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsOnField() and chkc:IsAbleToHand() end if chkc then return chkc:IsOnField() and chkc:IsAbleToHand() end
if chk==0 then return Duel.IsExistingTarget(Card.IsAbleToHand,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) end if chk==0 then return Duel.IsExistingTarget(Card.IsAbleToGrave,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
Duel.SelectTarget(tp,Card.IsAbleToHand,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil) Duel.SelectTarget(tp,Card.IsAbleToHand,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,g,1,0,0) Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,g,1,0,0)
end
function c9910552.rmfilter(c)
return c:IsSetCard(0x3951) and c:IsAbleToRemove() and not c:IsCode(9910552)
end end
function c9910552.thop(e,tp,eg,ep,ev,re,r,rp) function c9910552.thop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if not tc or not tc:IsRelateToEffect(e) or Duel.SendtoHand(tc,tp,REASON_EFFECT)==0 then return end if not tc or not tc:IsRelateToEffect(e) or Duel.SendtoGrave(tc,REASON_EFFECT)==0 then return end
local g=Duel.GetMatchingGroup(aux.NecroValleyFilter(c9910552.rmfilter),tp,LOCATION_GRAVE,0,nil) local g=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,LOCATION_HAND,0,nil)
if g:GetCount()>0 and Duel.IsPlayerCanDraw(tp,1) and Duel.SelectYesNo(tp,aux.Stringid(9910552,1)) then if g:GetCount()>0 and Duel.IsPlayerCanDraw(tp,1) and Duel.SelectYesNo(tp,aux.Stringid(9910552,1)) then
Duel.BreakEffect() Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local sg=g:Select(tp,1,1,nil) local sg=g:Select(tp,1,1,nil)
if Duel.Remove(sg,POS_FACEUP,REASON_EFFECT)==0 then return end if Duel.Remove(sg,POS_FACEUP,REASON_EFFECT)==0 then return end
if Duel.Draw(tp,1,REASON_EFFECT)==0 then return end Duel.Draw(tp,1,REASON_EFFECT)
Duel.ShuffleHand(tp)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PHASE+PHASE_STANDBY)
e1:SetCountLimit(1)
e1:SetLabel(Duel.GetTurnCount()+1)
e1:SetCondition(c9910552.hacon)
e1:SetOperation(c9910552.haop)
e1:SetReset(RESET_PHASE+PHASE_END,2)
Duel.RegisterEffect(e1,tp)
end end
end end
function c9910552.hacon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnCount()==e:GetLabel()
and Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,nil)
end
function c9910552.haop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_CARD,0,9910552)
Duel.DiscardHand(tp,aux.TRUE,1,1,REASON_EFFECT+REASON_DISCARD)
end
...@@ -6,6 +6,7 @@ function c9910553.initial_effect(c) ...@@ -6,6 +6,7 @@ function c9910553.initial_effect(c)
e1:SetCode(EFFECT_SPSUMMON_PROC) e1:SetCode(EFFECT_SPSUMMON_PROC)
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE) e1:SetProperty(EFFECT_FLAG_UNCOPYABLE)
e1:SetRange(LOCATION_HAND) e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,9910550+EFFECT_COUNT_CODE_OATH)
e1:SetCondition(c9910553.spcon) e1:SetCondition(c9910553.spcon)
e1:SetOperation(c9910553.spop) e1:SetOperation(c9910553.spop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
...@@ -44,14 +45,13 @@ function c9910553.discost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -44,14 +45,13 @@ function c9910553.discost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SendtoGrave(g,REASON_COST+REASON_DISCARD) Duel.SendtoGrave(g,REASON_COST+REASON_DISCARD)
end end
function c9910553.distg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c9910553.distg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsFaceup() end if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(1-tp) and aux.disfilter1(chkc) end
if chk==0 then return Duel.IsExistingTarget(Card.IsFaceup,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) end if chk==0 then return Duel.IsExistingTarget(aux.disfilter1,tp,0,LOCATION_MZONE,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
local g=Duel.SelectTarget(tp,Card.IsFaceup,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil) Duel.SelectTarget(tp,aux.disfilter1,tp,0,LOCATION_MZONE,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_DISABLE,g,1,0,0)
end end
function c9910553.rmfilter(c) function c9910553.rmfilter(c)
return c:IsSetCard(0x3951) and c:IsAbleToRemove() and not c:IsCode(9910553) return c:IsSetCard(0x3951) and c:IsAbleToRemove()
end end
function c9910553.thfilter(c) function c9910553.thfilter(c)
return c:IsSetCard(0x3951) and c:IsAbleToHand() return c:IsSetCard(0x3951) and c:IsAbleToHand()
...@@ -59,17 +59,8 @@ end ...@@ -59,17 +59,8 @@ end
function c9910553.disop(e,tp,eg,ep,ev,re,r,rp) function c9910553.disop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if not tc:IsRelateToEffect(e) or not tc:IsFaceup() then return end if not tc:IsRelateToEffect(e) or not tc:IsFaceup() or tc:IsDisabled() or tc:IsImmuneToEffect(e) then return end
Duel.NegateRelatedChain(tc,RESET_TURN_SET) Duel.NegateRelatedChain(tc,RESET_TURN_SET)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
e1:SetValue(-1000)
tc:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_UPDATE_DEFENSE)
tc:RegisterEffect(e2)
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE) e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_DISABLE) e3:SetCode(EFFECT_DISABLE)
...@@ -83,10 +74,10 @@ function c9910553.disop(e,tp,eg,ep,ev,re,r,rp) ...@@ -83,10 +74,10 @@ function c9910553.disop(e,tp,eg,ep,ev,re,r,rp)
tc:RegisterEffect(e4) tc:RegisterEffect(e4)
local g1=Duel.GetMatchingGroup(aux.NecroValleyFilter(c9910553.rmfilter),tp,LOCATION_GRAVE,0,nil) local g1=Duel.GetMatchingGroup(aux.NecroValleyFilter(c9910553.rmfilter),tp,LOCATION_GRAVE,0,nil)
local g2=Duel.GetMatchingGroup(c9910553.thfilter,tp,LOCATION_DECK,0,nil) local g2=Duel.GetMatchingGroup(c9910553.thfilter,tp,LOCATION_DECK,0,nil)
if g1:GetCount()>0 and g2:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(9910553,1)) then if g1:GetCount()>1 and g2:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(9910553,1)) then
Duel.BreakEffect() Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local sg1=g1:Select(tp,1,1,nil) local sg1=g1:Select(tp,2,2,nil)
if Duel.Remove(sg1,POS_FACEUP,REASON_EFFECT)==0 then return end if Duel.Remove(sg1,POS_FACEUP,REASON_EFFECT)==0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local sg2=g2:Select(tp,1,1,nil) local sg2=g2:Select(tp,1,1,nil)
......
...@@ -6,6 +6,7 @@ function c9910554.initial_effect(c) ...@@ -6,6 +6,7 @@ function c9910554.initial_effect(c)
e1:SetCode(EFFECT_SPSUMMON_PROC) e1:SetCode(EFFECT_SPSUMMON_PROC)
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE) e1:SetProperty(EFFECT_FLAG_UNCOPYABLE)
e1:SetRange(LOCATION_HAND) e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,9910550+EFFECT_COUNT_CODE_OATH)
e1:SetCondition(c9910554.spcon) e1:SetCondition(c9910554.spcon)
e1:SetOperation(c9910554.spop) e1:SetOperation(c9910554.spop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
...@@ -51,16 +52,16 @@ function c9910554.rmtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -51,16 +52,16 @@ function c9910554.rmtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,g,g:GetCount(),1-tp,LOCATION_GRAVE) Duel.SetOperationInfo(0,CATEGORY_REMOVE,g,g:GetCount(),1-tp,LOCATION_GRAVE)
end end
function c9910554.rmfilter(c) function c9910554.rmfilter(c)
return c:IsSetCard(0x3951) and c:IsAbleToRemove() and not c:IsCode(9910554) return c:IsSetCard(0x3951) and c:IsAbleToRemove()
end end
function c9910554.rmop(e,tp,eg,ep,ev,re,r,rp) function c9910554.rmop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS):Filter(Card.IsRelateToEffect,nil,e) local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS):Filter(Card.IsRelateToEffect,nil,e)
if g:GetCount()==0 or Duel.Remove(g,POS_FACEUP,REASON_EFFECT)==0 then return end if g:GetCount()==0 or Duel.Remove(g,POS_FACEUP,REASON_EFFECT)==0 then return end
local g1=Duel.GetMatchingGroup(aux.NecroValleyFilter(c9910554.rmfilter),tp,LOCATION_GRAVE,0,nil) local g1=Duel.GetMatchingGroup(aux.NecroValleyFilter(c9910554.rmfilter),tp,LOCATION_GRAVE,0,nil)
if g1:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(9910554,1)) then if g1:GetCount()>1 and Duel.SelectYesNo(tp,aux.Stringid(9910554,1)) then
Duel.BreakEffect() Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local sg1=g1:Select(tp,1,1,nil) local sg1=g1:Select(tp,2,2,nil)
if Duel.Remove(sg1,POS_FACEUP,REASON_EFFECT)==0 then return end if Duel.Remove(sg1,POS_FACEUP,REASON_EFFECT)==0 then return end
local ct=Duel.GetMatchingGroupCount(Card.IsFaceup,tp,LOCATION_REMOVED,LOCATION_REMOVED,nil) local ct=Duel.GetMatchingGroupCount(Card.IsFaceup,tp,LOCATION_REMOVED,LOCATION_REMOVED,nil)
Duel.Recover(tp,ct*500,REASON_EFFECT) Duel.Recover(tp,ct*500,REASON_EFFECT)
......
...@@ -6,6 +6,7 @@ function c9910558.initial_effect(c) ...@@ -6,6 +6,7 @@ function c9910558.initial_effect(c)
e1:SetCode(EFFECT_SPSUMMON_PROC) e1:SetCode(EFFECT_SPSUMMON_PROC)
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE) e1:SetProperty(EFFECT_FLAG_UNCOPYABLE)
e1:SetRange(LOCATION_HAND) e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,9910550+EFFECT_COUNT_CODE_OATH)
e1:SetCondition(c9910558.spcon) e1:SetCondition(c9910558.spcon)
e1:SetOperation(c9910558.spop) e1:SetOperation(c9910558.spop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
...@@ -52,14 +53,11 @@ end ...@@ -52,14 +53,11 @@ end
function c9910558.chtg(e,tp,eg,ep,ev,re,r,rp,chk) function c9910558.chtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsPlayerCanDiscardDeck(tp,3) end if chk==0 then return Duel.IsPlayerCanDiscardDeck(tp,3) end
end end
function c9910558.rmfilter(c)
return c:IsSetCard(0x3951) and c:IsAbleToRemove() and not c:IsCode(9910558)
end
function c9910558.chop(e,tp,eg,ep,ev,re,r,rp) function c9910558.chop(e,tp,eg,ep,ev,re,r,rp)
local g=Group.CreateGroup() local g=Group.CreateGroup()
Duel.ChangeTargetCard(ev,g) Duel.ChangeTargetCard(ev,g)
Duel.ChangeChainOperation(ev,c9910558.repop) Duel.ChangeChainOperation(ev,c9910558.repop)
local g1=Duel.GetMatchingGroup(aux.NecroValleyFilter(c9910558.rmfilter),tp,LOCATION_GRAVE,0,nil) local g1=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,LOCATION_HAND,0,nil)
if g1:GetCount()>0 and Duel.IsPlayerCanDraw(tp,1) and Duel.SelectYesNo(tp,aux.Stringid(9910558,1)) then if g1:GetCount()>0 and Duel.IsPlayerCanDraw(tp,1) and Duel.SelectYesNo(tp,aux.Stringid(9910558,1)) then
Duel.BreakEffect() Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
......
...@@ -226,7 +226,7 @@ ...@@ -226,7 +226,7 @@
!setname 0x9950 韶光 !setname 0x9950 韶光
!setname 0xa950 桃绯 !setname 0xa950 桃绯
!setname 0xc950 远古造物 !setname 0xc950 远古造物
!counter 0x1950 韶光指示物 !counter 0x950 韶光指示物
!counter 0x4950 指示物(比武!) !counter 0x4950 指示物(比武!)
!setname 0x952 战车道 !setname 0x952 战车道
!setname 0x953 幽鬼 !setname 0x953 幽鬼
......
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